|
感谢各位的回复,我是通过vm虚拟机测试的,uefi模式的两个硬盘,第一个硬盘是windows,第二个是deepin,通过测试,xorbootu和grub4dos uefi,这两个作为引导,引导文件放置在第一块硬盘的efi分区,去启动第二块硬盘esp分区上的efi文件都无法启动
这是menu.lst的内容
timeout 15
default 0
graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
font --font-high=16 /efi/grub/menu16.hex
title 启动Windows
find --set-root /efi/microsoft/boot/bootmgfw.efi
chainloader /efi/microsoft/boot/bootmgfw.efi
title 启动Deepin
find --set-root /efi/deepin/grubx64.efi
chainloader /efi/deepin/grubx64.efi
title 关机
halt
title 重启
reboot
这样启动deepin,就会提示找不到文件,无法启动
又试了一下grub2 file manager也只能显示第一块硬盘,第二块不显示
后来看到了这个帖子
http://wuyou.net/forum.php?mod=viewthread&tid=427925
找到了解决方案,就是定制grub4dos uefi的BOOTX64.efi,让他加载NvmExpressDxe.efi驱动
我是按照第二种方法,下载了最新的grub4dos uefi,进行制作,nvme驱动没有帖子里提供的,用的clover里的驱动文件
最终/efi/grub/目录如下
bootx64.efi是引导文件
menu.lst内容如下
timeout 15
default 0
graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
font --font-high=16 /efi/grub/menu16.hex
title 启动Windows
find --set-root /efi/microsoft/boot/bootmgfw.efi
chainloader /efi/microsoft/boot/bootmgfw.efi
title 启动Deepin
find --set-root /efi/deepin/grubx64.efi
chainloader /efi/deepin/grubx64.efi
title 启动grubfm
find --set-root /efi/grubfm/grubfmx64.efi
chainloader /efi/grubfm/grubfmx64.efi
title 启动xorboot
find --set-root /efi/xorboot/bootx64.efi
chainloader /efi/xorboot/bootx64.efi
title 关机
halt
title 重启
reboot
G4DEX64.EFI是加载了NvmExpressDxe.efi驱动
通过G4DEX64.EFI,去启动第二块硬盘上的efi文件就可以正常启动了
通过G4DEX64.EFI,去加载xorbootu的bootx64.efi,也可以正常启动第二块硬盘了
通过G4DEX64.EFI,去加载grubfmx64.efi,也可以正常显示第二块硬盘了 |
|