无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 8569|回复: 32

[讨论] 关于UEFI启动器的一个建议

[复制链接]
发表于 2020-11-16 19:40:37 | 显示全部楼层 |阅读模式
本帖最后由 blank007 于 2020-11-16 19:54 编辑

       关于UEFI启动器,在各位大侠的指导下,初步掌握了几种启动器的使用。比如:XorbootU、Grub2等。

       通过学习,知道了微软自己的 bootmgfw.efi 优先调用相同目录下的BCD文件。如果相同目录下没有,则去 /efi/microsoft/boot下寻找BCD文件。
       利用这个特点,我把WePE 2.1 的 x86/x64合在一个优盘了。
       我建立的目录如下:(请看附件)
      
       启动时,用 XorBoot 或者 Grub2 直接调用  /Boot/WinX/x64/Bootmgfw.efi  或 /Boot/WinX/x86/Bootmgfw.efi  ,就可以启动 WePE 的相应版本了。

       说明:

                  Bootmgfw.efi 来自 Win10 安装盘,放在对应的 x64/x86 目录下。
                  WePE 的BCD 文件,如 B64、B32 改名后放入相应目录,用 BootICE 1.3.4 做相应修改,指向对应的 .sdi /.wim 文件。

       最后,说说自己的建议:
                UEFI启动器的开发者们,可否考虑一下,加入与微软类似的启动方式:
                优先调用启动器所在目录下的菜单、配置文件。如没有,再去设定的目录寻找,调用?


snap00005.jpg
发表于 2020-11-16 20:00:31 | 显示全部楼层
本帖最后由 wintoflash 于 2020-11-16 20:03 编辑

grub2 调用哪里的菜单,是否调用菜单,都是用户自定义的。
知道了微软自己的 bootmgfw.efi 优先调用相同目录下的BCD文件。如果相同目录下没有,则去 /efi/microsoft/boot下寻找BCD文件。

bootmgfw.efi在光盘上就不支持这个,造成了一堆麻烦。

点评

大侠不必纠结文字描述,那只是一个笼统的说法。 个人认为,微软的BCD文件就是一个菜单或者配置文件,bootmgfw.efi 优先调用相同目录下的BCD。如果没有,就去预设的地方去找。 据说,XorBoot 的早期版本就是作  详情 回复 发表于 2020-11-16 20:10
回复

使用道具 举报

 楼主| 发表于 2020-11-16 20:10:22 | 显示全部楼层
本帖最后由 blank007 于 2020-11-16 20:13 编辑
wintoflash 发表于 2020-11-16 20:00
grub2 调用哪里的菜单,是否调用菜单,都是用户自定义的。

bootmgfw.efi在光盘上就不支持这个,造成了一 ...

大侠不必纠结文字描述,那只是一个笼统的说法。

个人认为,微软的BCD文件就是一个菜单或者配置文件,bootmgfw.efi 优先调用相同目录下的BCD。如果没有,就去预设的地方去找。

据说,XorBoot 的早期版本就是作类似处理的。到了 0.25 版,就直接设定为 /efi/xorboot/xorboot.xor了


另外, Grub2中,调用 bootmgfw.efi 就一句: chainloader /Boot/WinX/x64/bootmgfw.efi
还有,我用的是比较新的win10安装盘中的文件,在优盘上用的多一些。我试过,光盘上是可以用这个办法的,工具: UltraISO最新版

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=403480 你说把bootmgfw.efi和bcd放光盘里面某个文件夹,用其他loader能启动并找到这个bcd?  详情 回复 发表于 2020-11-16 20:33
回复

使用道具 举报

发表于 2020-11-16 20:33:18 | 显示全部楼层
blank007 发表于 2020-11-16 20:10
大侠不必纠结文字描述,那只是一个笼统的说法。

个人认为,微软的BCD文件就是一个菜单或者配置文件,b ...

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=403480
你说把bootmgfw.efi和bcd放光盘里面某个文件夹,用其他loader能启动并找到这个bcd?

点评

可以的。bootmgfw.efi 和 BCD 就在 /Boot/WinX/x64/ 下,且 /efi 下没有 microsoft 目录。 另外,我制作的是 BIOS/UEFI 双启动光盘,BIOS启动采用 Grub4DOS ,UEFI启动用 XorBoot 、Grub2 都可以。 附上 Ultra  详情 回复 发表于 2020-11-16 20:40
回复

使用道具 举报

 楼主| 发表于 2020-11-16 20:40:13 | 显示全部楼层
wintoflash 发表于 2020-11-16 20:33
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=403480
你说把bootmgfw.efi和bcd放光盘里面某个文 ...

可以的。bootmgfw.efi 和 BCD 就在 /Boot/WinX/x64/ 下,且 /efi 下没有 microsoft 目录。

另外,我制作的是 BIOS/UEFI 双启动光盘,BIOS启动采用 Grub4DOS ,UEFI启动用 XorBoot 、Grub2 都可以。

附上 UltraISO 光盘参数:
snap00006.jpg

点评

iso发上来看一下?  详情 回复 发表于 2020-11-16 20:50
回复

使用道具 举报

发表于 2020-11-16 20:50:46 | 显示全部楼层
blank007 发表于 2020-11-16 20:40
可以的。bootmgfw.efi 和 BCD 就在 /Boot/WinX/x64/ 下,且 /efi 下没有 microsoft 目录。

另外,我制 ...

iso发上来看一下?

点评

光盘设计的文件名与上面的帖子中的有所不同,但仔细检查过了,应该没有问题  详情 回复 发表于 2020-11-16 21:18
大侠请在这里下载。要快哦,明天要上班。 我的服务器将在今日 23:55 关闭  详情 回复 发表于 2020-11-16 21:15
ftp://alotus.meibu.net/BootCD/  详情 回复 发表于 2020-11-16 21:07
回复

使用道具 举报

发表于 2020-11-16 21:01:03 | 显示全部楼层
试试看
回复

使用道具 举报

 楼主| 发表于 2020-11-16 21:07:33 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2020-11-16 21:15:19 | 显示全部楼层
wintoflash 发表于 2020-11-16 20:50
iso发上来看一下?

大侠请在这里下载。要快哦,明天要上班。
ftp://alotus.meibu.net/BootCD/

我的服务器将在今日 23:55 关闭
回复

使用道具 举报

 楼主| 发表于 2020-11-16 21:18:07 | 显示全部楼层
wintoflash 发表于 2020-11-16 20:50
iso发上来看一下?

光盘设计的文件名与上面的帖子中的有所不同,但仔细检查过了,应该没有问题

点评

我看你用的是xorboot。 你确定 grub2 也可以?  详情 回复 发表于 2020-11-16 21:31
回复

使用道具 举报

发表于 2020-11-16 21:31:43 | 显示全部楼层
本帖最后由 wintoflash 于 2020-11-16 21:32 编辑
blank007 发表于 2020-11-16 21:18
光盘设计的文件名与上面的帖子中的有所不同,但仔细检查过了,应该没有问题
Grub2 都可以

我看你用的是xorboot。。。xorboot有点迷。
你确定 grub2 也可以?

点评

光顾着测试 xorboot 、grub2 下引导 Acronis Backup 11.7 了,忽略了 bootmgfw.efi  详情 回复 发表于 2020-11-16 21:55
晕。grub2下确实不引导  详情 回复 发表于 2020-11-16 21:45
回复

使用道具 举报

发表于 2020-11-16 21:36:39 | 显示全部楼层
我还是喜欢grub2的方式,完全自定义。

而我习惯将相关的文件包括菜单都放在 /efi/grub 或者干脆打包成一个单一的引导文件。

wepe的引导使用grub2的ntboot,只需要bootmgfw.efi 和 wim文件就可以了。
一般我只使用64位的efi引导,毕竟32位的机子比较少见。
据说有些平板是32位的,要一个U盘同时能引导64/32位的话,我觉得增加32位的efi文件到 \efi\boot 之外再将相关的32位文件包括菜单都放到独立的文件夹中会更好,不强求用同一个配置文件在里面加上64/32位判断。
反正64位机子只会用64位引导,32位机子只会用32位引导。

所以我的部署会是这样子:
菜单和bootmgfw.efi都在 /efi/grub 中
wepe64.wim在根目录

如果添加32位支持,32位的菜单和bootmgfw.efi在 /efi/grub_32 中
添加wepe32.wim在根目录

如果添加legacy支持,legacy引导文件 grldr /g2ldr 可放到 /efi/grub
配置mbr使其引导到相应的文件

点评

xorbootu 只需 .wim 文件就可以引导,这个我是知道的。 我最感兴趣的是 chainloader 或者 kernel+initrd 方式  详情 回复 发表于 2020-11-16 22:18
多谢您的指导。知道 bootmgfw.efi 优先调用相同目录下的BCD,还是看了您的帖子才知道的。  详情 回复 发表于 2020-11-16 22:07
回复

使用道具 举报

 楼主| 发表于 2020-11-16 21:45:00 | 显示全部楼层
本帖最后由 blank007 于 2020-11-16 22:02 编辑
wintoflash 发表于 2020-11-16 21:31
我看你用的是xorboot。。。xorboot有点迷。
你确定 grub2 也可以?

晕。grub2下确实不能引导。
不过,对我来说这不算问题。因为我几乎不刻盘,我只用优盘、本地硬盘引导。
回复

使用道具 举报

发表于 2020-11-16 21:47:21 来自手机 | 显示全部楼层
无法告诉bcd,让它去找谁。

点评

多谢您的指导。 看了您的帖子,才知道一个叫做 BMPlus 的软件,可以定制 Win7/8/10 的 bootmgr ,实现了 WePE x86/x64 的合盘.  详情 回复 发表于 2020-11-16 22:10
回复

使用道具 举报

 楼主| 发表于 2020-11-16 21:55:39 | 显示全部楼层
wintoflash 发表于 2020-11-16 21:31
我看你用的是xorboot。。。xorboot有点迷。
你确定 grub2 也可以?

光顾着测试 xorboot 、grub2 下引导 Acronis Backup 11.7 了,忽略了 bootmgfw.efi
回复

使用道具 举报

 楼主| 发表于 2020-11-16 21:59:01 | 显示全部楼层
本帖最后由 blank007 于 2020-11-16 22:00 编辑

补充:

这个光盘在BIOS引导下,可启动 WePE 2.1 x86 ,稍微知道grub4dos 的人,可在x64 机器上引导 x64 版本。

还有,bios下可以引导一个基于 win2003 的 PE。

理论上,这个光盘在 UEFI X64 、UEFI X86 下,可分别引导到对应版本的 WePE。
当然,这个WePE做过微小的改变。

在此,向原作者致歉、致敬!
回复

使用道具 举报

 楼主| 发表于 2020-11-16 22:04:54 | 显示全部楼层
本帖最后由 blank007 于 2020-11-16 22:06 编辑

继续补充:

实际上,grub2、xorbootu 都不能以 chainloader 方式引导acronis backup 各个版本

但是,grub4dos 、grub2 都可以 kernel+initrd 或 linux+initrd 方式引导 Acronis backup。

我最关心的不是光盘引导方式,而是“本地硬盘”和“优盘”方式

点评

直接map iso应该就行。  详情 回复 发表于 2020-11-16 22:14
回复

使用道具 举报

 楼主| 发表于 2020-11-16 22:07:44 | 显示全部楼层
hilsonma 发表于 2020-11-16 21:36
我还是喜欢grub2的方式,完全自定义。

而我习惯将相关的文件包括菜单都放在 /efi/grub 或者干脆打包成一 ...

多谢您的指导。知道 bootmgfw.efi 优先调用相同目录下的BCD,还是看了您的帖子才知道的。
回复

使用道具 举报

 楼主| 发表于 2020-11-16 22:10:10 | 显示全部楼层
本帖最后由 blank007 于 2020-11-16 22:13 编辑
窄口牛 发表于 2020-11-16 21:47
无法告诉bcd,让它去找谁。

多谢您的指导。

看了您的帖子,才知道一个叫做 BMPlus 的软件,可以定制 Win7/8/10 的 bootmgr ,实现了 WePE x86/x64 在 BIOS 下 的合盘.
回复

使用道具 举报

发表于 2020-11-16 22:14:32 | 显示全部楼层
blank007 发表于 2020-11-16 22:04
继续补充:

实际上,grub2、xorbootu 都不能以 chainloader 方式引导acronis backup 各个版本

直接map iso应该就行。

点评

我喜欢"拆了"的方式,尽量兼顾 grub4dos 方式  详情 回复 发表于 2020-11-16 22:19
您说得太对了。 我现在以 XorBoot 为主,制作 启动优盘,兼顾学习您的 Grub2 。 另外,对您的Grub2 最感兴趣的也是其中的 map 命令。  详情 回复 发表于 2020-11-16 22:16
回复

使用道具 举报

 楼主| 发表于 2020-11-16 22:16:16 | 显示全部楼层
wintoflash 发表于 2020-11-16 22:14
直接map iso应该就行。

您说得太对了。

我现在以  XorBoot 为主,制作 启动优盘,兼顾学习您的 Grub2 。

另外,对您的Grub2 最感兴趣的也是其中的 map 命令。
回复

使用道具 举报

 楼主| 发表于 2020-11-16 22:18:13 | 显示全部楼层
hilsonma 发表于 2020-11-16 21:36
我还是喜欢grub2的方式,完全自定义。

而我习惯将相关的文件包括菜单都放在 /efi/grub 或者干脆打包成一 ...

xorbootu 只需 .wim 文件就可以引导,这个我是知道的。

我最感兴趣的是 chainloader 或者 kernel+initrd 方式
回复

使用道具 举报

 楼主| 发表于 2020-11-16 22:19:20 | 显示全部楼层
wintoflash 发表于 2020-11-16 22:14
直接map iso应该就行。

我喜欢"拆了"的方式,尽量兼顾 grub4dos 方式
回复

使用道具 举报

发表于 2020-11-16 23:38:59 | 显示全部楼层
你那3个pe,我做的iso是这样子的:https://ws28.cn/f/4020359tfkc

用mkisofs 做的。不熟悉2003pe,所以这个pe照搬你的引导。
回复

使用道具 举报

 楼主| 发表于 2020-11-17 06:44:55 | 显示全部楼层
趁着等候班车的时间,对自己的制作初衷再作一个说明:

1、关键是考虑本地硬盘、优盘在主分区、ESP分区上的引导。光盘、网络等的引导暂不考虑。
2、我的 Phoenix.iso 光盘结构,是为了尽可能在本地硬盘、优盘上部署,兼顾光盘上的部署。
3、里面的 Win2003 PE是为了兼顾 老、旧 电脑。

   实际上,我现在基本不用光盘引导了。

点评

我12楼说的就是硬盘和U盘的部署,直接使用wim镜像。 2003pe的引导稍为复杂,就打包成iso再在硬盘和U盘上使用这个iso.  详情 回复 发表于 2020-11-17 07:42
回复

使用道具 举报

发表于 2020-11-17 07:42:18 | 显示全部楼层
blank007 发表于 2020-11-17 06:44
趁着等候班车的时间,对自己的制作初衷再作一个说明:

1、关键是考虑本地硬盘、优盘在主分区、ESP分区上 ...

我12楼说的就是硬盘和U盘的部署,直接使用wim镜像。
2003pe的引导稍为复杂,就打包成iso再在硬盘和U盘上使用这个iso.

点评

兄台这种方式还是WinPE的单引导,我希望的是用Xorboot等工具实现对 WinPE 和 Acronis 的多引导  详情 回复 发表于 2020-11-17 19:09
回复

使用道具 举报

发表于 2020-11-17 09:28:54 | 显示全部楼层
我想知道,微软的efi文件,用什么工具查看,或者反编译

点评

ida pro  详情 回复 发表于 2020-11-17 19:33
efi文件暂时没有发现可修改的工具,但 bootmgr 文件有定制工具。 具体请在启动盘区查找 BMPlus 软件。我用的 bootmgr 就是用它定制的。  详情 回复 发表于 2020-11-17 19:11
回复

使用道具 举报

 楼主| 发表于 2020-11-17 19:09:02 | 显示全部楼层
hilsonma 发表于 2020-11-17 07:42
我12楼说的就是硬盘和U盘的部署,直接使用wim镜像。
2003pe的引导稍为复杂,就打包成iso再在硬盘和U盘上 ...

兄台这种方式还是WinPE的单引导,我希望的是用Xorboot等工具实现对 WinPE 和 Acronis 的多引导
回复

使用道具 举报

 楼主| 发表于 2020-11-17 19:11:11 | 显示全部楼层
叮叮咚咚 发表于 2020-11-17 09:28
我想知道,微软的efi文件,用什么工具查看,或者反编译

efi文件暂时没有发现可修改的工具,但 bootmgr 文件有定制工具。

具体请在启动盘区查找 BMPlus 软件。我用的 bootmgr 就是用它定制的。
回复

使用道具 举报

 楼主| 发表于 2020-11-17 19:21:57 | 显示全部楼层
本帖最后由 blank007 于 2020-11-17 19:33 编辑

感谢各位大侠的指导。

我用 Grub4dos、XorbootU、grub2  2.04 /2.05 在本地硬盘、优盘上,均能实现目的:

XorbootU、grub2  2.04 /2.05  都可以用 chainloader 方式调用、引导 WinPE、Acronis的 .efi 。

但在光盘上,仅 xorbootu 可以调用、引导 WinPE 的 bootmgfw.efi,进入桌面。grub2 官方版甚至连菜单都不能进入。grub2 2.05 (wintoflash版) 可以进入菜单,但不能引导 bootmgfw.efi ,提示有未知错误。grub 2 2.05 可用 linux+initrd 方式启动 Acronis。


另外,我本人早就不用光盘启动方式了,只在本地硬盘、优盘上用 UEFI 启动器管理多个微系统。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 06:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表