无忧启动论坛

标题: nvram,什么是{fwbootmgr} [打印本页]

作者: 小忧忧    时间: 2013-4-18 10:16
标题: nvram,什么是{fwbootmgr}
对于bootmgfw.efi我们看到版主的教程有一定的了解,但对于“nvram,什么是{fwbootmgr}
”是什么东西,以及怎么操作请版主能否写个教程以供大家了解学习,谢谢。
作者: 小忧忧    时间: 2013-4-18 10:17
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
作者: 小忧忧    时间: 2013-4-18 10:18
二楼是个典型,主要还是不太了解,求教版主
作者: 2011hiboy    时间: 2013-4-18 12:17
本帖最后由 2011hiboy 于 2013-4-19 00:47 编辑

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

作者: 2011hiboy    时间: 2013-4-18 14:36
本帖最后由 2011hiboy 于 2013-4-19 00:47 编辑

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

作者: fujianabc    时间: 2013-4-18 14:43
这个东西应该就是cmos的升级版,用于存储uefi的各种设置。
不知有没有人试过,uefi主板抠掉纽扣电池之后,那个{fwbootmgr}菜单还在吗,主板的其他设置还在吗?
作者: 2011hiboy    时间: 2013-4-18 16:04
本帖最后由 2011hiboy 于 2013-4-19 00:47 编辑

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

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

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


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

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

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

所以我估计新机器上CMOS被NVRAM替代了。
作者: fujianabc    时间: 2013-4-18 19:27
2011hiboy 发表于 2013-4-18 16:54
我查了下,CMOS的确是个存储芯片.......

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

或许现在的UEFI主板不用再靠那颗纽扣电池来维持设置数据了,纽扣电池只要管时间不停跑就行了
作者: 2013hkwwcl    时间: 2013-4-18 21:30
本帖最后由 2013hkwwcl 于 2013-4-18 21:33 编辑

cmos是什么,在哪里,懂bios编程的自然懂,nvram是什么,在哪里,最后再提是一遍:看联盟资料。有些东西以讹传讹,特别是国内网页
作者: 2011hiboy    时间: 2013-4-18 21:47
本帖最后由 2011hiboy 于 2013-4-19 00:48 编辑

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

作者: 2013hkwwcl    时间: 2013-4-18 22:14
本帖最后由 2011hiboy 于 2013-4-19 00:49 编辑

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

作者: 2011hiboy    时间: 2013-4-18 22:41
本帖最后由 2011hiboy 于 2013-4-19 00:49 编辑

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

作者: myBOOT    时间: 2013-4-18 23:38
火药味重呀。
以和为贵。呵呵。
作者: 2011hiboy    时间: 2013-4-19 00:51
myBOOT 发表于 2013-4-18 23:38
火药味重呀。
以和为贵。呵呵。

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

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

作者: cjzzz    时间: 2013-4-19 23:08
coms 是在南桥内, 要电池供着
作者: 2012mine    时间: 2013-9-30 23:40
2011hiboy 发表于 2013-4-18 16:54
我查了下,CMOS的确是个存储芯片.......

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

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

用BCDEDIT可以修改NVRAM,也就是修改计算机启动项,你同时在uefi的windows上面安装ubuntu就会同时出现"windows boot manager"和"ubuntu"两个计算机启动项,可以开机选择,参考ubuntu的添加,可以添加任意的efi启动文件,2011hiboy已经讲的很清楚了,要仔细看。
作者: 2012mine    时间: 2013-10-4 19:03
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···
作者: noh2o    时间: 2013-10-17 08:22
微软技术文章
在某些基于统一可扩展固件接口 (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 中。


作者: pda8888    时间: 2023-8-7 15:25
本帖最后由 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设置里面,很容易增加。





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