无忧启动论坛

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

[讨论] nvram,什么是{fwbootmgr}

[复制链接]
跳转到指定楼层
1#
发表于 2013-4-18 10:16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于bootmgfw.efi我们看到版主的教程有一定的了解,但对于“nvram,什么是{fwbootmgr}
”是什么东西,以及怎么操作请版主能否写个教程以供大家了解学习,谢谢。

点评

微信怎么截图wxgzpt.cc/weixinshiyongjiaocheng/387.html  发表于 2014-11-18 23:01
推荐
发表于 2013-10-17 08:22:27 | 只看该作者
微软技术文章
在某些基于统一可扩展固件接口 (UEFI) 的计算机上,固件会在计算机启动时为本地设备(如 CD-ROM 或硬盘驱动器)创建稳定随机存取内存 (NVRAM) 项。Bcdedit 会将 NVRAM 中的固件命名空间对象与系统启动配置数据 (BCD) 同步。当您执行 bcdedit /set 或 /enum 命令时,Bcdedit 会打开系统 BCD 存储。当 bcdedit 打开 BCD 时,它将 NVRAM 中的项与 BCD 中的项进行比较。如果 NVRAM 中由固件创建的项在 BCD 中不存在,则将它们添加到系统 BCD。当 bcdedit 关闭系统 BCD 时,BCD 中包含的但 NVRAM 中不存在的任何启动管理器项将被添加到 NVRAM。bcdedit /import 命令可将所有固件命名空间对象从系统 BCD 复制到 NVRAM 中。

回复

使用道具 举报

3#
 楼主| 发表于 2013-4-18 10:17:42 | 只看该作者
C:\Users\magic>bcdedit /enum firmware

固件启动管理器
---------------------
标识符                  {fwbootmgr}
displayorder            {c034533c-aeaf-19e1-b862-806e6f6e6963}
                        {c034533e-aeaf-19e1-b862-806e6f6e6963}
                        {c034533a-aeaf-19e1-b862-806e6f6e6963}
                        {c034533b-aeaf-19e1-b862-806e6f6e6963}
                        {c034533d-aeaf-19e1-b862-806e6f6e6963}
timeout                 0

Windows 启动管理器
--------------------
标识符                  {bootmgr}
device                  partition=X:
path                    \EFI\Microsoft\Boot\bootmgfw.efi
default                 {current}
displayorder            {current}

固件应用程序(101fffff)
-------------------------------
标识符                  {c034533a-aeaf-19e1-b862-806e6f6e6963}
description             Optical Disk Drive

固件应用程序(101fffff)
-------------------------------
标识符                  {c034533b-aeaf-19e1-b862-806e6f6e6963}
description             Notebook Hard Drive

固件应用程序(101fffff)
-------------------------------
标识符                  {c034533c-aeaf-19e1-b862-806e6f6e6963}
device                  partition=X:
path                    \EFI\89ddafb2d906a4551dc5c41fa57e8628\BOOTX64.EFI
description             WindSLIC

固件应用程序(101fffff)
-------------------------------
标识符                  {c034533d-aeaf-19e1-b862-806e6f6e6963}
description             Notebook Ethernet

固件应用程序(101fffff)
-------------------------------
标识符                  {c034533e-aeaf-19e1-b862-806e6f6e6963}
device                  partition=X:
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
回复

使用道具 举报

4#
 楼主| 发表于 2013-4-18 10:18:24 | 只看该作者
二楼是个典型,主要还是不太了解,求教版主
回复

使用道具 举报

5#
发表于 2013-4-18 12:17:36 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-19 00:47 编辑

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。
回复

使用道具 举报

6#
发表于 2013-4-18 14:36:03 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-19 00:47 编辑

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。
回复

使用道具 举报

7#
发表于 2013-4-18 14:43:10 | 只看该作者
这个东西应该就是cmos的升级版,用于存储uefi的各种设置。
不知有没有人试过,uefi主板抠掉纽扣电池之后,那个{fwbootmgr}菜单还在吗,主板的其他设置还在吗?
回复

使用道具 举报

8#
发表于 2013-4-18 16:04:06 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-19 00:47 编辑

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。
回复

使用道具 举报

9#
发表于 2013-4-18 16:48:44 | 只看该作者
2011hiboy 发表于 2013-4-18 16:04
你必须知道NVRAM不是UEFI定义的!!!!(并不是没有UEFI之前就没有NVRAM,NVRAM在UEFI之前就存在了)
...

cmos也是存储设备,bios的设置信息保存在cmos里面,cmos要靠电池供电才能维持存储,主板上电池没电了,关机后cmos保存的信息也会丢失
回复

使用道具 举报

10#
发表于 2013-4-18 16:54:16 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-18 17:01 编辑
fujianabc 发表于 2013-4-18 16:48
cmos也是存储设备,bios的设置信息保存在cmos里面,cmos要靠电池供电才能维持存储,主板上电池没电了,关 ...


我查了下,CMOS的确是个存储芯片.......

我的主板上面我貌似没有看到,我刚刚翻了下主板图片,可惜没看到,,我的机器支持UEFI....

然后我修复的那台BIOS损坏的机器也没有发现CMOS芯片,那台P428机器不支持UEFI,

所以我估计新机器上CMOS被NVRAM替代了。

点评

版主,你那篇伟大的uefi教程(置顶帖)里面真的不该对nvram只字不提 你的帖子不应该uefi启动视频详解,因为根本没有解释uefi是怎么启动的,如何修改启动。也许叫uefi引导光盘、U盘启动win8pe,或许更为妥当。里面甚  详情 回复 发表于 2013-9-30 23:40
回复

使用道具 举报

11#
发表于 2013-4-18 19:27:21 | 只看该作者
2011hiboy 发表于 2013-4-18 16:54
我查了下,CMOS的确是个存储芯片.......

我的主板上面我貌似没有看到,我刚刚翻了下主板图片,可惜没 ...

或许现在的UEFI主板不用再靠那颗纽扣电池来维持设置数据了,纽扣电池只要管时间不停跑就行了
回复

使用道具 举报

12#
发表于 2013-4-18 21:30:42 | 只看该作者
本帖最后由 2013hkwwcl 于 2013-4-18 21:33 编辑

cmos是什么,在哪里,懂bios编程的自然懂,nvram是什么,在哪里,最后再提是一遍:看联盟资料。有些东西以讹传讹,特别是国内网页
回复

使用道具 举报

13#
发表于 2013-4-18 21:47:52 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-19 00:48 编辑

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。
回复

使用道具 举报

14#
发表于 2013-4-18 22:14:53 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-19 00:49 编辑

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。
回复

使用道具 举报

15#
发表于 2013-4-18 22:41:19 | 只看该作者
本帖最后由 2011hiboy 于 2013-4-19 00:49 编辑

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。
回复

使用道具 举报

16#
发表于 2013-4-18 23:38:50 | 只看该作者
火药味重呀。
以和为贵。呵呵。
回复

使用道具 举报

17#
发表于 2013-4-19 00:51:04 | 只看该作者
myBOOT 发表于 2013-4-18 23:38
火药味重呀。
以和为贵。呵呵。

哈哈,没什么现在已经分出对错了,我是错的。不过这玩意深层次的了解我还真不懂,人不怕犯错,吸取教训即可。

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。
回复

使用道具 举报

18#
发表于 2013-4-19 23:08:13 | 只看该作者
coms 是在南桥内, 要电池供着
回复

使用道具 举报

19#
发表于 2013-9-30 23:40:59 | 只看该作者
2011hiboy 发表于 2013-4-18 16:54
我查了下,CMOS的确是个存储芯片.......

我的主板上面我貌似没有看到,我刚刚翻了下主板图片,可惜没 ...

版主,你那篇伟大的uefi教程(置顶帖)里面真的不该对nvram只字不提
你的帖子不应该uefi启动视频详解,因为根本没有解释uefi是怎么启动的,如何修改启动。也许叫uefi引导光盘、U盘启动win8pe,或许更为妥当。里面甚至连Linux都没有提到……
我已经弄了一周了,遇到诸多问题都和nvram有关系。我现在想通过bcdedit和efibootmgr两个软件(分别是Windows和Linux)管理启动项,主要是手动添加到nvram,资料实在是少,无奈只能度英文的呢。。
你们专业研究启动的应该多深入点嘛,给后人留下点东西,免得每个人都要再搞一次。

点评

用BCDEDIT可以修改NVRAM,也就是修改计算机启动项,你同时在uefi的windows上面安装ubuntu就会同时出现"windows boot manager"和"ubuntu"两个计算机启动项,可以开机选择,参考ubuntu的添加,可以添加任意的efi启动文  详情 回复 发表于 2013-10-3 21:52
回复

使用道具 举报

20#
发表于 2013-10-3 21:52:53 | 只看该作者
2012mine 发表于 2013-9-30 23:40
版主,你那篇伟大的uefi教程(置顶帖)里面真的不该对nvram只字不提
你的帖子不应该uefi启动视频详解,因 ...

用BCDEDIT可以修改NVRAM,也就是修改计算机启动项,你同时在uefi的windows上面安装ubuntu就会同时出现"windows boot manager"和"ubuntu"两个计算机启动项,可以开机选择,参考ubuntu的添加,可以添加任意的efi启动文件,2011hiboy已经讲的很清楚了,要仔细看。

点评

我怀疑你的环境比较简单,你尝试一下把硬盘拔下来插到另外一块硬盘上开机,再插回来再开机。 目前测试的结果bcdedit修改的文件是EFI/Microsoft/Boot/BOOTSTAT.DAT 无法修改nvram内容,efibootmgr和easyuefi是可以修  详情 回复 发表于 2013-10-4 19:03
回复

使用道具 举报

21#
发表于 2013-10-4 19:03:14 | 只看该作者
lattice 发表于 2013-10-3 21:52
用BCDEDIT可以修改NVRAM,也就是修改计算机启动项,你同时在uefi的windows上面安装ubuntu就会同时出现"wi ...

我怀疑你的环境比较简单,你尝试一下把硬盘拔下来插到另外一块硬盘上开机,再插回来再开机。
目前测试的结果bcdedit修改的文件是EFI/Microsoft/Boot/BOOTSTAT.DAT
无法修改nvram内容,efibootmgr和easyuefi是可以修改nvram内容的。
但是nvram内容非常不稳定,怎么备份和还原我还没有想到办法。
我自己的问题已经完全可以解决了,还有一件事,就是我想要打开 .efi 文件,修改其默认配置文件的路径,或者重新编译也行,目前还找到办法。
continue ing···
回复

使用道具 举报

22#
发表于 2023-8-7 15:25:23 | 只看该作者
本帖最后由 pda8888 于 2023-8-7 15:28 编辑

bcdedit可以更改nvram的启动条目名称

  1. bcdedit /set "$guid" description "$NewName"
复制代码


我试的,改了之后,在BIOS里面看到的启动项就是$NewNamer的值
但是我不知道如何virtualbox虚机的vnram里面增加启动条目,因为我做了第2个EFI分区,在真机上,只要第2个EFI分区的\EFI\BOOT\BOOTX64.EFI存在,在BIOS里面自然就可以看到第2个EFI分区的启动项目了,只是要用前面说到的方法改它的名称,不然跟WINDOWS一样叫UEFI……啥啥的统一名字。

注:我说的在virtualbox虚机增加NVRAM启动条目,是说的在虚机的windows环境下。在虚机的BIOS设置里面,很容易增加。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-23 10:31

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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