uefi引导丢失主因是固件找不到bootmgfw.efi或grubx64.efi,修复需确认esp分区存在且可读、nvram启动项正确注册、禁用csm并启用纯uefi模式。

服务器 UEFI 引导模式配置错误是导致系统引导丢失的常见原因,尤其在 Dell PowerEdge、HPE ProLiant 或联想 ThinkSystem 等主流机型上。核心问题往往不是硬盘坏了,而是固件找不到 bootmgfw.efi 或 grubx64.efi —— 因为路径不对、分区没识别、或启动项被清空。修复重点在于三件事:确认 ESP 分区存在且可读、确保 NVRAM 启动项注册正确、关闭干扰项(如 CSM)。
检查并启用纯 UEFI 模式,禁用 CSM
CSM(Compatibility Support Module)是 Legacy BIOS 兼容模块,一旦启用,UEFI 会降级运行,无法加载 GPT 磁盘上的 EFI 引导文件,直接跳进 EFI Shell 或报“Operating System not found”。
- 开机时按 F2(Dell/联想)或 F9(HPE)进入 UEFI 设置界面
- 切换到 Boot 或 System Configuration → Boot Mode 标签页
- 将 Launch CSM 设为 Disabled;若选项灰显,先确认 Secure Boot 已启用
- 将 Boot Mode 明确设为 UEFI Only(不可选 “Both” 或 “Legacy First”)
- 保存并重启(按 F10),观察是否出现 Windows Boot Manager 或 Ubuntu 条目
验证 EFI 系统分区(ESP)状态与内容
UEFI 必须从 FAT32 格式的 ESP 分区加载引导程序。若该分区损坏、未分配盘符、或被误删,固件就“看不见”任何操作系统。
- 用 Windows 或 Linux 安装 U 盘启动,进入命令提示符(Windows)或 Live 终端(Ubuntu)
- 执行 diskpart → list disk → select disk 0 → list partition,找大小 100–500MB、类型为 System、文件系统 FAT32 的分区
- 记下分区号 X,执行:select partition X → assign letter=S → exit
- 运行:dir S:\EFI\Microsoft\Boot\(Windows)或 ls /mnt/esp/EFI/ubuntu/(Ubuntu),确认 bootmgfw.efi 或 grubx64.efi 存在
- 若目录为空或报错,说明 ESP 内容已丢失,需重建
重建引导文件并刷新 NVRAM 启动项
即使 ESP 分区完好,NVRAM 中的启动变量(如 Boot0001)也可能被清空或指向错误路径。需重新部署引导文件并写入固件启动项。
- Windows 系统:在命令提示符中执行 bcdboot C:\Windows /s S: /f UEFI(C: 为系统盘,S: 为 ESP 盘符)
- Ubuntu 系统:挂载 ESP 后执行 sudo grub-install --target=x86_64-efi --efi-directory=/mnt/esp --bootloader-id=ubuntu
- 执行后运行 bcdedit /enum firmware(Win)或 efibootmgr -v(Linux),确认新启动项已列出且路径正确
- 如仍不显示,可用 efibootmgr -c -d /dev/nvme0n1 -p 1 -L "Windows" -l "\EFI\Microsoft\Boot\bootmgfw.efi" 手动添加(Linux)
排查 RAID/SATA 模式与磁盘识别异常
服务器常配 RAID 控制器(如 PERC、HPE Smart Array)。若 RAID 配置重置、阵列离线、或 SATA 模式设为 IDE/RAID 而非 AHCI,UEFI 就无法枚举物理设备,ESP 分区自然不可见。
- 进入 UEFI 设置 → System Configuration → SATA Operation,确认设为 AHCI(非 IDE 或 RAID,除非使用硬件 RAID 且已初始化)
- 若使用 RAID,重启进 RAID 配置工具(如 Ctrl+R),确认虚拟磁盘(VD)状态为 Online,且已分配缓存
- 检查 UEFI 启动菜单中是否出现类似 UEFI: PERC H740P Adapter 的条目;若无,说明控制器未被 UEFI 识别,需更新 RAID 卡固件










