无忧启动论坛

标题: UEFI启动grub2引导win PE_2017.7.9—含自动判断 IA32/X64,选择显示 BCD 菜单模板 [打印本页]

作者: lintrainwy    时间: 2017-2-18 20:02
标题: UEFI启动grub2引导win PE_2017.7.9—含自动判断 IA32/X64,选择显示 BCD 菜单模板
本帖最后由 comzhongwy 于 2017-7-9 00:07 编辑

这是较早的帖子
http://nonameteam.cc/thread-1914-1-1.html

目录
一、bootmgfw.efi 文件加载流程

二、Grub2 --> bootmgfw.efi 文件加载流程

三、U盘 UEFI 启动,x86 与 x64 PE 独立菜单模板


==========================================
一、bootmgfw.efi 文件加载流程

        UEFI启动时,若以Windows Boot Manager为默认
引导,文件加载流程如下图所示,其中:
\EFI\boot\bootx64.efi 由 \EFI\microsoft\boot\bootmgfw.efi 改文件名而来\EFI\boot\zh-CN\bootx64.efi.mui 由 \EFI\microsoft\boot\zh-CN\bootmgfw.efi.mui  改文件名而来



         也就是说,Windows Boot Manager引导如果是UEFI默认启动的 \EFI\boot\bootx64.efi ,则会加载 \EFI\microsoft\boot\BCD 菜单配置。

=================================================
二、Grub2 --> bootmgfw.efi 文件加载流程


          UEFI启动时,若以Grub2为默认引导,再去引导Windows Boot Manager引导的 的bootmgfw.efi ,则会加载与 bootmgfw.efi 同目录的 BCD 菜单配置,而这个msboot文件夹的名字可以随意改成别的,也可以将这个msboot文件夹复制多份,每一份BCD 菜单配置中只保留一个PE启动项,来达到在Grub2中一次选择启动不同的PE的效果

         图中有些文件还可以精简,比如不需要显示 BCD 菜单的话,连字体文件和语言文件都可以不要,最少只需保留 bootmgfw.efi 和BCD文件,对了,启动wim镜像需要boot.sdi文件。

        若有安装了多个Windows系统而用grub2作为默认引导的也可以用此法。

===========================================
三、U盘/硬盘 UEFI 启动,x86 与 x64 PE 独立菜单模板

      自动判断 IA32/X64,选择显示 BCD 菜单。

     存在问题:不能用于光盘镜像,光盘镜像中,grub2 无法启动 bootmgrfw.efi 原因不明。暂没有试验其它引导替换grub2 。

EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64.part01.rar (1 MB, 下载次数: 1487)
EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64.part02.rar (1 MB, 下载次数: 1343)
EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64.part03.rar (1 MB, 下载次数: 1324)
EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64.part04.rar (1 MB, 下载次数: 1463)
EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64.part05.rar (1 MB, 下载次数: 1195)
EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64.part06.rar (850.79 KB, 下载次数: 1109)
作者: 2011npwjm    时间: 2017-2-19 07:53
清晰明了,谢谢楼主的分享
作者: wintoflash    时间: 2017-2-19 09:05
楼主研究一下wimboot吧,支持uefi下直接启动wim镜像。
http://ipxe.org/wimboot
作者: wsgdmzr    时间: 2017-2-20 08:52
请问大神,光盘下的GRUB2能这样处理吗?我试着这样处理却无论如何都启动不了,不知我错在那里了。
作者: sea2moon    时间: 2017-2-20 09:09
学习了,谢谢分享

作者: rkr077    时间: 2017-2-20 20:08
wsgdmzr 发表于 2017-2-20 08:52
请问大神,光盘下的GRUB2能这样处理吗?我试着这样处理却无论如何都启动不了,不知我错在那里了。

需要往光盘ISO添加EFI轨道,因为EFI默认只能识别FAT文件系统,而光盘是UDF
作者: lintrainwy    时间: 2017-2-21 01:36
wsgdmzr 发表于 2017-2-20 08:52
请问大神,光盘下的GRUB2能这样处理吗?我试着这样处理却无论如何都启动不了,不知我错在那里了。

你也许需要这个

制作BIOS+UEFI启动ISO镜像 阿弥陀佛PE工具箱V2.0
http://www.upantool.com/iso/2014/5173.html
作者: ChinToy    时间: 2017-3-1 01:28
值得学习学习谢谢你的分享
作者: wsgdmzr    时间: 2017-3-1 20:08
comzhongwy 发表于 2017-2-21 01:36
你也许需要这个

制作BIOS+UEFI启动ISO镜像 阿弥陀佛PE工具箱V2.0

谢谢大神,GRUB2光盘启动的话你的方法不适合。
作者: rgy    时间: 2017-3-1 20:55
wsgdmzr 发表于 2017-2-20 08:52
请问大神,光盘下的GRUB2能这样处理吗?我试着这样处理却无论如何都启动不了,不知我错在那里了。

你的GRUB2三启PE合盘里不就用光盘下的GRUB2启动了PE吗?
过程:
uefiboot->gurb2.efi->efi shell.efi->cdboot.efi->bootmgr.efi->BCD
我自己试了
uefiboot->gurb2.efi->efi shell.efi->bootmgfw.efi ->BCD
似乎也行
作者: wintoflash    时间: 2017-3-1 21:05
rgy 发表于 2017-3-1 20:55
你的GRUB2三启PE合盘里不就用光盘下的GRUB2启动了PE吗?
过程:
uefiboot->gurb2.efi->efi shell.efi-> ...

必须要用efi shell中转一下吗?
作者: wsgdmzr    时间: 2017-3-1 21:18
wintoflash 发表于 2017-3-1 21:05
必须要用efi shell中转一下吗?

W大,目前好像还没找到更直接的方法,中间必须隔着shell才行。
作者: wsgdmzr    时间: 2017-3-1 21:20
rgy 发表于 2017-3-1 20:55
你的GRUB2三启PE合盘里不就用光盘下的GRUB2启动了PE吗?
过程:
uefiboot->gurb2.efi->efi shell.efi-> ...

是的,直接启动不了,所以我第二个合盘用了refind,这个才是真正的跨系统引导和加载。
作者: wintoflash    时间: 2017-3-1 21:39
wsgdmzr 发表于 2017-3-1 21:20
是的,直接启动不了,所以我第二个合盘用了refind,这个才是真正的跨系统引导和加载。

恩,grub2启动本地硬盘上的Windows是可以的,启动光盘上的PE好像就找不到BCD文件。
refind就是efi shell套了个壳,chainloading efi文件是没有任何问题的,启动Linux内核就欠缺一些,只能加载efi stub的内核。grub与它相反,启动Linux完全没问题,但是chainloading efi文件功能是自己实现的,bug特多。
作者: rgy    时间: 2017-3-1 21:45
本帖最后由 rgy 于 2017-3-1 21:49 编辑
wintoflash 发表于 2017-3-1 21:05
必须要用efi shell中转一下吗?


W大可以研究下啊,我用gurb2去chainloader  光盘启动文件efisys.bin内根目录下的cdboot.efi文件gurb2说找不到文件,chainloader 光盘内\EFI\microsoft\boot\bootmgfw.efi文件后直接是没反应,小白一个,没招了.
作者: wintoflash    时间: 2017-3-1 22:21
rgy 发表于 2017-3-1 21:45
W大可以研究下啊,我用gurb2去chainloader  光盘启动文件efisys.bin内根目录下的cdboot.efi文件gurb2说 ...

光盘是在grub里面用loopback挂载的吗?
作者: 青青草    时间: 2017-3-2 00:02
看贴是一种态度,回帖是一种美德。
作者: wsgdmzr    时间: 2017-3-2 08:31
本帖最后由 wsgdmzr 于 2017-3-2 08:36 编辑
wintoflash 发表于 2017-3-1 21:39
恩,grub2启动本地硬盘上的Windows是可以的,启动光盘上的PE好像就找不到BCD文件。
refind就是efi shell ...


所以我现在做的光盘合盘放了两套.efi,一个是Windows的EFI,一个是GRUB2的EFI,Windows的EFI加载BCD来启动PE,
GRUB2的EFI专门启动LINUX,因为GRUB2启动PE在某些主板上还是会花屏。不知我的想法会不会多余。



W大,有什么建议指点下,谢谢。
作者: wintoflash    时间: 2017-3-2 08:41
本帖最后由 wintoflash 于 2017-3-2 08:43 编辑
wsgdmzr 发表于 2017-3-2 08:31
所以我现在做的光盘合盘放了两套.efi,一个是Windows的EFI,一个是GRUB2的EFI,Windows的EFI加载BCD来启动 ...


grub2启动pe花屏的话,试试set gfxpayload=keep;export gfxpyload
用grub2->refind->windows的话会不会花屏?

作者: wsgdmzr    时间: 2017-3-2 08:45
wintoflash 发表于 2017-3-2 08:41
grub2启动pe花屏的话,试试set gfxpayload=keep;export gfxpyload
用grub2->refind->windows的话会不 ...

谢谢W大,我去试试。
作者: 窄口牛    时间: 2017-3-2 08:47
efi下不花屏吧,我遇到都是legacy下花屏。
作者: wintoflash    时间: 2017-3-2 08:48
窄口牛 发表于 2017-3-2 08:47
efi下不花屏吧,我遇到都是legacy下花屏。

legacy下还是别用grub 2了,不如grub4dos
作者: 窄口牛    时间: 2017-3-2 08:54
g4d不熟悉,不想研究多一个。portues更新了啥?
作者: rgy    时间: 2017-3-2 10:05
wintoflash 发表于 2017-3-1 22:21
光盘是在grub里面用loopback挂载的吗?

没有用loopback挂载,都是在一个ISO文件里的。
作者: lintrainwy    时间: 2017-3-3 09:41
窄口牛 发表于 2017-3-2 08:47
efi下不花屏吧,我遇到都是legacy下花屏。

不应该花屏,是你什么地方有问题吧
作者: 窄口牛    时间: 2017-3-3 11:55
打包成混合光盘ISO,把bcd放到img里面。
作者: 青青草    时间: 2017-3-3 18:41
看贴是一种态度,回帖是一种美德。
作者: leexuben    时间: 2017-4-16 20:36
wsgdmzr 发表于 2017-3-2 08:31
所以我现在做的光盘合盘放了两套.efi,一个是Windows的EFI,一个是GRUB2的EFI,Windows的EFI加载BCD来启动 ...

会花屏,我的电脑就会,也不是每次
作者: wintoflash    时间: 2017-4-16 20:42
leexuben 发表于 2017-4-16 20:36
会花屏,我的电脑就会,也不是每次

如果花屏,试一试set gfxpayload=keep
作者: rkr077    时间: 2017-4-16 21:30
不知为什么用硬盘的EFI GRUB2 chainloader bootmgfw.efi就没问题,用Ubuntu安装盘的GRUB2启动bootmgfw.efi会报错?
作者: leexuben    时间: 2017-4-17 09:33
wintoflash 发表于 2017-4-16 20:42
如果花屏,试一试set gfxpayload=keep

好的,谢谢
作者: 123456789op    时间: 2017-6-7 20:22
正在学习EFI启动下了好的模板,慢慢研究
作者: devilma    时间: 2017-6-8 12:52
不错,很详细的说
作者: Wee    时间: 2017-6-21 11:00
请问楼主,在PXE UEFI环境中GRUB2引导安装WindowsPE应该怎么引导?
作者: lintrainwy    时间: 2017-6-21 11:28
Wee 发表于 2017-6-21 11:00
请问楼主,在PXE UEFI环境中GRUB2引导安装WindowsPE应该怎么引导?

先引导bootmgfw.efi ,再通过bootmgfw.efi 去引导PE
作者: Wee    时间: 2017-6-21 11:50
comzhongwy 发表于 2017-6-21 11:28
先引导bootmgfw.efi ,再通过bootmgfw.efi 去引导PE

如何引导bootmgfw.efi?我通过set root方式引导总是提示找不到文件或者路径不可用
作者: lintrainwy    时间: 2017-6-21 12:26
Wee 发表于 2017-6-21 11:50
如何引导bootmgfw.efi?我通过set root方式引导总是提示找不到文件或者路径不可用


PXE UEFI  不用 set root 吧,我没用过PXE UEFI,你可以试试

menuentry "Windows Boot Manager" {
        terminal_output console
        chainloader /efi/Microsoft/boot/bootmgfw.efi
}
作者: Wee    时间: 2017-6-21 14:18
comzhongwy 发表于 2017-6-21 12:26
PXE UEFI  不用 set root 吧,我没用过PXE UEFI,你可以试试

menuentry "Windows Boot Manager" {

你好,我按照你的方法试了一下,它提示can’t load image

menuentry " Install Windows 2012R2" {
        terminal_output console
        chainloader /Image/win2012r2/bootmgr.efi
}

00002.PNG (5.24 KB, 下载次数: 194)

00002.PNG

作者: lintrainwy    时间: 2017-7-8 01:49
增加U盘/硬盘 UEFI 启动,x86 与 x64 PE 独立菜单模板

      自动判断 IA32/X64,选择显示 BCD 菜单。
作者: 青青草    时间: 2017-7-8 17:57
支持一下!
作者: devilma    时间: 2017-7-8 21:36
楼主此次更新了什么了??
作者: 2011itimen    时间: 2017-7-26 00:32
楼主可否整个光盘版的呢?
作者: xmzhqw    时间: 2017-7-26 10:01
学习了,谢谢分享
作者: 青青草    时间: 2017-7-26 17:04
谢谢分享!
作者: xyxb    时间: 2017-7-29 22:08
学习了,谢谢分享
作者: xyxb    时间: 2017-8-7 08:45
很给力,启动说明好!!!
作者: 窄口牛    时间: 2017-8-7 16:38
现在可以完全以grub2为主引导了,不用别的转。
作者: lintrainwy    时间: 2017-8-7 18:39
窄口牛 发表于 2017-8-7 16:38
现在可以完全以grub2为主引导了,不用别的转。

grub2 能直接启动 Windows 了?能直接启动 wim 镜像了?

请赐教
作者: 窄口牛    时间: 2017-8-7 22:26
没明白你的意思?
作者: lintrainwy    时间: 2017-8-8 18:08
窄口牛 发表于 2017-8-7 22:26
没明白你的意思?

      我之所以用 grub2 转 bootmgr ,就是 UEFI 启动,grub2 不能直接启动 Windows ,只能先转到 bootmgr 菜单,再去启动 Windows。
作者: 窄口牛    时间: 2017-8-8 18:17
没毛病。
作者: devilma    时间: 2017-8-16 10:41
更新了?不错!
作者: hh3100    时间: 2017-8-20 14:51
太强大了,好久没来了,支持一下
作者: hongsage    时间: 2017-9-13 21:08
楼主这个太强大了,借鉴这个我终于成功在高端区实现多PE引导了。Grub2实际可以直接引导ntfs格式区域的安装文件,现在是使用解压后的安装源,还没实现iso安装文件的引导,大家有实现的吗?
作者: ge    时间: 2017-9-13 21:33
U2有什么好处?UEFI下各种引导程序都有什么特点?
作者: lm0006    时间: 2017-11-25 21:50
感谢分享了 好文章啊 学习学习
作者: 2012eye    时间: 2018-3-10 21:06
谢谢 谢谢 谢谢 辛苦了
作者: jinke    时间: 2018-4-10 20:33
学习了。。。
作者: wfdm3    时间: 2018-4-13 10:10
结构图清晰明了。谢谢你这样的大神!
作者: devilma    时间: 2018-4-13 10:24
顶下帖子!
作者: ianlcc    时间: 2018-5-18 19:24
引导的流程满清楚的,很棒的教学
现在我刚好遇到要在efi,然后u盘开机直接启动linux
不知道该怎么设定~
作者: wdtx    时间: 2018-5-26 21:18
学习学习,谢谢了。。。
作者: weiminxxx    时间: 2018-8-30 22:38
好资料
作者: wxbxdwq    时间: 2018-9-2 10:26
学习了,感谢楼主
作者: zhuya219    时间: 2018-9-9 22:55
本帖最后由 zhuya219 于 2023-6-29 23:11 编辑

谢谢楼主的分享!!!

作者: tomotto    时间: 2018-10-10 12:50
谢谢楼主的分享!!!
作者: jvvtby    时间: 2018-12-29 12:17
EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64解压的数据怎么制作启动盘
作者: jvvtby    时间: 2018-12-29 16:40
你好,EFI_grub2_to_bootmgrfw.efi_v0.1_ia32_x64下载下来解压到优盘,接下来怎么做成启动盘?谢谢
作者: jinql    时间: 2019-1-8 09:45
W大,目前好像还没找到更直接的方法,中间必须隔着shell才行。
作者: 天天0054    时间: 2019-2-2 13:18

作者: dfdzbcyj    时间: 2019-2-3 11:33
谢谢分享
作者: lxlzxy120    时间: 2019-3-7 22:40
谢谢分享
作者: yellowfin    时间: 2019-4-1 22:43
下载一下.研究研究
作者: csp0227    时间: 2019-7-1 09:13
试试能不能启动
作者: lforl    时间: 2019-7-8 09:33
学习基础知识了,谢谢分享!
作者: 薛定谔的熊猫    时间: 2019-9-15 16:50
感谢,折腾了好几天现在有点眉目了
作者: zyy    时间: 2019-11-21 03:30
谢谢分享 已经下载备用
作者: ma__jjuunn    时间: 2019-11-23 10:36
这个方法很简单,很实用!通过bcd启动WIM PE很方便。
作者: 创新科技2015    时间: 2019-11-23 10:54
很给力!
作者: jxganzhou    时间: 2019-12-14 09:24
UEFI启动grub2
作者: jxganzhou    时间: 2019-12-14 09:25

作者: lisd70    时间: 2020-3-1 13:21
谢谢楼主,学习了
作者: 2012zhiwen    时间: 2020-3-31 17:40
楼主你的思路是  efi环境下用grub2引导winpe,,我想问下,能在efi环境下用win引导加载grub2,然后再启动pe,这样有模板吗。
作者: mxai    时间: 2020-4-20 16:01
谢谢楼主的分享。
作者: zeropoint0110    时间: 2020-5-12 18:33
感谢大佬,学习了
作者: skysky    时间: 2020-7-21 20:12
学习学习,这几天正在研究
作者: frankfeng    时间: 2020-7-22 22:31
大神,下载来研究学习!准备搞一个u盘可以安装windows和linux,并且有dos和efi shell做刷bios用
作者: ghangz    时间: 2020-8-17 08:18
光盘镜像启动模板
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=421395
作者: MC阿虎    时间: 2020-8-17 08:38
打卡学习
作者: hdmhome    时间: 2020-8-22 12:52
顶,路过学习中
作者: fmszkp159    时间: 2020-10-20 14:18
清晰明了,谢谢 辛苦了
作者: ytqxg    时间: 2020-11-2 16:56
要好好研究一下GRUB,搞懂VHDX启动LINUX.
作者: a46350666    时间: 2020-12-13 22:56
来学习了
作者: aswasw1    时间: 2020-12-30 16:32
试试看
作者: lhpxs    时间: 2020-12-30 22:54
高手,你好请问有关第一大点的情况中由WINDOWS BOOT MANAGER来引导的情况下,原来有一个WIN10的VHD的启动选项,一直用开好好的,有一天VHD文件坏了后,删除了这一启动选项后,重新用BOOTICE或EASYBCD添加回去后,在BOOTICE和EASYBCD中是可见的,但在开机时偏偏就是这一项都不可见。而且换了几个盘都如此。请问知道是什么原因吗?
作者: 童心学艺    时间: 2021-1-8 09:01
谢谢楼主的分享
作者: lhpxs    时间: 2021-1-17 07:55
请问高手象VENTOY它里面的EFI及GRUB及VENTOY三个目录下都没有BCD,它的启动顺序是怎样?
作者: 18958925900    时间: 2021-1-28 14:24
楼主思路简洁明了,谢谢。已收藏。
作者: 18958925900    时间: 2021-1-31 19:13
谢谢楼主分享。
作者: 创新科技2015    时间: 2022-3-25 10:15
        很给力!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3