|
对16#的azhong123456说两句,仅供参考,我也是小白。
find --ignore-floppies --ignore-cd --set-root /EFI/boot/PE.EFI
chainloader /EFI/boot/EFI/PE.EFI
原因1:第1行的find没有找到或找准pe.efi文件
原因2:第2行的相对路径是错的,改成chainloader /EFI/boot/PE.EFI (和find行一致)
原因3:chainloader /EFI/boot/EFI/PE.EFI使用了相对路径,建议:如果删除第1行(find行),第2行可以使用绝对路径,强烈建议使用绝对路径。如:chainloader (hd0,0)/EFI/boot/PE.EFI,这个(hd0,0)是我举了个例子。具体何况你要自己判断,规则为(gurb4dos的硬盘和分区编号规则:硬盘编号从0开始,分区编号也从0开始,如:hd0,2表示第1硬盘第3分区,但grub2编号规则不同,可以上网搜一下grub2编号规则),搞懂编号规则后,进入grub4dos的命令行模式,输入vol(grub2输入ls),你可以将所有硬盘和U盘的设备编号看的清清楚楚。如:启动本地windows的代码我就只要用1行,
chainloader (hd0,0)/efi/microsoft/boot/bootmgfw.efi或chainloader (hd0)
注意:我感觉grub4dos始终将启动硬盘默认为hd0(不管它实际是第几个sata接口,这和grub2不一样,grub2认定的是实际接口)
原因4(暂不确定):grub4dos for uefi和grub2,我都玩过,发现在玩grub2时,忘记取下大白菜启动U盘,结果grub2无法正常启动,取下U盘,一切正常(感觉大白菜启动U盘会干扰grub2的启动,但大白菜启动U盘不会干扰grub4dos的正常启动。你的U盘会不会干扰,你自己确定一下)
另外:启动WIM/VHD,建议使用方案1(要绝对路径),提前将ntloader解压到esp分区/efi/grub/ext。esp分区/efi/grub/menu.lst中代码如下(本人的,供参考,需要ntloader压缩包,联系邮箱是503074106@qq.com)
title 使用外部命令 ntloader 启动 WIM/VHD (kernel方案1)
uuid (hd0,2)
kernel /efi/grub/ext/ntloader uuid=%?% file=/idbc/10pe64.wim
initrd /efi/grub/ext/initrd.lz1 |
|