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 完全丢失到文件级损坏的故障演进路径。

EFI系统分区(ESP)损坏程度与故障现象对应关系 ESP 分区状态 ESP 分区完全丢失 No bootable device ESP 分区存在 文件系统/文件损坏 Bootmgr is missing ESP 分区正常 引导加载器配置错误 GRUB Rescue / 黑屏 故障排查要点 1. 黑屏 + “No bootable device” → 优先检查 BIOS 引导顺序和磁盘分区表。 2. “Bootmgr is missing” → 优先检查 ESP 分区中的 bootmgfw.efi 和 BCD 文件。 3. “GRUB Rescue” → 优先检查 GRUB 核心镜像和 /boot 分区 UUID。 4. 所有现象的共同根源:ESP 分区损坏、文件丢失或引导配置错误。

2.3 各现象详细诊断特征

2.3.1 黑屏 / “No bootable device”

  • 屏幕表现: 开机后屏幕全黑,或显示一行提示 “No bootable device — insert boot disk and press any key”。
  • 固件行为: UEFI 固件遍历所有引导项(Boot Order)后,未找到任何包含有效 EFI 引导加载器的磁盘。
  • 常见原因:
    1. ESP 分区被误删除或格式化(如重装系统时手动清除了所有分区)。
    2. 磁盘分区表(GPT)损坏,导致固件无法识别分区布局。
    3. 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)文件缺失或损坏触发。
  • 关键检查路径:
    1. ESP 分区是否挂载(Windows 下通常无盘符,需用 diskpart 或 mountvol 查看)。
    2. ESP 分区中是否存在 EFI\Microsoft\Boot\bootmgfw.efi。
    3. BCD 文件(EFI\Microsoft\Boot\BCD)是否可读,引导条目是否正确指向 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/ 下的模块和配置文件)。
  • 常见原因:
    1. /boot 分区被删除、格式化或 UUID 发生改变。
    2. ESP 分区中的 EFI\ubuntu\grub.cfg 配置错误,指向了错误的磁盘或分区。
    3. 双系统更新后,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 中手动选择引导磁盘

2.5 故障现象识别总结