本教程针对于UEFI启动来叙述的,根据普遍的支持UEFI的机器来叙述。

标题简要说明:
Windows Boot Manager  --------安装完Windows系统后而出现的启动选项(相关的信息存储在NVRAM),可以删除和建立,和bcdboot.exe有关
Bootmgfw.efi  --------引导Windows的引导文件  
Bootx64.efi ---------UEFI的必需引导文件
bcdboot.exe--------修复UEFI启动的命令行工具,微软出品

开始前先引进两个概念:

计算机默认引导  -----------就是不管你的计算机有没有操作系统,定义了UEFI启动后将通过Bootx64.efi 引导你的计算机,并进入各种模式,维护、安装计算机或者系统。
                                          这里是 Bootx64.efi ,它只是一个通用名,权限丰富且大于Windows 默认,就是说如果你的Windows 默认的启动文件不在了,
                                          启动计算机默认的引导文件Bootx64.efi 也是可以启动计算机的。使用计算机默认文件随时可以在各种环境下启动计算机,EFI SHELL、ISO、
                                          Windows、Linux...都可以,通吃型.

Windows默认引导 -------就是你为计算机安装了操作系统,或者修复了UEFI引导后,启动菜单会有 Windows Boot Manager 选项,该选项默认从bootmgfw.efi 启动系统
                                          bootmgfw.efi  该位置的该文件只能用于启动Windows,不是通用名,权限单一

0、
对于UEFI启动环境来说,Bootx64.efi 用处更大,这里Bootx64.efi 是个通用名,就是所任意有效的efi改成Bootx64.efi 都被计算机启动加载,并启动。
bootmgfw.efi 不是通用名,只适合启动Windows。

当然对于UEFI启动Windows来说Bootx64.efi 和bootmgfw.efi 其实是同一个文件,二者的循环冗余校验CRC值是一样的。
他们都有启动windows的能力,但是身处的位置不一样,

efi\boot\bootx64.efi 
efi\microsoft\boot\bootmgfw.efi

对系统的引导产生的影响肯定也不一样,下面我们来验证....

从三个方向来讲:(以下结论都经过事实验证,经得住任何怀疑和猜测!!)
========================================================
1、光盘介质UEFI启动【已验证】:

通过分析微软原装镜像的UEFI引导记录(efisys.bin)我发现,最初出光盘的引导文件是efi\boot\bootx64.efi,因为此项验证较简单,我总共验证了:
win7 x64 ;win8 x86 ;win8 x64 三者的光盘引导文件分别是 bootx64.efi  bootia32.efi  bootx64.efi

结论:UEFI在光盘上的启动不依赖于操作系统,可认为是无操作系统环境,故 bootx64.efi 是计算机默认引导文件========================================================

2、移动磁盘介质UEFI启动【已验证】:

普遍的,可以从论坛上看到通过bootx64.efi 启动U盘

结论:UEFI在移动磁盘介质上的启动不依赖于操作系统,可认为是无操作系统环境,故 bootx64.efi 是计算机默认引导文件
========================================================

3、本地磁盘介质UEFI启动【已验证】:

::原生ESP(or efi)分区引导文件分析

在微软win10 x64的操作系统,分析efi分区的全部文件,分别存在: 
efi\boot\bootx64.efi 
efi\microsoft\boot\bootmgfw.efi

我们不禁思考:哪个文件测试真正用到的呢?计算机默认启动哪个呢?系统默认启动哪个呢?

那好很简单,我们依次删除他们看看系统能否启动就知道了....

1、删除 bootmgfw.efi ,保留 bootx64.efi

>结果:
选择 从本地硬盘启动 系统仍然可以引导进入
选择 Windows Boot Manager 进入失败

2、删除 bootx64.efi ,保留 bootmgfw.efi

>结果:
选择 从本地硬盘启动 进入失败
选择 Windows Boot Manager 系统仍然可以引导进入

结论:
bootx64.efi 是计算机默认引导文件
bootmgfw.efi 是 Windows默认引导文件

4、bcdboot 和 “Windows Boot Manager ” “ Bootmgfw.efi” “  Bootx64.efi ” 之间的联系

bcdboot 修复系统引导的命令格式: bcdboot 系统位置 /l 语言

例:

1 bcdboot c:\windows /l zh-cn

我们执行完这段代码后:

bcdboot.exe 会修复系统引导,而且会同时修复计算机默认引导和Windows 默认引导,在efi分区同时出现bootx64.efi和bootmgfw.efi,

并且bootx64.efi是由bootmgfw.efi 改名而来的。与此同时在Boot Menu启动选择菜单那里生成“Windows Boot Manager”,

Windows Boot Manager 及其包含的信息是保存在主板上的NVRAM里面的,而不是保存在硬盘上,故删除Windows Boot Manager需要到BIOS设置区删除。

::这里我们如果通过bcdedit查看bcd文件的话,我们可以发现,bootmgfw.efi 是 Windows默认引导文件。所以我们的结论同原生ESP分区测试的结论一样。

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

结论:
bootx64.efi 是计算机默认引导文件
bootmgfw.efi 是 Windows默认引导文件

最后:
写这篇帖子最主要的原因,是能够让那些不是很明白Bootx64.efi和Bootmgfw.efi区别的、或者模糊知道的朋友,清楚了解二者之间的关联以及区别不要再有 Bootx64.efi就是Bootmgfw.efi改名而来的、Bootx64.efi就是Bootmgfw.efi
像这些不正确的说法,以免误导后来的朋友.....
准确的说:“Bootx64.efi 可以是 Bootmgfw.efi,也可以是其他任意有效的efi程序”

另:
通过上面的验证可以知道UEFI下修复Windows 引导可以分为:修复计算机默认引导和Windows默认引导。

比较通用的是修复计算机默认引导,如果你能够会UEFI下手动/自动修复计算机默认引导,那么修复Windows 默认引导也不在话下,

从UEFI层面上说,Windows其实是计算机的一个efi应用,它被计算机包含了。所以修复计算机默认引导才是万能的。

当然,在不会手动修复的时候,bcdboot还是很有用的,正常情况下都能修复。只要你的系统没有经过过度精简,bcdboot应该都能搞定,
能够学会手动修复就不用担心这些了。

下方是一个手动修复计算机默认引导的视频教程,在一楼底部,视频看起来很直观,一看就懂。修复计算机默认引导后,我们可以直接引导Windows,
而可以不必理会Windows默认引导是否存在或者是否正确。

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=303679&page=3#pid2789441

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=299643&page=1

转载于:https://www.cnblogs.com/liuzhenbo/p/10825136.html

Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 文件的关系相关推荐

  1. 关于重装系统后Boot下EFI的Windows Boot Manager括号中不是系统盘的问题

    如下图 先说修改思路,再猜测一下导致问题的原因. 1.先备份EFI分区,然后还原到系统盘的EFI分区(暂称为J),可以用Diskgen或者傲梅备份软件. 2.下载微PE2.2版本,不要太老的版本,然后 ...

  2. Windows10计算机无法启动,Win10电脑无法开机提示Windows boot manager

    Windows10系统电脑无法开机,且出现Windows boot manager界面,并提示\Boot\BCD 0xc000000f,这是怎么回事呢?其实,该问题是BCD文件丢失或损坏导致的.下面, ...

  3. w讠ndows Boot Manager,开机出现boot manager该怎么办 开机出现windows boot manager怎么解决 - 云骑士一键重装系统...

    系统:win7 64位旗舰版 软件版本:云骑士装机大师V12.7 开机无限出boot manager有可能是磁盘主引导损坏,系统启动文件损坏,磁盘损坏等,我们可以对电脑进行重装系统. 1.首先在官网下 ...

  4. win10自定义Windows Boot Manager 大小、及安装位置重装win10系统

     告别傻瓜式一键装机,搞清楚系统安装原理,清清楚楚.明明白白的知道自己的系统在哪里!!!!!! 1.首先准备win10PE工具,推荐使用 老毛桃.大白菜.U大师等 2.下载win10系统:http:/ ...

  5. Windows 系统的bootloader —— Windows Boot Manager

    ###首先介绍操作系统启动过程 加电启动的时候首先载入BIOS(Basic Input Output System),并通过BIOS程序去载入CMOSz中的信息,然后借助CMOS内设定的值去获取主机的 ...

  6. 启动计算机引导windows10,win10电脑启动界面提示windows boot manager怎么解决

    通常情况,用户正常启动win10电脑是能够直接进入系统的,但是也不能排除系统出现故障导致无法启动的情况,最近就有用户在启动win10电脑时出现windows boot manager的黑屏现象,这是由 ...

  7. 启动计算机引导windows10,技术详解win10电脑启动界面提示windows boot manager的详尽处理举措...

    今天有一位用户说他安装了win10系统以后,在使用中突然遇到了win10电脑启动界面提示windows boot manager的情况,要是遇到这个问题的用户对电脑知识不是很了解的话,可能自己就不知道 ...

  8. Windows Boot Manager消失解决方法记录

    一.WBM如何消失的 安装了一次Windows更新,安装完重启,就进不去系统了,报找不到驱动器 插启动盘重启准备修复,看到是这样的情况 如图:Windows Boot Manager不见了,变成一条空 ...

  9. bios中只有windows boot manager下用U盘启动

    在重装系统的时候,很多时候都是先进入bios设置成U盘启动项,然后进行安装,如果年代久远一点的,就设置成光驱启动,再进行:随着时间的推行,光驱已经开始淘汰了,也怀念以前的光驱装机的时光!-:) 开始进 ...

  10. Windows编译开源代码方法之关于lame.exe文件的测试及过程

    Windows编译开源代码方法之关于lame.exe文件的测试及过程 最终结果(PS:使用markdown不熟悉,记得在井号后面加个空格才能触发) 起因:foobar2000在格式转换中需要lame. ...

最新文章

  1. php curl 内容采集
  2. 运用C#生成docx格式的报表
  3. 中国通信企业投身罗马尼亚智慧城市建设
  4. 计算机组成原理:中央处理器
  5. android分享软件功能的实现
  6. php 1天,自学PHP之第1天-字符串函数 - 晓雨网
  7. mysql命令:为mysql命令指定字符集
  8. CocosCreator2.1.0渲染流程与shader
  9. Codeforces Round #323 (Div. 1) B. Once Again... 暴力
  10. 贴花纸怎么贴_电子便签贴怎么使用?怎么在电脑上贴便签
  11. Java基础复习笔记系列 七 IO操作
  12. java 查找链表中间元素,如何找到链表的中间节点?
  13. EasyRecovery的工具栏介绍
  14. 浅谈跨平台框架 Flutter 的优势与结构 1
  15. html5全栈工程师招聘,蓝鸥HTML5全栈工程师 高薪就业的利器
  16. oracle_j000,DBA手记:System State转储之ROW CACHE对象
  17. html中的列表、表格、表单
  18. 软件工程文档——步骤流程图
  19. 学数据结构堆襸_gbk编码 - osc_6pogm9r5的个人空间 - OSCHINA - 中文开源技术交流社区...
  20. 解决maven pom依赖的jar无法从私服下载问题【复制大法】

热门文章

  1. 【大数据语言】怎样利用Python爬虫,高效获取大规模数据
  2. 微信小程序 - WXML语法与HTML比较
  3. 桂林老兵站ASP木马
  4. 哪个Linux可以运行国服lol,Linux wine国服LOL英雄联盟,完美运行!!
  5. MSDN 精简版 1.6
  6. Java开源企业协同办公项目:O2OA如何集成WPS
  7. 反恐精英ol永恒python厉害吗_【CS】Python高阶
  8. CDN是什么?CDN的工作原理?使用CDN有什么优势?
  9. hexo搭建博客系列(六)百度,必应,谷歌收录
  10. [答疑]关于产品线:充气娃娃,苍井空,猩猩