Windows Boot Manager 是 Windows 系统自带的标准且功能完善的引导程序,在 Windows Vista 之后就代替了 NTLDR 成为了 UEFI 和传统 BIOS 双模式环境下的主要启动模块之一,该模块位于 ESP 分区内的 bootmgfw.efi 可执行文件之中,并且是由固件直接加载执行的;除了可以识别和列举出所有安装在系统上的操作系统之外(包括同时存在多个操作系统的状况),还可以显示一个图形化的启动菜单、提供恢复选项以及进行安全启动的支持工作,在整个 Windows 引导流程里起着至关重要的作用。

1. Windows Boot Manager的基本功能和工作原理
不同于传统的加载程序,在UEFI规范之下被严格地定义为引导管理器,它不需要操作系统的内核就可以在系统启动之初就被固件所调用。它的工作流程如下:UEFI固件从NVRAM中读取预先设置好的启动选项,找到ESP分区下的EFIMicrosoftBoot\bootmgfw.efi文件并按照标准的EFI应用方式进行执行。此文件大小约为1.2MB,并且经过了微软的安全数字签名认证并且可以进行Secure Boot验证链路;而在BIOS模式下(即老式的CSM模式)则使用bootmgr.exe来实现兼容性的加载但是功能受到限制不能够开启快速启动或者BitLocker启动验证等功能。
二、在实际应用中常见的操作步骤
如果用户想要改变默认启动的行为的话,应该先用系统的自带工具来操作而不能直接去修改分区。比如要把Windows Boot Manager设置为第一启动项的话就需要进入到主板的UEFI设置菜单里面去,在Boot选项里找到Boot Option Priorities,在UEFI Boot Order中把“Windows Boot Manager”拉到最前面然后保存退出;如果要加入一个Linux系统的启动项的话就在管理员权限下的命令提示符下输入bcdedit /create /d “Ubuntu” /application bootsector 命令创建一个新的启动项,并且还要用bcdedit /set {ID} device partition=C: 和bcdedit /set {ID} path EFIubuntu grub grub64.efi 来完成挂载的工作。这样做的好处是不会破坏GRUB独立工作的特性也不会影响到Linux系统的正常启动所以属于微软官方推荐的一种多操作系统共存的方法。
第三部分是对于一些常见的错误认识进行辨别,并且给出应用范围上的界限说明
Bootmgfw.efi 只能装载 Windows 内核映像(winload.efi、winresume.efi)或者符合 EFI 规范的第三方启动器(比如 GRUB2 的 EFI 版本),不能直接启动 Legacy MBR 分区里的操作系统,并且它没有磁盘分区识别和文件系统解析的能力,所有的路径解析都依靠固件提供的 EFI_BLOCK_IO_PROTOCOL 和 EFI_SIMPLE_FILE_SYSTEM_PROTOCOL 接口来完成。所以在双硬盘安装不同的操作系统的场景下,必须要保证目标系统的引导文件处于同一个被 UEFI 固件识别出来的 NVMe/SATA SSD 的 ESP 区域里,否则就会出现“找不到操作系统”的问题。
因此,Windows Boot Manager 作为高度集成、安全可控并且紧密耦合于UEFI架构的一个标准引导管理模块,它的设计初衷就是统一启动方式、提高启动安全性以及给最新的Windows系统创建一个可以扩展的引导环境。







评论区 (0)
暂无评论,快来抢沙发吧!
发表评论