前言:
1、本教程针对于UEFI启动来叙述的,根据普遍的支持UEFI的机器来叙述
2、本教程以Windows8X64来作为参考
标题简要说明:
WindowsBootManager--------安装完Windows系统后而出现的启动选项(相关的信息存储在NVRAM),可以删除和建立和bcdboot.exe有关
Bootmgfw.efi--------引导Windows的引导文件
Bootx64.efi---------UEFI的必需引导文件
bcdboot.exe--------修复UEFI启动的命令行工具,微软出品
开始前先引进两个概念:
计算机默认引导-----------就是不管你的计算机有没有操作系统,定义了UEFI启动后将通过Bootx64.efi引导你的计算机,并进入各种模式,维护、安装、计算机或者系统
这里是Bootx64.efi,它只是一个通用名,权限丰富且大于Windows默认,就是说如果你的Windows默认的启动文件不在了,
启动计算机默认的引导文件Bootx64.efi也是可以启动计算机的。使用计算机默认文件随时可以在各种环境下启动计算机,EFISHELL、ISO、
Windows、Linux...都可以,通吃型.
Windows默认引导-------就是你为计算机安装了操作系统,或者修复了UEFI引导后,启动菜单会有WindowsBootManager选项,该选项默认从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,因为此项验证较简单,我总共验证了:
win7x64;win8x86;win8x64三者的光盘引导文件分别是bootx64.efibootia32.efibootx64.efi
结论:UEFI在光盘上的启动不依赖于操作系统,可认为是无操作系统环境,故bootx64.efi是计算机默认引导文件========================================================
2、移动磁盘介质UEFI启动【已验证】:
普遍的,可以从论坛上看到通过bootx64.efi启动U盘
结论:UEFI在移动磁盘介质上的启动不依赖于操作系统,可认为是无操作系统环境,故bootx64.efi是计算机默认引导文件
========================================================
3、本地磁盘介质UEFI启动【已验证】:
::原生ESP分区引导文件分析
我为此安装了微软win8x64的操作系统,分析ESP分区的全部文件,分别存在:
efi\boot\bootx64.efi
efi\microsoft\boot\bootmgfw.efi
我们不禁思考:哪个文件测试真正用到的呢?计算机默认启动哪个呢?系统默认启动哪个呢?
那好很简单,我们依次删除他们看看系统能否启动就知道了....
1、删除bootmgfw.efi,保留bootx64.efi
>结果:
选择从本地硬盘启动系统仍然可以引导进入
选择WindowsBootManager进入失败
2、删除bootx64.efi,保留bootmgfw.efi
>结果:
选择从本地硬盘启动进入失败
选择WindowsBootManager系统仍然可以引导进入
结论:
bootx64.efi是计算机默认引导文件
bootmgfw.efi是Windows默认引导文件
4、bcdboot和“WindowsBootManager”“Bootmgfw.efi”“Bootx64.efi”之间的联系
bcdboot修复系统引导的命令格式:bcdboot系统位置/l语言
例:
1.bcdbootc:\windows/lzh-cn
2.
复制代码
当我们执行了上述代码后:
bcdboot.exe会修复系统引导,而且会同时修复计算机默认引导和Windows默认引导,在ESP分区同时出现bootx64.efi和bootmgfw.efi,
并且bootx64.efi是由bootmgfw.efi改名而来的。与此同时在BootMenu启动选择菜单那里生成“WindowsBootManager”,
WindowsBootManager及其包含的信息是保存在主板上的NVRAM里面的,而不是保存在硬盘上,故删除WindowsBootManager需要到BIOS设置区删除。
::这里我们如果通过bcdedit查看bcd文件的话,我们可以发现,bootmgfw.efi是Windows默认引导文件。所以我们的结论同原生ESP分区测试的结论一样。
UEFI规范中,关于NVRAM的正解:
NVRAM是BIOSROM中的一段区域,一般定义为64kbyte,现在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 文件 bootmgfw.efi 文件
`EFI\Microsoft\Boot`下的`bootmgfw.efi`用于传统EFI启动方式,而`EFI\Boot`下的`bootx64.efi`是UEFI的备用引导加载器,用于无特定操作系统选择时启动。 5. 更新EFI启动菜单:使用UEFI固件的设置工具,确保启动顺序...
首先,bootmgfw.efi全称为“Boot Manager Firmware Interface”,它是UEFI(统一可扩展固件接口)环境下的引导管理器,负责启动操作系统的加载过程。与传统的BIOS相比,UEFI提供了一种更加现代化、高效且安全的固件...
在Windows 7中,bootmgfw.efi作为Windows Boot Manager的一部分,它处理系统的启动流程,包括加载内核、初始化硬件以及处理恢复选项等。 描述中提到的"通过EFI shell启动WIN7程序"意味着在UEFI环境中,用户可以利用...
《启动盘bootx64.efi详解:深入理解Windows安装媒体的启动机制》 在Windows操作系统的世界里,安装媒体的启动过程是一个复杂而关键的环节。"启动盘bootx64.efi"是这一环节中的核心组件,它位于EFI(Extensible ...
首先,"bootx64.efi"是UEFI(统一可扩展固件接口)环境下的启动加载器,它的全称是"Boot Manager for x64-based systems"。UEFI是现代计算机中替代传统BIOS的新型固件接口,它提供了更高效、更安全的启动方式。"x64...
BOOTMGFW EFI SHELL(x64) 是一个与EFI(Extensible Firmware Interface)相关的压缩包,主要用于64位操作系统环境。EFI Shell是一种基于EFI标准的操作系统启动环境,它提供了命令行接口,允许用户在没有传统操作系统...
标题中的"bootmgfw.zip"是一个压缩包,包含了一个重要的系统文件——"bootmgfw.efi"。这个文件在IT领域,特别是在操作系统安装和维护中扮演着关键角色。接下来,我将详细介绍这些概念以及它们之间的关联。 首先,...
这个文件通常位于UEFI系统分区的`EFI\BOOT`目录下,对于64位系统,它的名称通常是`bootx64.efi`。这个文件负责加载操作系统的内核和初始化过程。 3. **添加到U盘启动盘**:为了将系统制作成可启动的U盘,我们需要将...
UEFI安装win7 X64位所属的文件 从Windows8的安装文件中提取Bootmgfw.efi文件,重命名为BOOTX64.EFI,拷贝到win7安装文件的\EFI\Boot\下,没有BOOT文件夹新建一个
"bootmgfw.zip" 文件则可能包含的是Boot Manager固件,即Bootmgfw.efi。这是Windows 8及更高版本中用于管理启动过程的关键组件。Bootmgfw.efi负责加载操作系统选择界面,处理多操作系统环境下的启动选项,并确保正确...
datasone 老哥的grub 加料源码,我这里顺便编译一下方便大家 https://github.com/datasone/grub-mod-setup_var 可执行命令 setup_var_cv SaSetup 0x44 0x1 0x7
在U盘根目录efi文件夹下,新建名为boot的文件夹,把bootx64.efi放入其中,就可以从U盘安装了。
实验结果显示,删除Bootmgfw.efi后,系统仍可通过Bootx64.efi引导,但删除Bootx64.efi则导致无法通过Windows Boot Manager启动,进一步证实了Bootx64.efi的计算机默认引导角色,而Bootmgfw.efi是系统默认的Windows...
官方centos-7.8.x86_64-EFI-BOOT-BOOTX64.EFI
用于PXE引导UEFI的文件grubx64.efi
BOOTX64.efi