2. 故障现象识别:常见的EFI引导失败现象
EFI系统分区(ESP)损坏或配置错误时,计算机在开机自检(POST)后无法正常加载操作系统引导程序。不同损坏程度和硬件平台会呈现不同的故障现象。准确识别这些现象是定位问题根源的第一步。
2.1 三大典型故障现象对比
下表总结了最常见的三种EFI引导失败现象及其典型成因,帮助工程师快速缩小排查范围。
| 故障现象 | 屏幕显示 | 典型成因 | 涉及组件 |
|---|---|---|---|
| 黑屏 / 无引导设备 | 黑底白字提示 “No bootable device” 或直接黑屏无反应 | BIOS/UEFI 固件找不到任何可引导的磁盘分区;ESP 分区被删除、格式化或文件系统损坏 | 固件设置、磁盘分区表、ESP 分区 |
| Bootmgr is missing | 黑底白字提示 “Bootmgr is missing. Press Ctrl+Alt+Del to restart” | ESP 分区中的 EFI\Microsoft\Boot\bootmgfw.efi 文件丢失、损坏或 BCD 配置错误 |
ESP 分区文件、BCD 引导配置数据 |
| GRUB Rescue / 引导加载器丢失 | 显示 “GRUB Rescue” 提示符或 “No such partition” | Linux 系统的 GRUB 引导加载器在 ESP 中的 EFI\ubuntu\grubx64.efi 损坏,或对应的 /boot 分区不可访问 |
GRUB 核心镜像、/boot 分区、ESP 分区 |
提示: “Bootmgr is missing” 是 Windows 系统特有的错误信息,但根本原因往往不在 Windows 系统分区(C:),而在 ESP 分区。切勿盲目重装系统,应先检查 ESP 分区完整性。
2.2 故障现象与ESP分区损坏的对应关系
ESP 分区损坏的程度不同,表现出的故障现象也不同。以下流程图展示了从 ESP 完全丢失到文件级损坏的故障演进路径。
2.3 各现象详细诊断特征
2.3.1 黑屏 / “No bootable device”
- 屏幕表现: 开机后屏幕全黑,或显示一行提示 “No bootable device — insert boot disk and press any key”。
- 固件行为: UEFI 固件遍历所有引导项(Boot Order)后,未找到任何包含有效 EFI 引导加载器的磁盘。
- 常见原因:
- ESP 分区被误删除或格式化(如重装系统时手动清除了所有分区)。
- 磁盘分区表(GPT)损坏,导致固件无法识别分区布局。
- BIOS 引导顺序被重置或错误(如添加新硬盘后默认引导设备改变)。
注意: 如果系统同时安装了 Windows 和 Linux,ESP 分区通常只有一个(FAT32 格式,大小约 100MB~500MB)。误将 ESP 分区当作普通数据分区格式化,会导致所有操作系统的引导同时失效。
2.3.2 “Bootmgr is missing”
- 屏幕表现: 黑底白字,提示 “Bootmgr is missing. Press Ctrl+Alt+Del to restart”。
- 故障定位: 该提示由 Windows 引导管理器(bootmgfw.efi)或其依赖的 BCD(Boot Configuration Data)文件缺失或损坏触发。
- 关键检查路径:
- ESP 分区是否挂载(Windows 下通常无盘符,需用
diskpart或mountvol查看)。 - ESP 分区中是否存在
EFI\Microsoft\Boot\bootmgfw.efi。 - BCD 文件(
EFI\Microsoft\Boot\BCD)是否可读,引导条目是否正确指向 Windows 系统分区。
- ESP 分区是否挂载(Windows 下通常无盘符,需用
# 在 Windows 恢复环境(WinRE)中检查 ESP 分区内容
diskpart
list disk
select disk 0
list partition
select partition 1 # 假设 ESP 分区是第1个分区
assign letter=S
exit
# 检查引导文件是否存在
dir S:\EFI\Microsoft\Boot\
# 如果 bootmgfw.efi 或 BCD 缺失,则需要重建
2.3.3 “GRUB Rescue” / 引导加载器丢失
- 屏幕表现: 显示 “GRUB Rescue” 提示符,或 “error: no such partition”、“Entering rescue mode...” 等。
- 故障定位: GRUB 第一阶段代码(在 ESP 中的
grubx64.efi)已加载,但无法找到第二阶段核心镜像(/boot/grub/下的模块和配置文件)。 - 常见原因:
/boot分区被删除、格式化或 UUID 发生改变。- ESP 分区中的
EFI\ubuntu\grub.cfg配置错误,指向了错误的磁盘或分区。 - 双系统更新后,Windows 引导管理器覆盖了 ESP 中的 GRUB 文件。
实战经验: 在 GRUB Rescue 提示符下,可以使用
ls 命令列出可用分区,然后手动加载核心镜像和模块,临时引导系统。例如:
grub rescue> ls
(hd0) (hd0,gpt1) (hd0,gpt2) (hd0,gpt3)
grub rescue> set prefix=(hd0,gpt2)/boot/grub
grub rescue> insmod normal
grub rescue> normal
如果成功进入 GRUB 菜单,说明问题仅在于 prefix 路径配置错误,重新安装 GRUB 即可修复。
2.4 故障现象快速诊断表
以下表格帮助工程师根据屏幕提示快速定位最可能的故障原因,并给出初步处理方向。
| 屏幕提示 | 最可能的故障点 | 初步处理方向 |
|---|---|---|
| No bootable device | ESP 分区丢失 / 磁盘分区表损坏 | 检查 BIOS 引导顺序 → 使用 PE 或 Live CD 检查磁盘分区表 → 重建 ESP 分区 |
| Bootmgr is missing | bootmgfw.efi 或 BCD 文件损坏 | 进入 WinRE → 使用 bootrec /fixboot 和 bootrec /rebuildbcd 修复 |
| GRUB Rescue | GRUB 核心镜像路径错误或 /boot 分区不可访问 | 在 Rescue 提示符下手动设置 prefix → 重新安装 GRUB 到 ESP |
| 黑屏无任何提示 | UEFI 固件引导项为空 / 安全启动阻止了未签名引导加载器 | 进入 UEFI 设置 → 检查安全启动状态 → 手动添加引导项 |
| Reboot and Select proper Boot device | 引导顺序错误 / 磁盘连接故障 | 检查 SATA/NVMe 连接 → 在 BIOS 中手动选择引导磁盘 |