jebbs 发表于 2014-12-8 19:12:23

GURB2 UEFI环境如何引导光盘上的非镜像PE系统

本帖最后由 jebbs 于 2014-12-10 11:17 编辑

我最近将自己的启动光盘迁移到GRUB2方案,做成BIOS和UEFI双启的方案。所有的难题都啃下来了,只剩下无法在UEFI环境下,GRUB2-->CHAINLOADER-->BOOTX64.EFI(WIN,在光盘中)。

先介绍下我的方案:
一个光盘中集成三个主要工具,分别是WIN8PE32、WIN8PE64和Parted Magic。预期是三者在BIOS和UEFI方案下都能正常启动。
目前Parted Magic是OK的,唯一PE有问题,就卡在上面那条路上。我个人的理解是,EFI环境一定要FAT格式,而BOOTX64.EFI在光盘中,不是FAT,因而CHAINLOADER是不成功的,无论是有没有载入文件系统支持的模块。
目前感觉唯一可行的方案只能是MEMDISK了,但一是费内存,二是32和64之前不能共用外置了,都不是好办法。
不知道哪位大神对此有研究,有解决办法的?先在此谢过!


最新测试:我将微软的BOOTX64.EFI改名PE.EFI,放在efisys.bin中,loopback了也不能加载(此时GRUB的EFI是可以chainloader的)。原因可能是PE.efi访问不了Loop,也可能是其他未知问题

已解决,解决办法参见13楼和18楼,感谢2012hxwgz!

2011niumao 发表于 2014-12-8 19:38:34

本帖最后由 2011niumao 于 2014-12-8 20:32 编辑

我制作的的一个 小grub通用启动器-2014-12-06,可以参考.
汇集了 grub4ods grub2-pc grub2-efi(x86_64) grubia32-efi几种启动方式.
主要是引导UBUNTU系统.对于Windows 以及WINPE 还没有什么经验.
http://pan.baidu.com/s/1hqopezq

jebbs 发表于 2014-12-9 09:01:57

2011niumao 发表于 2014-12-8 19:38
我制作的的一个 小grub通用启动器-2014-12-06,可以参考.
汇集了 grub4ods grub2-pc grub2-efi(x86_64) gru ...

谢谢,有些高级语句,学到了。
我在想是不是能MAP一个PE启动文件的FAT磁盘镜像,再chainloader到镜像中,再启动回CD。不知这个方案可行不

my9823 发表于 2014-12-9 09:31:03

loopback loop1 winpe.img chainloader (loop1)+1 boot 试一下,没用过!

my9823 发表于 2014-12-9 09:38:26

不好意思,手机发帖没办法换行!如果不可以,就 insmod ntldr ntldr (loop1)/ntldr(第二个ntldr可以是其他pe启动文件。 先说好,没实验,不知道进去实模式后会消失么。

jebbs 发表于 2014-12-9 09:54:22

my9823 发表于 2014-12-9 09:38
不好意思,手机发帖没办法换行!如果不可以,就 insmod ntldr ntldr (loop1)/ntldr(第二个ntldr可以是其 ...

谢谢。GRUB2的BIOS下PE启动成功的哦,现在的问题是限定在UEFI模式下,因此肯定是chainloader *.efi,ntldr没用的哦。
loopback试过了,GRUB2里认loop,chainloader 后面的efi认不到,也启动不了

jebbs 发表于 2014-12-9 09:58:00

本帖最后由 jebbs 于 2014-12-9 09:59 编辑

现在的问题就转化为,ISO文件里有 bootx64.efi, bcd,win8pe.wim,如果是 纯 uefi 引导盘,这样就足够了,但中间插了个GRUB2,不知道怎么转过去

PS,纯UEFI下,bootx64.efi可能是在EFI镜像里的

2011niumao 发表于 2014-12-9 10:17:34

本帖最后由 2011niumao 于 2014-12-9 11:06 编辑

jebbs 发表于 2014-12-9 09:58
现在的问题就转化为,ISO文件里有 bootx64.efi, bcd,win8pe.wim,如果是 纯 uefi 引导盘,这样就足够了,但 ...

我把ISO文件解开到VHD上使用VBOX测试,可以使用grub2-efi,chainloader 方式启动到WINPE的那个bootx64.efi.
接着我把他们做成ISO,结果就不能由grubx64.efi引导bootx64.efi了。
报错说是 BCD 文件有错。

可以推测如果是做启动优盘,解开就可以。但是如果是做启动光盘不行。
而且这个错误很奇怪,不是说不能引导bootx64.efi(WINPE的),是说BCD有错。
也许是WINPE的系统内的问题吧。或者说调整一下WINPE的注册表是不是就行呢。

是 0xc000000e错误。很常见的.百度中.....

my9823 发表于 2014-12-9 10:28:28

这个板块不是有个grub2全内置的efi吗,你可以用它做bootx64.efi

my9823 发表于 2014-12-9 10:29:24

俺们还是7-8年前的电脑,没办法折腾uefi
页: [1] 2 3 4
查看完整版本: GURB2 UEFI环境如何引导光盘上的非镜像PE系统