【原创】利用Clover来实现expresscard nvme下安装Linux并启动
最近坛子里大神纷纷出动,制造了新一代的廉价Expresscard的NVME转接器,加上某多多经常做活动2230的256G才52元,非常适合制作随身引导盘。NVME的Clover启动Windows已经是烂大街的方案,非常简单用WinSetup安装系统之后,随便找个Clover,我选择的是2082版本,将driver-off目录下的driver64目录下的NvmexpressDxe-64.efi拷贝到Clover目录下的Driver64目录下即可。
然后修改config.list,设置一下boot节,把默认卷标设为EFI,默认引导文件是bootmgfw.efi,即可引导windows。如果不修改config.list也能出现引导windows菜单,无非就是选择一下。如果需要自动进入Windows,才需要改配置,如果懒得改的人,也可以查本论坛我4年前的文章。
以前研究Clover并不多,也一直能够启动Linux,本来以为Linux启动也是很easy的,结果偶然看到大神imdx说安装不了,启动失败,因为不认ext4分区,我大惑不解,正好最近开发Linux程序,所以就尝试在我的X201上安装一个国产系统OpenKylin,其余Linux大同小异。
本帖最后由 wj321 于 2023-8-31 10:16 编辑
安装非常简单,从官网网上下载ISO,用rufus制作成可引导U盘,然后用Clover引导U盘中OpenKylin,切记一定要用Clover引导U盘中OpenKylin,只有这样X201才能进入UEFI安装模式,才能对NVME进行操作,X220可以直接选择UEFI引导U盘,但是我的X201太古老不支持UEFI,所以必须要用Clover引导U盘中OpenKylin。
引导后就可以选择安装,跟Ubuntu一样的安装模式,自定义安装,然后选择一个根分区,一个交换分区,安装引导目录选择NVME的EFI分区(其实没有必要,因为引导根本安装不上去),然后下一步下一步,安装完成就OK了。
安装完成之后,重启系统,Clover居然没有像以前那样出现Linux启动项,于是研究开始了。经过半天研究,终于找到解决方案。
在Clover的U盘上,EFI目录下新建一个openkylin目录,然后再次用u盘启动,选择试用但不安装,启动后加载刚安装好的ext4 Linux分区,找到boot目录,将initrd.img-5.15.0-23-generic,vmlinuz-5.15.0-23-generic,initrd.img-6.1.0-3-generic,vmlinuz-6.1.0-3-generic拷贝到U盘点EFI/openkylix下,然后启动U盘。选择Boot UEFI intelnal From EFI选项引导,会自动进入一个Grub的命令行界面
在界面里面敲入ls,显示nvme的分区,寻找linux的ext4分区,我这里是hd2,gpt4,所以使用ls (hd2,gpt4),显示了linux分区的uuid,请记下这个uuid,引导要用到。
然后可以测试引导,ls(hd2,gpt4)/ ,可以看到罗列的Linux分区的文件结构,说明clover是支持Linux的ext4分区的,那么我们只要加载核心就能引导linux了
下面可以启动Linux了
https://www.ibmnb.com/forum.php?mod=image&aid=3213725&size=300x300&key=fea4c43a482ccc37&nocache=yes&type=fixnone
如图,在Grub下,敲入
linux (hd2,gpt4)/boot/vmlinuz-5.15.0-23-generic root=UUID=330fdbbf-a0f1-4511-bd5a-f0ed49d38928
initrd (hd2,gpt4)/boot/initrd.img-5.15.0-23-generic
boot
就可以进入Linux了
如图
https://www.ibmnb.com/forum.php?mod=image&aid=3213726&size=300x300&key=c0c92ca50dbc4bc7&nocache=yes&type=fixnonehttps://www.ibmnb.com/forum.php?mod=image&aid=3213727&size=300x300&key=3a83fff4f1b67af1&nocache=yes&type=fixnone
现在我们能够启动Linux了,但是还是没有Clover菜单,启动每次都需要选择Boot UEFI intelnal From EFI,然后敲入上述命令行引导,那不是累死
所以我们必须修改Clover的配置文件config.plist来新增菜单
由于我学识浅薄,虽然Clover是认Ext4和FAT,NTFS分区的,但是如何在config.plist中调用非Clover的U盘路径我不会,原以为Windows是调用系统EFI,Boot UEFI intelnal From EFI也是调用系统EFI,能识别NVME的分区路径,但是后来发现Clover针对Windows进行了优化,不用描述全路径,全路径在Clover里面如何描述我不会,希望会的看官,帮我留言学习。
既然不会写路径,于是我就把将initrd.img-5.15.0-23-generic,vmlinuz-5.15.0-23-generic,initrd.img-6.1.0-3-generic,vmlinuz-6.1.0-3-generic拷贝到Clover的U盘点EFI/openkylix下
然后对config.plist的GUI节新增一个菜单
<key>Custom</key>
<dict>
<key>Entries</key>
<array>
<dict>
<key>Disabled</key>
<false/>
<key>Hidden</key>
<false/>
<key>Title</key>
<string>Kylin5.15</string>
<key>FullTitle</key>
<string>OpenKylin5.15</string>
<key>Arguments</key>
<string>initrd=/efi/openkylin/initrd.img-5.15.0-23-generic root=UUID=330fdbbf-a0f1-4511-bd5a-f0ed49d38928</string>
<key>Path</key>
<string>\efi\openkylin\vmlinuz-5.15.0-23-generic</string>
<key>Image</key>
<string>\EFI\CLOVER\themes\metal\icons\os_linux.icns</string>
<key>Type</key>
<string>Linux</string>
</dict>
<dict>
<key>Disabled</key>
<false/>
<key>Hidden</key>
<false/>
<key>Title</key>
<string>Kylin6.1</string>
<key>FullTitle</key>
<string>OpenKylin6.1</string>
<key>Arguments</key>
<string>initrd=/efi/openkylin/initrd.img-6.1.0-3-generic root=UUID=330fdbbf-a0f1-4511-bd5a-f0ed49d38928</string>
<key>Path</key>
<string>\efi\openkylin\vmlinuz-6.1.0-3-generic</string>
<key>Image</key>
<string>phoenix</string>
<key>Type</key>
<string>Linux</string>
</dict>
</array>
</dict>
保存重启后Linux引导界面就出来了,选择openkylin后,敲入空格,选择run,再敲入回车即可引导Linux
https://www.ibmnb.com/forum.php?mod=image&aid=3213728&size=300x300&key=4727eeaf7bb7d85c&nocache=yes&type=fixnone
上面参数解释一下
新增GUI的引导界面后,Custom->Entries节里面,将Grub的配置命令行敲入到图形界面即可,改好的config.plist在这里,里面设置了5秒Windows默认启动
大家只要修改UUID即可使用
config.plist
好想法,x230的bios默认不支持nvme启动,不过可以在sata盘上装clover,然后clover有nvme驱动,通过sata盘上的clover去引导nvme上的系统,妙啊
让我想到了我以前的老本子,不支持UEFI,就是安装Clover,然后通过Clover引导UEFI的windows,异曲同工之妙,Clover真的万金油哈哈哈 说一下ExpressCard的NVMe硬盘装Linux的几个坑吧,仅供参考:
1)Clover有NVMe驱动,但是只识别FAT32分区,不识别EXT4分区,EFI分区都是FAT32的这个不是问题,但是新一点的Linux系统存放内核和根文件系统的/boot分区都是EXT4了,我看了下是为了使用符号链接支持不同版本的内核,这个显然是FAT32分区无法提供的,早期Linux确实/boot分区是FAT32格式的。
2)Clover引导直接安装Linux到NVMe盘,死机,原因不明。
3)Linux下面的SATA盘、NVMe盘的硬件名称不同,放到硬盘盒里装好的系统,再放到ExpressCard卡中启动后死机。
ExpressCard装Linux可以折腾,然而太麻烦了,最省心的方法还是做一个安安静静的数据盘。
最后附上ExpressCard接口的NVMe转接卡,真正的物美价廉,所有具备ExpressCard接口的老笔记本都应该搞一个。
https://m.tb.cn/h.5eXBdfn?tk=CwDvdCS6aZo
imdx 发表于 2023-8-31 08:24
说一下ExpressCard的NVMe硬盘装Linux的几个坑吧,仅供参考:
1)Clover有NVMe驱动,但是只识别FAT32分区, ...
感谢大神的无私研究,否则就不会有这么方便的随身系统了,特别是国产系统,引导安装配置环境不是一个简单的事情,现在可以随身带了,感谢感谢。
Linux早就是Ext4了,所以Clover默认支持,不用怀疑,看我全文就知道,在完全没有任何文件帮助下,也可以通过Boot UEFI internal from EFI引导刚装好的Ubuntu或者Deepin等系统,不过不能自动,需要手敲。
因为NVME是GPT分区,所以必须要Clover引导U盘里面的ubuntu安装盘才能安装,这样最贴近UEFI的安装环境,千万不用用MBR引导Ubuntu安装盘来安装,各种奇葩问题。只要安装完成,剩下的步骤按照我文章上说的做就行了,很easy的。
当然完全不知道装系统的小白别尝试,玩Linux的人本身就需要一定功底,选择了Linux就是选择了学会研究问题解决问题的道路,不能像Windows那样可以拿来直接用的,毕竟Linux就是给人折腾的。 刚才看到W530的NVME装Linux的文章https://zhuanlan.zhihu.com/p/460090952
还有装deepin的文章https://blog.csdn.net/weixin_29626189/article/details/112031738
才知道Clover针对Ubuntu做了神秘加成,EFI目录中其余系统的grubX86.efi都不认,只认Ubuntu目录下的,而且发现EFI有ubuntu还会自动出现菜单。不过我装的openkylin还是需要自定义菜单,否则无法引导 虽然看不懂,但我还是认真看完了:-| 如果用Clover优盘实现nvme启动,这个优盘要一直插在电脑的USB接口上。
有没有考虑过用编程器把插入nvme模块的BIOS文件直接刷入?台式机上成功的例子非常多。 xiaochen000000 发表于 2023-9-2 19:06
如果用Clover优盘实现nvme启动,这个优盘要一直插在电脑的USB接口上。
有没有考虑过用编程器把插入nvme模块 ...
楼上大神已经将Expresscard的USB引出可以焊接一个黑胶U盘了,X200-X201之类的计算机还支持SD卡引导,其实也不是一个大事。笔记本的BIOS空间很小,不能刷入,主板能刷的其实也不多,另外U盘引导也安全,拔掉别人就用不了你计算机了,丷 imdx 发表于 2023-8-31 08:24
说一下ExpressCard的NVMe硬盘装Linux的几个坑吧,仅供参考:
1)Clover有NVMe驱动,但是只识别FAT32分区, ...
能否分享一下x201可以用的clover包,我的怎么也不识别系统和硬盘呢,nvme和ssd都不识别。 本帖最后由 Final_P 于 2023-11-6 23:44 编辑
试了一下,ubuntu 18.04没法创建efi分区,改用22.04之后成功使用clover引导ubuntu启动到login界面并正常使用,不错~
oc 0.7.9这边就暂时不行,提示参数有错误,虽然有NvmExpressDxe.efi加持 Final_P 发表于 2023-11-6 23:41
试了一下,ubuntu 18.04没法创建efi分区,改用22.04之后成功使用clover引导ubuntu启动到login界面并正常使 ...
18.04是可以的,我就用18.04执行的clover引导,安装不上EFI没啥关系,安装完成照我方法直接把核心文件copy到Clover的EFI,然后改命令行一样的。 ebao1211 发表于 2023-10-17 07:39
能否分享一下x201可以用的clover包,我的怎么也不识别系统和硬盘呢,nvme和ssd都不识别。 ...
把G:\EFI\CLOVER\drivers\off的文件NvmExpressDxe.efi复制到G:\EFI\CLOVER\drivers\BIOS,然后重启计算机。
就能识别NVME分区了,Clover太大,论坛传不上来,你可以自行找版本,基本都一样的,有问题可以私信我 wj321 发表于 2023-11-7 11:20
把G:\EFI\CLOVER\drivers\off的文件NvmExpressDxe.efi复制到G:\EFI\CLOVER\drivers\BIOS,然后重启计算机 ...
已经搞定,谢谢。 理论上能引导苹果系统,应该也是可以引导Linux的。
页:
[1]