引导加载器如何接力进系统?bootmgr 与 EFI 引导文件
说清 bootmgr 在 UEFI 与 Legacy 两种模式下分别站在接力哪一棒:固件交给谁、BCD 起什么作用、引导项丢失后怎么重建。
结论先行
引导加载器(bootloader)是固件与系统之间的「接力棒」:Legacy 模式里固件执行磁盘 MBR 上的跳转代码,跳到活动分区的 bootmgr;UEFI 模式里固件直接按 NVRAM 里的引导项读取 EFI 系统分区中的 bootmgfw.efi。两种模式最后都交给同一个 BCD(启动配置数据库) 去找到内核,完成进入系统的接力。
接力棒传递顺序
| 模式 | 固件交出控制权给 | 关键位置 |
|---|---|---|
| Legacy | MBR 跳转代码 → 活动分区的 bootmgr | 磁盘首扇区 + 活动分区 |
| UEFI | ESP 分区里的 bootmgfw.efi(引导项记录在 NVRAM) | EFI 系统分区(ESP) |
两条路汇合后:bootmgr → 读 Windows\Boot\Data 下的 BCD 库 → 找到内核(kernel + HAL)→ 交入系统。
BCD 相当于「系统启动通讯录」。通讯录丢了或写错,症状就是「能进 BIOS、找不到系统」,此时修的是 BCD/ESP,不是重装。
常见接力断点与修复入口
- ESP 分区丢失或被格式化(装双系统、改分区时误删):进 PE 用
diskpart建出 ESP 并挂载,再用bcdboot把引导文件写回,重建 NVRAM 引导项。 - BCD 损坏/指向错误的磁盘:PE 里
bootrec /fixboot、bootrec /rebuildbcd,或bcdedit检查条目。 - 启动 U 盘本身不接力:刻写方式与启动模式不匹配(UEFI 要求可执行 UEFI 引导文件),用 Rufus 条目 或 Ventoy 条目 对照制作参数。
- 修完启动仍进不去系统,再按 Windows 条目查系统层故障。
操作小结
- 先分清机器走 UEFI 还是 Legacy(BIOS 里当前模式即答案)。
- 检查接力棒三件:ESP 分区在不在、引导文件全不全、NVRAM 引导项指向对不对。
- PE 里用 bcdboot / bootrec 重建,重启验证。
- 重建后仍失败,记录引导菜单里实际出现的条目名,再定位。