无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: liuzhaoyzz
打印 上一主题 下一主题

[讨论] UEFI下关于USB设备的默认引导文件

  [复制链接]
1#
发表于 2020-4-26 17:07:09 | 显示全部楼层
本帖最后由 hilsonma 于 2020-4-26 17:10 编辑
liuzhaoyzz 发表于 2020-4-26 16:50
有没有网友碰到必须要\EFI\Microsoft\Boot\bootmgfw.efi才能启动的?就是不要这个就无法启动。
不能从ef ...

我最近帮朋友装系统就碰到这样的问题,不是移动硬盘和U盘,是本地硬盘,不能手工添加 esp 的 \efi\boot\bootx64.efi 到启动序列,就死认 \efi\microsoft\boot\bootmgfw.efi 启动,要使用第三方引导只有把 \efi\microsoft\boot\bootmgfw.efi 改名,然后将第三方引导的efi文件改名为bootmgfw.efi替换到 \efi\microsoft\boot

而我的u盘它就认 \efi\boot\bootx64.efi
我没有移动硬盘,所以不清楚移动硬盘的情况。

点评

你是不是用bootice添加esp 的 \efi\boot\bootx64.efi 到启动序列?具体是怎么失败的?F12能看到UEFI OS:(xxxx硬盘)这样子的启动项吗?还是选择了这样子的启动项无法启动?  详情 回复 发表于 2020-4-26 17:12
回复

使用道具 举报

2#
发表于 2020-4-26 17:17:41 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-26 17:12
你是不是用bootice添加esp 的 \efi\boot\bootx64.efi 到启动序列?具体是怎么失败的?F12能看到U ...

F12看到的是 Windows Boot Manager , 看不到UEFI OS:(xxxx硬盘)这样子的启动项
使用bootice看到 Windows Boot Manger 就是 \efi\microsoft\boot\bootmgfw.efi
添加 \efi\boot\bootx64.efi 显示成功但看启动序列却没有增加,还是原样不动。

点评

你说的情况我没有碰到过,但我相信你描述的问题,是不是bootice的bug导致的哦。或者是esp分区无法访问,没有ACL权限?没有ACL权限的情况就是挂载esp分区之后,从我的电脑里面双击这个esp分区的盘符,提示出  详情 回复 发表于 2020-4-26 17:24
回复

使用道具 举报

3#
发表于 2020-4-26 17:27:41 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-26 17:24
你说的情况我没有碰到过,但我相信你描述的问题,是不是bootice的bug导致的哦。或者是esp分区无 ...

我可以使用diskgenius将esp里的 \efi\microsoft\boot\bootmgfw.efi 替换为grub2的efi文件 (改名成 bootmgfw.efi)
diskgenius 里也有 uefi启动序列管理,一样的不能添加 \efi\boot\bootx64.efi 到启动序列。
回复

使用道具 举报

4#
发表于 2020-4-26 17:32:46 | 显示全部楼层
本帖最后由 hilsonma 于 2020-4-26 17:34 编辑

是新电脑,朋友用不习惯,就让我装win8.1 这个在他旁边的电脑上用得很好的系统,结果装不上,无法配置在该硬件上,我又不懂搞驱动,只好又下了个win10给他装上。

我原来用的微pe也是无法在该电脑上启动,也只好即时下了个立帮的pe来使用。
回复

使用道具 举报

5#
发表于 2020-4-26 19:10:50 | 显示全部楼层
按上面英文表达,规范是

硬盘盘优先vendor引导,即 \efi\vendor_dir\vendor_ldr.efi
\efi\boot\bootxxx.efi作为后备,当找不到vendor引导时使用。

而移动设备上就固定使用 \efi\boot\bootxxx.efi

点评

是的。 当然 固件也 可以 支持 移动设备上的 /EFI/Microsoft/xxx,这个不在标准之中。  详情 回复 发表于 2020-4-26 19:14
回复

使用道具 举报

6#
发表于 2020-4-26 19:48:29 | 显示全部楼层
liuzhaoyzz 发表于 2020-4-26 19:38
有几个疑问:
1、这么多vendor不知道是怎么排序的,微软永远排老大吗?
2、grub2对应的vendor是什么?
...

grub2对应的vendor,我理解的是所安装的linux发行版的开发者,由其安装程序指定vendor_dir 和 vendor_ldr
就象windows安装程序指定 \efi\microsoft\boot\bootmgfw.efi
回复

使用道具 举报

7#
发表于 2020-4-27 07:31:03 | 显示全部楼层
本帖最后由 hilsonma 于 2020-4-27 08:11 编辑
liuzhaoyzz 发表于 2020-4-27 05:37
原来7年前,fujianabc老大已经清楚明白地解释过, http://wuyou.net/forum.php?mod=viewthread&tid= ...

这个贴子都被你挖出来了,如果我早看到这个贴子,我会更早理解这些内容。

2011hiboy那个贴子是有些误解,但我当初刚了解uefi就是通过这样的贴子来学习的,实在是找不到资料呀,wintoflash 上面的规范最正规,但如果我刚接触uefi时看到的话不知道能不能理解。如果在uefi区把这些内容置顶就好了,可以入门也可以尽快的了解规范,减少误解。

在我现在的理解中,fwbootmgr 应该是uefi 的一个功能,其菜单firmware boot menu 就是我们前面说的 uefi启动序列,是保存在nvram中的,在ms的启动管理中,作为{fwbootmgr}对象存在,可以使用bcdedit 对{fwbootmgr}进行操作。
回复

使用道具 举报

8#
发表于 2020-4-27 09:16:35 | 显示全部楼层
在我的理解中,那个vendor引导是由操作系统的安装程序来定的,只要在uefi平台正常安装操作系统,安装程序就会在esp建立 \efi\vendor_dir,并在里面放置 vendor_ldr.efi

而主板的uefi就会认这样的esp的efi文件
\efi\boot\bootx64.efi 只是备用项,一般也是安装程序复制 vendor_ldr.efi 的。

如果我们自己搞的引导,比如自定的grub2引导/xorboot引导等,我认为只有两个方案:
一是在没有走过正常安装操作系统的电脑上,把自定引导设置为 \efi\boot\bootx64.efi
二是在已经正常安装操作系统的电脑上,把自定引导改名成vendor引导的同名文件替换到vendor目录中,比如把自定引导设置为 \efi\microsoft\boot\bootmgfw.efi
回复

使用道具 举报

9#
发表于 2020-5-31 22:51:30 | 显示全部楼层
本帖最后由 hilsonma 于 2020-6-1 07:59 编辑

已经接触2台电脑只认bootmgfw.efi的了。
一台是联想,另一台是华擎主板。
联想那台只认ESP的 \EFI\Microsoft\Boot\bootmgfw.efi,没有这个文件就不支持从该硬盘上UEFI启动。
华擎那台同样,不同的是ESP可以是fat也可以是ntfs,只要有 \EFI\Microsoft\Boot\bootmgfw.efi 就可以,没有就不可以UEFI启动。

经再次测试我接触的几台电脑,只要能识别 \EFI\Boot\bootx64.efi 为UEFI OS 的,都能识别 \EFI\Microsoft\Boot\bootmgfw.efi 为Windows Boot Manager.
而能识别 \EFI\Microsoft\Boot\bootmgfw.efi 为Windows Boot Manager 的,部分不能识别 \EFI\Boot\bootx64.efi 为UEFI OS ,例如前面说的那台联想和那台华擎主板的电脑。

而U盘,只要存在UEFI支持启动的分区,就会识别为 UEFI: 型号 ,但需要有启动文件\EFI\Boot\bootx64.efi 才能实现UEFI启动。
U盘上只有\EFI\Microsoft\Boot\bootmgfw.efi 这个文件是不能实现UEFI启动的,这点与硬盘不同。

初步结论:
硬盘统一启动文件为 \EFI\Microsoft\Boot\bootmgfw.efi
U盘统一启动文件为 \EFI\Boot\bootx64.efi

这样既统一操作,又更易成功。
回复

使用道具 举报

10#
发表于 2020-6-2 06:21:34 | 显示全部楼层
本帖最后由 hilsonma 于 2020-6-2 13:32 编辑
liuzhaoyzz 发表于 2020-6-1 20:00
那按照你说的这个结论,固态优盘和移动硬盘应该归到哪一类呢?

固态优盘我没有试过,不知道。
我接触过的SATA固态和NVME固态跟普通硬盘同一类。

移动硬盘我也没有试过,看你1楼的贴图,属于硬盘类。

我的移动硬盘没有\EFI\Microsoft\Boot\bootmgfw.efi,存在\EFI\Boot\bootx64.efi,uefi启动没问题。

硬盘优先识别 \EFI\Microsoft\Boot\bootmgfw.efi,部分主板在没有bootmgfw.efi的情况下也会识别bootx64.efi,但有部分主板不会识别bootx64.efi,没有bootmgfw.efi就不能uefi启动。
你的主板属于优先识别bootmgfw.efi,没有bootmgfw.efi就识别bootx64.efi 的那一类。

你可以做以下尝试验证:
在UEFI引导序列中,把关于该移动硬盘的启动项删掉
把移动硬盘中的启动文件夹 \EFI\Microsoft 改名为 \EFI\Micrfosoft1
重启看是不是该移动硬盘的 \EFI\Boot\bootx64.efi 识别为 UEFI OS

然后再把 \EFI\Microsoft1 改回 \EFI\Microsoft
重启后是不是再次识别添加 \EFI\Microsoft\Boot\bootmgfw.efi 为 Windows Boot Manager

再次在UEFI启动序列中把该移动硬盘的启动项删掉,bootx64.efi 和 bootmgfw.efi 的路径保持不变
重启后是不是只识别 bootmgfw.efi 为 Windows Boot Manger ,而不再识别bootx64.efi

至于手工添加,不在我描述的范围。而我接触的几台电脑都是不支持手工添加的。


重述一遍:

UEFI启动序列中显示为  UEFI:型号  那就是U盘类,如果显示为  UEFI OS  或  Windows Boot Manager  就是硬盘类。

U盘识别 \EFI\Boot\bootx64.efi 为 UEFI:型号
硬盘识别 \EFI\Microsoft\Boot\bootmgfw.efi 为 Windows Boot Manager。
    部分主板在硬盘ESP没有 \EFI\Microsoft\Boot\bootmgfw.efi 的情况下会识别 \EFI\Boot\bootx64.efi 为 UEFI OS ,但有部分主板不会识别bootx64.efi,没有bootmgfw.efi就不能uefi启动。

硬盘在已识别bootx64.efi的情况下添加bootmgfw.efi会继续识别添加启动项,而已识别bootmgfw.efi的情况下添加bootx64.efi会被忽略不再添加启动项。
回复

使用道具 举报

11#
发表于 2020-11-5 15:38:51 | 显示全部楼层
窄口牛 发表于 2020-11-5 09:30
直达楼层
我是说有方法可以让自己凌驾于微软默认路径之上,搞明白知会一下,我没能力搞明白,你试试。

主板固件允许你搞才有得搞,主板固件不允许的话你必须先刷固件。刷固件我不懂,不敢搞。

我目前接触过的电脑就只有dell 是可以而且好象也必须是手动添加启动项的,当然也是可以调整优先使用自己添加的启动项的。
回复

使用道具 举报

12#
发表于 2020-11-21 16:46:00 | 显示全部楼层
UEFI论坛的创始者可参见 https://www.uefi.org/members
可分三类:硬件商、软件商、固件商。
软件商只有一家:Microsoft
所以UEFI默认硬盘上的引导文件为 \EFI\Microsoft\Boot\bootmgfw.efi ,识别为Windows Boot Manager

UEFI默认U盘上的引导文件为 \EFI\Boot\bootx64.efi (64位平台,其他平台类推,如bootia32.efi等。)

有的主板在硬盘找不到 \EFI\Microsoft\Boot\bootmgfw.efi 时也会识别 \EFI\Boot\bootx64.efi 为 UEFI OS (64位平台,其他平台下的文件名依此类推,同U盘一样。)

有的主板则完全由用户指定硬盘上的引导文件,需要在UEFI画面中设置。

至于UEFI引导文件所在的分区,一般要求FAT分区,也有的主板支持NTFS分区等。

以上所述,都是由固件决定的,所以只要搞掂固件就可以自主更改。
回复

使用道具 举报

13#
发表于 2020-11-28 16:28:05 | 显示全部楼层
ko20010214 发表于 2020-11-28 13:54
光盘中需要哪些文件才能实现UEFI引导?
如果要用G4E代替光盘的引导文件要怎么操作?
我直接把G4E的bootx6 ...

光盘中需要软盘镜像来实现UEFI引导

要用g4e代替光盘的引导文件操作如下:
先在光盘待打包的目录中找到软盘镜像,一般是efi.img或efisys.bin之类的文件
使用winimage之类的工具将g4e的bootx64.efi 替换到这个镜像里的 \efi\boot\bootx64.efi
在光盘待打包的目录里放入 efi\grub\menu.lst
如果是图形模式还要放入字体文件 efi\grub\unifont.hex.gz
将待打包的目录重新打包成iso文件

直接把bootx64.efi当成no_emul.01是没法启动的,no_emul.01是由iso制作软件根据软盘镜像自动生成的,一般不要手动更改。

替换到efi.img里后可以启动但菜单缺少英文字母显示,可尝试将yaya提供的字体文件放到光盘目录 \efi\grub中

no_emul.00的大小只有2048字节,那是只将grldr的前面的2048字节写到光盘引导 no_emul.00 中,这个no_emul.00会引导光盘根目录的grldr,并显示内置菜单,或者根据内置菜单的定义查找相应的外部菜单再显示。

no_emul.01的大小是efi.img的大小,是的,这才是正确的,iso制作软件会把efi.img写到iso的no_emul.01,而会把grldr的前面一部分(一般建议是4扇区)写到no_emul.00

删除了booti32.efi 用小的bootx64.efi替换掉大的,img文件反而变大,那是你使用的软件的设置问题。
比如winimage,可能原先的大小是非标格式,把空闲空间压缩了,而你操作的时候是不压缩空闲空间,使用标准的1.44M或2.88M,这样,不管里面的文件大小,img文件都固定是1.44M或2.88M
回复

使用道具 举报

14#
发表于 2020-11-29 19:03:19 | 显示全部楼层
ko20010214 发表于 2020-11-29 12:34
谢谢你的回复。解答很详尽。
现在有另一个问题,Ia32环境怎么启动G4E呢?
bootia32.efi应该用谁来替代 ...

ia32平台使用g4e的ia32版本 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=421866
但不知yaya现在有没有继续这个版本,因为确实用的机会不多,你可以到该贴跟yaya互动。
回复

使用道具 举报

15#
发表于 2020-11-29 19:08:28 | 显示全部楼层
xianglang 发表于 2020-11-29 18:04
我特意试了下,U 盘 EFI 分区里有 /EFI/MICROSOFT/BOOT/BOOTMGFW.EFI 文件,但是当将 /EFI/BOOT/BOOTX64.EF ...

你没仔细阅读我们之前的贴子内容

回复

使用道具 举报

16#
发表于 2020-12-29 16:47:06 | 显示全部楼层
本帖最后由 hilsonma 于 2020-12-29 16:50 编辑
gbzx 发表于 2020-12-20 11:54
我的电脑只要保留任何一个都能启动

你的是技嘉主板,优先 \EFI\Microsoft\Boot\bootmgfw.efi (Windows Boot Manger),没有bootmgfw.efi的情况下也接受 \EFI\Boot\bootx64.efi (UEFI OS)

你可以尝试将efi分区里的 \EFI\Boot\bootx64.efi 改名,然后重启,这时选择 UEFI OS 应该会无法启动。选择其他选项启动后,使用bootice等工具将 UEFI OS 启动项删掉,这时再将 \EFI\Boot\bootx64.efi 恢复回来,再重启,就不会生成 UEFI OS 这个启动项了 (因为已经有了bootmgfw.efi).

如果这时再将efi分区的 \EFI\Microsoft\Boot\bootmgfw.efi 改名,重启后就会出现 UEFI OS 启动项,因为这时没有了bootmgfw.efi ,所以固件重新识别 bootx64.efi 为UEFI OS。

改的时候要确保有 \EFI\Microsoft\Boot\bootmgfw.efi 或 \EFI\Boot\bootx64.efi 其中一个存在,不然会无法启动,发生这种情形的话就只能使用U盘启动后恢复这两个文件至少恢复其中一个。
回复

使用道具 举报

17#
发表于 2020-12-29 20:13:28 | 显示全部楼层
cchessbd 发表于 2020-12-29 18:16
这个应该是uefi固件对应的启动文件不一样。bootmgr.efi为(usb)硬盘类启动文件,与windows bootmanager启动 ...

其实关于uefi默认引导文件的问题已经多次反复回贴讨论,
也可参考我53楼的总结
还有疑问的建议耐心通读一次所有回贴,有不同经历体验的再发贴。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-3 07:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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