|
1、很早就有这个想法:即从GPT磁盘ESP分区的EFI启动MBR磁盘的GRUB4DOS,但了解到GRUB4DOS不支持EFI后又放弃了这个念头。
2、最近又开始折腾这个了,因为从网上看到有些朋友似乎成功的实现了这个功能,我的希望是:
EFI菜单启动grub2.efi,grub2.efi启动ESP分区中的GRLDR,再从ESP分区中的GRLDR转入到MBR分区的GRLDR等菜单(或直接能完成相关引导功能) 来实现所有GRUB4DOS引导功能。
3、当前的情况: 已通过GRUB2.EFI 成功启动GRUB.EXE内置的GRLDR菜单,但是菜单中的项目均不能有效启动,显示的问题似乎都是找不到文件或磁盘(file no found/ disk no exist)
4、我猜测问题应该是:菜单不能有效指定到相应分区即分区编号,瞎猜的。本人完全菜鸟,差不多只会拿来使用,最多也就是参考复制或修改。
5、我的ESP分区中已经放入了所有相关GRUB4DOS文件,在/ESP/BOOT/GRUB/,还有一些实用的NTBOOT、SISO、VBOOT等,ESP分区只有99M,所以没有办法放大的系统文件。
6、参考了以下贴子:
http://my.oschina.net/chenzhiqiang/blog/209618
http://bbs.wuyou.net/forum.php?m ... D%CA%BD%D2%FD%B5%BC
7、请大师帮忙提供方案,是菜单的问题还是方法不对,如果是菜单的问题,是否有批处理的方法可解决呢?请指教,万分感谢!
8、 我的内置菜单内容:
terminal console
graphicsmode -1 100:1000 100:1000 24:32
default 0
timeout 5
color 11 12 13 14
debug off
write 0x8274 0x2e01
font > nul
font (hd0,1)/boot/grub/unifont.hex > nul
command --set-path=(hd0,1)/BOOT/GRUB
title G4D启动XP
find --set-root /XP.VHD
map /XP.VHD (hd0)
map --hook
root (hd0,0)
chainloader /ntldr
title 启动-WIN8PE
if not exist /BOOT/GRUB/RUN find --set-root --devices=chpu /BOOT/GRUB/RUN
command RUN /PE/WIN8PE.ISO
title 启动-XP.VHD
command SISO NTBOOT VBOOT=/XP.vhd
title 启动-2003.VHD (GPT分区)
set pntboot=/boot/ntboot/ntboot
find --set-root --devices=h %pntboot%
set pntroot=%@root%
find --set-root --devices=h /3.vhd
%pntroot%%pntboot% vboot=/3.vhd
boot
title 启动-WIN8 (无BCD)
set sysdsk=(hd1,2)
set pntboot=/boot/ntboot/ntboot
find --set-root --devices=h %pntboot%
%pntboot% nt6=%sysdsk%
boot
title 启动-WIN8 (加载BCD)
find --set-root /bootmgr
chainloader /bootmgr
boot
title 搜索-本地所有系统
command /BOOT/GRUB/SISO boot=hd
title 搜索-本地所有VHD系统
# ntboot文件夹+ filelist.lst+ slt_boot_file_accept.lst+ slt_boot_file_cmd.lst
filelist.lst cmd="slt_boot_file_cmd.lst %1" ext=".vhdx .vhd" devs="--devices=h" subdir=2
boot
title 转入下级菜单
find --set-root /MY-LST/keep.lst
configfile /MY-LST/keep.lst
boot
title 重启
reboot
title 关机
halt |
|