无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 8730|回复: 35
打印 上一主题 下一主题

UEFI模式下,bios的引导菜单这儿的名字是怎么去定义的?

[复制链接]
跳转到指定楼层
1#
发表于 2022-9-19 15:51:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yurrr7 于 2022-9-19 15:53 编辑

是这样的,就是我们部署win10系统加一个Linux系统,但它的名字在bios中是固定的【不管是哪个主板的bios都是显示这个】,如UEFI OS
我查看了它对标的文件是:efi\boot\bootx64.efi这个文件
1、我主动删除它,bios中启动时是没有显示引导项了
2、把整个系统的所有的文件删除,只留bootx64.efi,重启后,bios中还是有显示这个引导的,只是会失败

问题:这个UEFI OS 或Windows boot manager理论来说,它是传出一个名字而已,这个名字有没有办法我自己来定义

如:UEFI OS 改为:123 等。

2.jpg (1.04 MB, 下载次数: 188)

2.jpg

1.jpg (557.19 KB, 下载次数: 198)

1.jpg

bootx64.rar

316.17 KB, 下载次数: 7, 下载积分: 无忧币 -2

2#
发表于 2022-9-19 16:38:28 | 只看该作者
本帖最后由 hilsonma 于 2022-9-19 16:44 编辑

视乎主板固件。如果主板固件让你改你就可以改,如果主板固件没有提供这个功能就不可以改。

一般都是主板固件自动识别的,类似你所描述,
\EFI\Microsoft\Boot\bootmgfw.efi 识别为 Windows Boot Manager,
硬盘上的 \EFI\Boot\bootx64.efi 识别为 UEFI OS,
U盘上的 \EFI\Boot\bootx64.efi 识别为 UEFI: U盘型号
诸如此类。

用bootice这类工具可以修改显示的菜单项名称,但如果主板固件不允许修改的话,你的修改是无效的,无法保存的。如果修改有效,那么重启后就会显示你修改之后的菜单项名称。

有的主板固件里直接可以改,我的印象中好象戴尔是可以修改的。

点评

这儿不是通过改bootx64.efi或别的方法来实现这个名字的自定义么,通过BOOTICEx64这个工具确实可以自定义,但是第一个主板都要改,不是很理想,最理想的办法是直接改bootx64.efi文件,来达到这个目的,越研究越感觉进  详情 回复 发表于 2022-9-19 18:31
回复

使用道具 举报

3#
发表于 2022-9-19 16:59:38 | 只看该作者
出现4个选项,一个是SEHLL,一个是U盘,这好理解;
128G的硬盘有两个,主要是ESP分区中有两个EFI文件:
efi\boot\bootx64.efi
efi\microsoft\boot\bootmgfw.efi
前者是从硬盘启动OS的,就看EFI是谁家的,如果是MS家的它就能根据BCD配置启动Windows;
后者只能启动Windows;

这些东西存在主板的NVRAM中,不存在的,比如拔掉的U盘对应的东西,重启一次或两次后就自动消失掉了;
但有一些主板,可能不太完美吧,经常会导致NVRAM中有残存不存在的东西,或者出现重复项目;
微软以前有文档专门说该如何清除重复项,如果是Windows还直接与硬盘中的BCD有关;
所以一般不要轻易执行BCDBOOT玩;

点评

我就是不能理解,为什么windows boot manager这个引导项,它是一个固定的值,而Linux也是UEFI OS固定的引导值,我还是觉得改bootx64.efi可以有一些变化 。只是一般的工具改动后,就说没有签名。系统加载就会出问题  详情 回复 发表于 2022-9-19 18:35
回复

使用道具 举报

4#
发表于 2022-9-19 17:53:55 来自手机 | 只看该作者
bcdedit /set {bootmgr} description WBMA

点评

这个改完后,镜像打包,再安装到另一台,这个名字会同步过来不  详情 回复 发表于 2022-9-19 19:00
回复

使用道具 举报

5#
发表于 2022-9-19 17:55:43 | 只看该作者
窄口牛 发表于 2022-9-19 16:39
easyuefi了解一下。bootice有时候也可以,不太稳定,原因未知。

用 xorboot uefi版 试下,点击 uefi启动管理,可更改uefi启动序列的名称
回复

使用道具 举报

6#
 楼主| 发表于 2022-9-19 18:31:19 | 只看该作者
hilsonma 发表于 2022-9-19 16:38
视乎主板固件。如果主板固件让你改你就可以改,如果主板固件没有提供这个功能就不可以改。

一般都是主板 ...

这儿不是通过改bootx64.efi或别的方法来实现这个名字的自定义么,通过BOOTICEx64这个工具确实可以自定义,但是第一个主板都要改,不是很理想,最理想的办法是直接改bootx64.efi文件,来达到这个目的,越研究越感觉进到黑洞。我可以通过Resource Hacker挂windows10 下的efi\boot\bootx64.exe并且也可以找到windows boo manager的关键字。试着改一下,启动时就提示需要数字签名
1、从我的直觉来说,这个windows boot manager是被这个bootx64.efi定义的,也就是可以改的
2、所以说硬盘上的这个linux的bootx64.efi一定也是可以改的。只是Resource Hacker工具挂载时,是一片白

点评

不是的。 bootmgfw.efi 和 bootx64.efi 是根据uefi规范来命名的,主板固件根据这两个文件名来识别是什么主引导。 只要是bootmgfw.efi这个文件名,不管实质是不是WBM,主板固件都会识别为WBM (Windows Boot Manag  详情 回复 发表于 2022-9-19 19:38
回复

使用道具 举报

7#
 楼主| 发表于 2022-9-19 18:32:57 | 只看该作者
窄口牛 发表于 2022-9-19 16:39
easyuefi了解一下。bootice有时候也可以,不太稳定,原因未知。

本机改是可以生效,我是考虑如部署100台,或更多,不想通过改bios这个信息【不能保存,如换一个版本的系统它又会恢复】,当然如果用文件改好bootx64.efi.理论来说,它下发到任何设备上,都是我们自定义的名字
回复

使用道具 举报

8#
 楼主| 发表于 2022-9-19 18:35:24 | 只看该作者
captain_g 发表于 2022-9-19 16:59
出现4个选项,一个是SEHLL,一个是U盘,这好理解;
128G的硬盘有两个,主要是ESP分区中有两个EFI文件:
e ...

我就是不能理解,为什么windows boot manager这个引导项,它是一个固定的值,而Linux也是UEFI OS固定的引导值,我还是觉得改bootx64.efi可以有一些变化 。只是一般的工具改动后,就说没有签名。系统加载就会出问题
回复

使用道具 举报

9#
 楼主| 发表于 2022-9-19 19:00:07 | 只看该作者
szwp 发表于 2022-9-19 17:53
bcdedit /set {bootmgr} description WBMA

这个改完后,镜像打包,再安装到另一台,这个名字会同步过来不
回复

使用道具 举报

10#
发表于 2022-9-19 19:38:04 | 只看该作者
yurrr7 发表于 2022-9-19 18:31
这儿不是通过改bootx64.efi或别的方法来实现这个名字的自定义么,通过BOOTICEx64这个工具确实可以自定义 ...

不是的。

bootmgfw.efi 和 bootx64.efi 这两个文件名是根据uefi规范来命名的,主板固件根据这两个文件名来识别是什么主引导。
只要是bootmgfw.efi这个文件名,不管实质是不是WBM,主板固件都会识别为WBM (Windows Boot Manager)
而bootx64.efi这个文件名,就算是bootmgfw.efi改名的,都有可能识别为 UEFI OS (U盘上就识别为 UEFI:型号)

你在这两个文件的内容里修改菜单标题那是修改这个引导的本身菜单的标题,不是主板启动设备选单的标题。

点评

其实我的核心想法不是去改windows boot manager,而是想改UEFI OS 这个值。它是linux系统的引导一部分。可能我对这一部分还没有了解清楚 1、我能理解的就是:这个linux系统放到硬盘的最后一个区,它在bios中就会显示  详情 回复 发表于 2022-9-20 06:50
回复

使用道具 举报

11#
发表于 2022-9-19 19:38:29 来自手机 | 只看该作者
先得理解NVRAM

点评

好的,先学习一下,谢谢哈  详情 回复 发表于 2022-9-20 06:51
回复

使用道具 举报

12#
发表于 2022-9-19 21:54:29 来自手机 | 只看该作者
看懂联想开源版就能理解

点评

这个确实没有去深入了解,只是停留在系统级的文件去理解  详情 回复 发表于 2022-9-20 06:52
回复

使用道具 举报

13#
发表于 2022-9-19 22:12:26 | 只看该作者
一个修改启动序列呀,简单得很,想怎么改就怎么改,有些主板会自动删除失效的菜单

点评

这儿改是没有问题,包括【szwp】说的命令:bcdedit /set {bootmgr} description WBMA或bcdedit /set {bootmgr} description 123 在当前的主板引导上确实是可以看到:WBMA或123 1、我是希望这个改动是永久,也就是说  详情 回复 发表于 2022-9-20 06:54
回复

使用道具 举报

14#
发表于 2022-9-19 23:27:02 来自手机 | 只看该作者
窄口牛 发表于 2022-9-19 19:06
签名这个没必要纠结,我就不喜欢别人设计个套子,自己就往头上套。win的可能真的可以改,别的就不一定了。 ...

抱歉,我这个说的不对,bios自动加微软的引导是因为路径和efi文件名字。我的主引导是grub2,但是用了微软的路径和efi文件名字,自动加的也是wbm的名字,所以改efi文件实现引导名称应该是个假命题。
回复

使用道具 举报

15#
 楼主| 发表于 2022-9-20 06:50:22 | 只看该作者
hilsonma 发表于 2022-9-19 19:38
不是的。

bootmgfw.efi 和 bootx64.efi 这两个文件名是根据uefi规范来命名的,主板固件根据这两个文件 ...

其实我的核心想法不是去改windows boot manager,而是想改UEFI OS 这个值。它是linux系统的引导一部分。可能我对这一部分还没有了解清楚
1、我能理解的就是:这个linux系统放到硬盘的最后一个区,它在bios中就会显示uefi os
2、同理,这个系统放到任何主板都会显示uefi os 【主板型号不下20款的情况下】
3、有一次,也是唯一的一次。放在“宏碁”笔记本时,会显示:【dabian OS】
基于这个原因,我在想是不是因为bios会去读这个linux [dabian版本]的引导文件。而想改uefi os 为如:123 os

点评

明白你是想将 UEFI启动序列 (开机设备选单) 的 UEFI OS 改成实际系统的名称,类似Win系统的 Windows Boot Manager,让你的开机设备名称显示为 MyOS 之类。 但这个名称是由主板固件去定义的,多数主板固件都是定义  详情 回复 发表于 2022-9-20 08:17
回复

使用道具 举报

16#
 楼主| 发表于 2022-9-20 06:51:01 | 只看该作者

好的,先学习一下,谢谢哈
回复

使用道具 举报

17#
 楼主| 发表于 2022-9-20 06:52:18 | 只看该作者
szwp 发表于 2022-9-19 21:54
看懂联想开源版就能理解

这个确实没有去深入了解,只是停留在系统级的文件去理解
回复

使用道具 举报

18#
 楼主| 发表于 2022-9-20 06:54:52 | 只看该作者
坏坏小生 发表于 2022-9-19 22:12
一个修改启动序列呀,简单得很,想怎么改就怎么改,有些主板会自动删除失效的菜单

这儿改是没有问题,包括【szwp】说的命令:bcdedit /set {bootmgr} description WBMA或bcdedit /set {bootmgr} description 123 在当前的主板引导上确实是可以看到:WBMA或123
1、我是希望这个改动是永久,也就是说这个系统再次打包手,部署到另一台设备,或10台设备
2、这个名字都是WBMA或123
回复

使用道具 举报

19#
 楼主| 发表于 2022-9-20 06:59:01 | 只看该作者
本帖最后由 yurrr7 于 2022-9-20 07:03 编辑

这儿还是做了一个测试1、把Linux下的bootx64.efi替换到windows boot manager这个bootx64.efi
2、反过来也是,把wbm下的bootx64.efi的文件 替换linux下的efi\boot\bootx64.efi

我的预期结果应该是相互替换的。但好像也不是
还是与之前的一样的引导结果
这样看,感觉这个位置又不是系统的文件控制的
可能是我对某一部分的基础技术还没有去理解

还是说我的这个想法完全不能实现么,其实我就是想把linux这个在硬盘上的系统在bios是显示的名字改一个值。它是可以随系统走的
更理想的情况就是把系统的文件改一个名后,这个系统打包,再部署。它个名字是不会变的
回复

使用道具 举报

20#
发表于 2022-9-20 07:32:57 来自手机 | 只看该作者
将联想改64试
回复

使用道具 举报

21#
发表于 2022-9-20 08:17:58 | 只看该作者
yurrr7 发表于 2022-9-20 06:50
其实我的核心想法不是去改windows boot manager,而是想改UEFI OS 这个值。它是linux系统的引导一部分。 ...

明白你是想将 UEFI启动序列 (开机设备选单) 的 UEFI OS 改成实际系统的名称,类似Win系统的 Windows Boot Manager,让你的开机设备名称显示为 MyOS 之类。

但这个名称是由主板固件去定义的,多数主板固件都是定义了我前面说的这三类:Windows Boot Manager、UEFI OS、UEFI: 设备型号 。主板固件在识别了开机设备之后就会按预先定义的名称写到NVRAM中。用户可以修改NVRAM里的数据,前提是主板固件允许,否则就可能是保存不了,或者保存了但主板固件使用的时候出问题。

因为是在各电脑的NVRAM中的,不是磁盘文件中的,所以做不到一次修改,每台电脑都同样显示。需要修改每台电脑的NVRAM数据。

1、我能理解的就是:这个linux系统放到硬盘的最后一个区,它在bios中就会显示uefi os

不管是不是linux系统,也不管是放在哪个区,一般地,识别到硬盘的 \EFI\Boot\bootx64.efi 就显示 UEFI OS

2、同理,这个系统放到任何主板都会显示uefi os 【主板型号不下20款的情况下】

同上,因为多数主板都是这样设定,所以多数都会这样显示。

3、有一次,也是唯一的一次。放在“宏碁”笔记本时,会显示:【dabian OS】

那你把其他的efi文件或者windows 的bootmgfw.efi 改名为 bootx64.efi 放到这个笔记本的ESP的 \EFI\Boot\ 看看会显示什么。
又或者你看看【dabian OS】对应的启动文件是什么,是不是 \EFI\Boot\bootx64.efi

我遇过主板允许使用任意路径任意名称的efi文件做主引导,但需要在固件设置中指定这个文件。当然也可以指定显示的名称。

点评

您这一解释我这完全明白了,感谢哈,科普了一次。那这儿就不纠结了。还是用工具每台去改吧。可能是我想的太简单了。确实是没有理解这儿的工作模式。您这一说,我就不再往这方面想了  详情 回复 发表于 2022-9-20 08:36
回复

使用道具 举报

22#
 楼主| 发表于 2022-9-20 08:36:34 | 只看该作者
hilsonma 发表于 2022-9-20 08:17
明白你是想将 UEFI启动序列 (开机设备选单) 的 UEFI OS 改成实际系统的名称,类似Win系统的 Windows Boot ...

您这一解释我这完全明白了,感谢哈,科普了一次。那这儿就不纠结了。还是用工具每台去改吧。可能是我想的太简单了。确实是没有理解这儿的工作模式。您这一说,我就不再往这方面想了

点评

看了你的签名,觉得你是想要开机菜单中显示你的系统名称。 这个是在操作系统的安装程序中设定的,在生成引导的时候写入到nvram中。跟前面的描述一样,这个写入要符合主板固件的定义,如果主板固件有开放给你写,你  详情 回复 发表于 2022-9-20 09:17
回复

使用道具 举报

23#
发表于 2022-9-20 09:17:35 | 只看该作者
yurrr7 发表于 2022-9-20 08:36
您这一解释我这完全明白了,感谢哈,科普了一次。那这儿就不纠结了。还是用工具每台去改吧。可能是我想的 ...

看了你的签名,觉得你是想要开机菜单中显示你的系统名称。
这个是在操作系统的安装程序中设定的,在生成引导的时候写入到nvram中。跟前面的描述一样,这个写入要符合主板固件的定义,如果主板固件有开放给你写,你才可以写,有的主板只认bootmgfw.efi (因为MS是UEFI论坛的创始者之一,是UEFI论坛创始者中唯一的软件商),其他可能认不了,非win的只能认 \EFI\Boot\bootx64.efi。

如果主板固件允许,你是可以使用类似这样的引导文件的:\EFI\yurr\yurr.efi,而显示名称可以是 YurrOS
前提就是主板固件允许。
所以为了通用,应该非win的系统都是用 \EFI\Boot\bootx64.efi 的,显示为 UEFI OS,这是大多主板接受的。当然,如果主板是你定制的,要怎样都可以。

点评

谢谢,其实我没想那么多,当然Linux的引导也确实是在 \EFI\Boot\bootx64.efi 这个文件,我天真的以为只用改这个bootx64.efi的内容,就可以自定义出那个Bios的引导菜单的名字。看来还要多学习  详情 回复 发表于 2022-9-20 10:32
回复

使用道具 举报

24#
发表于 2022-9-20 09:36:19 来自手机 | 只看该作者
最好不要用\EFI\Boot\bootx64.efi这个路径,空着它,这个容易被任何系统安装工具修改。最稳妥的就是把win的改掉,占住win的路径。

点评

但linux默认就是它,我也只想改它的名字UEFI OS 为 Recovery OS 所以纠结点就是:不知道为什么它会叫UEFI OS,是不是一个文件定义成这样的,如果是,理论来说我们自己也可以定义这个名字才对。哈哈,这样看,我感觉  详情 回复 发表于 2022-9-20 10:34
回复

使用道具 举报

25#
 楼主| 发表于 2022-9-20 10:32:45 | 只看该作者
hilsonma 发表于 2022-9-20 09:17
看了你的签名,觉得你是想要开机菜单中显示你的系统名称。
这个是在操作系统的安装程序中设定的,在生成 ...

谢谢,其实我没想那么多,当然Linux的引导也确实是在
\EFI\Boot\bootx64.efi 这个文件,我天真的以为只用改这个bootx64.efi的内容,就可以自定义出那个Bios的引导菜单的名字。看来还要多学习
回复

使用道具 举报

26#
 楼主| 发表于 2022-9-20 10:34:35 | 只看该作者
窄口牛 发表于 2022-9-20 09:36
最好不要用\EFI\Boot\bootx64.efi这个路径,空着它,这个容易被任何系统安装工具修改。最稳妥的就是把win的 ...

但linux默认就是它,我也只想改它的名字UEFI OS 为 Recovery OS
所以纠结点就是:不知道为什么它会叫UEFI OS,是不是一个文件定义成这样的,如果是,理论来说我们自己也可以定义这个名字才对。哈哈,这样看,我感觉要放弃这个想法了。
回复

使用道具 举报

27#
发表于 2022-9-20 16:34:21 | 只看该作者
将联想的改到\EFI\Boot\bootx64.efi

点评

没联想的机子,只有一般的工控机。  详情 回复 发表于 2022-9-21 13:07
回复

使用道具 举报

28#
 楼主| 发表于 2022-9-21 13:07:41 | 只看该作者
szwp 发表于 2022-9-20 16:34
将联想的改到\EFI\Boot\bootx64.efi

没联想的机子,只有一般的工控机。

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=431756&extra= 支持非联想电脑。  详情 回复 发表于 2022-9-21 13:23
回复

使用道具 举报

29#
发表于 2022-9-21 13:23:51 | 只看该作者
yurrr7 发表于 2022-9-21 13:07
没联想的机子,只有一般的工控机。

http://bbs.wuyou.net/forum.php?m ... d=431756&extra=

支持非联想电脑。
回复

使用道具 举报

30#
发表于 2022-9-29 14:46:18 | 只看该作者
充电中
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 09:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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