2012sillian 发表于 2015-4-22 22:40:02

如何实现从GPT磁盘的ESP分区有效启动GRUB4DOS,请大师帮忙

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?mod=viewthread&tid=337386&highlight=BIOS%B7%BD%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

hgh1974 发表于 2015-4-23 10:49:04

应该是死胡同,EFI只支持64位PE,VHD。目前主板一般支持兼容模式,不用转来转去。

一往情深 发表于 2015-4-23 12:14:00

那种grub2能启动grub4dos的应该是传统引导的

一往情深 发表于 2015-4-23 12:14:55

grub4dos是直接硬件的,在UEFI上不能用
页: [1]
查看完整版本: 如何实现从GPT磁盘的ESP分区有效启动GRUB4DOS,请大师帮忙