bootmgr.efi 和 bootmgfw.efi 之间的区别?

bootmgr.efi 和 bootmgfw.efi 之间的区别?

我想知道bootmgr.efibootmgfw.efi文件之间有什么区别?这些文件位于 ESP 分区中EFI/Microsoft/Boot

答案1

由此关联

bootmgr - 具有 BIOS 固件的系统上的 Windows 启动管理器。此文件将作为 BIOS 启动过程的一部分加载 - 通常启动设备在 BIOS 中设置。假设启动设备是硬盘类型的设备,则加载主引导记录 > 在分区表中标识活动分区 > 加载活动分区上的分区引导记录 (PBR) > PBR 中的代码加载 bootmgr > bootmgr 加载 BCD 文件。

bootmgfw.efi - 具有 UEFI 固件的系统上的 Windows 启动管理器。此文件直接从存储在 NVRAM 中的固件启动菜单中的 Windows 启动管理器条目加载。典型的启动过程是固件启动管理器 > \EFI\Microsoft\boot\bootmgfw.efi 在 EFI 系统分区上通过 Windows 启动管理器条目加载 > bootmgfw.efi 加载 BCD 文件(BCD 文件的路径 - \EFI\Microsoft\boot\BCD)。

答案2

因此..您可能已经从运行bcdedit(在 Windows 中)或efibootmgr(在 Linux 中)中猜到了,启动引导文件是 Windows UEFI 引导加载程序,它将然后加载启动引导程序以及操作系统的其余部分。

\EFI\Boot\bootx64.efi 中的 fallback 可执行文件也发生作为这个的副本。

但似乎真的没有关于启动管理器. 在被唯一提及后微软,我发现一旦你重命名它W8高级启动选项就会失效(而系统仍然可以正常启动)。

最后但同样重要的是,这名嫌疑人被证实黑客简要提到当需要 Windows 安装程序或恢复和预安装环境时它将如何通过基本引导加载程序进行链式加载。

还解释了为什么它位于安装 DVD 介质的根目录中(尽管我仍然不确定如何在 Vista 和 7 中触发它)

答案3

我一直在尝试使用 QEMU 了解 Windows 启动过程。我将 Bootmgr.efi 和 Bootmgfw.efi 重命名为 Bootx64.efi,并存储在 \EFI\Boot 文件夹(EFI 固件加载 OS Loader Bootx64.efi 的文件夹)中。Bootmgr.efi 似乎需要签名,而 Bootmgfw.efi 则不需要。Winload.*(EXE 或 EFI)在启动时验证 Bootmgr 并在其上注册相同的信息。在我看来,Bootmgr.efi 需要在固件和 OS 中签名。Bootmgfw 可用作 Windows 的“开放”EFI Loader。每次我加载 Bootmgfw.efi 时,它都会成功搜索 \EFI\Microsoft\boot\BCD。

相关内容