无忧启动论坛

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

[求助] uefi中出现的windows boot manager,什么时间写进去的?

[复制链接]
跳转到指定楼层
1#
发表于 2015-12-27 21:05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 bluerats329 于 2015-12-27 21:37 编辑

我用VMWARE虚拟机 做UEFI实验。

安装完win10后,uefi中会出现windows boot manager的启动项。
如果把这个"windows boot manager"启动项删除,
下一次启动时,又会出现。
经过查资料和做实验,我知道
这个"windows boot manager"启动项是保存在UEFI的NVRAM,且是指向ESP分区中\efi\microsoft\boot\bootmgfwi.efi的启动方式.

我的疑问是,删除 "windows boot manager"启动项 后,
再启动win10时,win10是什么时间写进UEFI的NVRAM中的。
或者说是 运行哪个文件时写进去的,或者哪个文件中的哪个函数 写进去的。

我做实验,删除 "windows boot manager"启动项 后,
通过选择硬盘引导,
在所选硬盘上,找到ESP分区后,通过bootx64.efi文件找到BCD引导选项,根据BCD内的系统引导选项,选择引导的系统。

在BCD中,设置多个选项,让系统启动时,在次停留。然后断电。
此时查看UEFI中,仍然没有  "windows boot manager"启动项,
如果通过BCD引导后,出现启动画面。如果出现启动画面5秒后(机械硬盘,非固态硬盘),断电关机,仍然没有  "windows boot manager"启动项,

至少出现启动画面10秒后,断电,才能在UEFI的NVRAM中出现 "windows boot manager"启动项。


不知表达清楚没有,有疑问,请随时拍砖。

点评

你是新手吗?文字已经很清楚了,就是在转圈时产生的,还问谁呢  发表于 2015-12-27 21:19
2#
 楼主| 发表于 2015-12-27 21:22:59 | 只看该作者
谢谢 回帖。

想弄清楚,转圈时,运行哪个文件时写进去的,或者哪个文件中的哪个函数 写进去的。

点评

虽然你似乎会编写程序,但是似乎又很新手,奇怪的很,最小环境法,与电脑最小环境检测故障一样,将 WINDOWS文件夹改名,看效果,如果加载系统前就改变,肯定是引导程序本身如BOOTMGR或对应的EFI启动器*.EFI  发表于 2015-12-27 22:43
回复

使用道具 举报

3#
 楼主| 发表于 2015-12-28 07:55:18 | 只看该作者
感谢回复!
我只知道由winload.efi来加载内核,不懂内核的加载过程。

点评

如果基础的不懂,就不需要懂的,或者百度WINDOWS启动全过程,不玩了。  详情 回复 发表于 2015-12-28 08:02
回复

使用道具 举报

4#
 楼主| 发表于 2015-12-28 08:18:30 | 只看该作者
本帖最后由 bluerats329 于 2015-12-28 08:21 编辑

感谢及时回帖!
百度过了,
启动过程,大多数都是讲到winload.
win8 win10的内核加载过程,没找到。
如果有研究过这个问题的,回复一下,最好了。

懂win8或win10由winload加载内核过程的,贴出来,我来做实验也不错。

感觉不是BOOTMGR或对应的EFI启动器*.EFI,因为启动画面开始后,这些文件都运行完了。
虚拟机不在手头,没做实验。


“如果基础的不懂,就不需要懂的,”“不玩了。”。贴主这种心态,我不太认同。请原谅。

回复

使用道具 举报

5#
发表于 2015-12-28 08:44:21 | 只看该作者
大家都对这个问题不感兴趣。
就如同大神所说,仔细想一下自己就可以推测出来。
支持楼主的学习精神!
回复

使用道具 举报

6#
 楼主| 发表于 2015-12-28 08:51:10 | 只看该作者
lbw2007 发表于 2015-12-28 08:44
大家都对这个问题不感兴趣。
就如同大神所说,仔细想一下自己就可以推测出来。
支持楼主的学习精神!

谢谢表扬。
确实能推测个大概,但我想知道更具体的知识。
继续等,
有时间,我也会继续自己找资料,做实验。

点评

如果我没猜错的话应该是bcdedit写入的。因为在BCD里面也存在windows boot manager。 或者是某个程序调用bcdedit来写入的。  详情 回复 发表于 2015-12-28 09:16
回复

使用道具 举报

7#
发表于 2015-12-28 09:16:01 | 只看该作者
bluerats329 发表于 2015-12-28 08:51
谢谢表扬。
确实能推测个大概,但我想知道更具体的知识。
继续等,

如果我没猜错的话应该是bcdedit写入的。因为在BCD里面也存在windows boot manager。
或者是某个程序调用bcdedit来写入的。
回复

使用道具 举报

8#
发表于 2016-1-4 10:26:57 来自手机 | 只看该作者
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface_(简体中文)#Windows_.E6.94.B9.E5.8F.98.E4.BA.86.E5.90.AF.E5.8A.A8.E6.AC.A1.E5.BA.8F

点评

windows boot manager有时候会写个四五个 你问我是谁写的我只能说不知道 兴许写这个wiki词条的人知道吧  详情 回复 发表于 2016-1-4 10:38
回复

使用道具 举报

9#
发表于 2016-1-4 10:38:00 来自手机 | 只看该作者
求道者 发表于 2016-1-4 10:26
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface_(简体中文)#Windows_.E6.94 ...

windows boot manager有时候会写个四五个
你问我是谁写的我只能说不知道

兴许写这个wiki词条的人知道吧
回复

使用道具 举报

10#
发表于 2016-3-5 17:18:44 | 只看该作者
首次安装系统后,它第一次进入系统是调用bootx64.efi才进入的。这个"windows boot manager"是你首次安装并进入系统后,系统调用bcdedit向UEFI固件写入的,因此第二次进入系统就是调用\efi\microsoft\boot\bootmgfwi.efi。你说将windows boot manager删除,它就会检测有否bootx64.efi,进入系统它又帮你重新写入修复。
------------------------------------------------------------------
你将bootx64.efi和windows boot manager删除,看你能进入系统不!\efi\boot\bootx64.efi是U盘和硬盘默认加载项的路径,是放在盘里的。windows boot manager是放在UEFI固件(bios)里的,存放地方不一样。假如其中一个地方出错,另一个帮你修复而已,这样可以使用你能正常进入系统。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-25 03:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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