前言:

1、本教程针对于UEFI启动来叙述的,根据普遍的支持UEFI的机器来叙述
2、本教程以Windows 8 X64 来作为参考

标题简要说明:
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分区引导文件分析

我为此安装了微软win8 x64的操作系统,分析ESP分区的全部文件,分别存在: 
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

2.

复制代码

当我们执行了上述代码后:

bcdboot.exe 会修复系统引导,而且会同时修复计算机默认引导和Windows 默认引导,在ESP分区同时出现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默认引导是否存在或者是否正确。

【完美版】挂载GPT磁盘的ESP分区的批处理+手动修复UEFI+GPT系统引导视屏教程
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=300068&fromuid=396698

计算机默认引导的一些文件参考:
UEFI启动详解:启动分析+N项操作实例,赶紧进来学习,不要落伍啦,该给自己充电咯...
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=299643&fromuid=396698

参考:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=303679

关于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命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

最新文章

  1. 连麦互动直播方案全实践3:网易云信连麦互动的实现方案
  2. android 之ListView总结(一个综合实例)
  3. java练习_Java基础笔试练习(一)
  4. supervisor开机自启动方法
  5. 废弃P-value,还是学学如何评估统计检验结果?
  6. 排序算法:直接插入排序算法实现及分析
  7. 随机产生13个0~51不同的随机数 -思想(定义参考系)
  8. 打造SpringBootTemplate(SpringBoot项目的模版)
  9. 苹果Mac文件自动化整理工具:Hazel
  10. HP02: ssh: Could not resolve hostname hp02: Name or service not known HP01: ssh: Could not resolve h
  11. 实话实说?基金公司“存量时代”的创新
  12. Mobileye/博世/大陆智驾份额「持续下滑」,本土供应商「起势」
  13. Quartus II中通过调用IP核实现RS编解码
  14. 安卓Push Rejected解决
  15. Unity3d打包程序报错NotSupportedException: Encoding 437 data could not be found.
  16. centos linux引导修复_centos 系统引导修复办法
  17. SpringBoot下载文件的正确方式~
  18. 香蕉派 Banana pi BPI-R2 开源智能路由器 MTK 7623N 方案设计
  19. 计算机上的mrc代表,mrc是什么?
  20. 关于邮箱前端架构的一些思考

热门文章

  1. 迅捷音频转换器怎么使用?
  2. 2021年危险化学品经营单位安全管理人员实操考试视频及危险化学品经营单位安全管理人员操作证考试
  3. 信息收集之namp扫描
  4. 计算机屏保黑屏取消,电脑怎么取消屏保黑屏
  5. iOS 让CoreData更简单些
  6. Firemonkey Control的TabStop处理
  7. wps文档乱码怎么修复呢?
  8. WIN7 Activation,完美激活Windows 7,开机无字符,无OEM信息
  9. 阿里巴巴CRM库问题
  10. 百分字符知识付费教程