正在加载今日诗词...
Warning
在进行本文操作前,应备份个人重要数据
问题引入
误删 EFI 分区★ 或破坏 BCD 后,Windows 启动蓝屏:
- 错误码:0xc000000e 或 0xc0000225
- 提示:winload.efi 文件缺失或包含错误
系统分区中的 \Windows\System32\winload.efi 文件通常仍然存在。
这类报错的关键不是文件真的没了,而是:
Windows Boot Manager 已经启动,但无法根据 BCD 正确定位系统分区。
⚠ 适用前提
- 磁盘为 GPT
- 启动模式为 UEFI
- Windows 以 UEFI 模式安装
验证:
| |
可能输出:
| |
带 * 表示 GPT。
正确理解启动链条
UEFI 启动流程:
- 主板 UEFI 固件
- 读取 EFI 分区(FAT32)
- 加载
\EFI\Microsoft\Boot\bootmgfw.efi - 读取
\EFI\Microsoft\Boot\BCD - 根据 BCD 中记录的分区 GUID,定位系统分区
- 加载
\Windows\System32\winload.efi
在本问题中:
- 步骤 1~3 正常
- Windows Boot Manager 可以启动
- 但步骤 5 无法完成(BCD 记录失效或指向错误分区)
- 因此提示找不到
\Windows\System32\winload.efi
使用工具
| 工具 | 作用 | 下载链接 | 备注 |
|---|---|---|---|
| WEPE / FirPE | 进入 PE 修复环境 | https://www.wepe.com.cn | 推荐微 PE |
| DiskGenius | 创建 / 查看 EFI 分区 | https://www.diskgenius.cn | 免费版够用 |
| bcdboot | 重建启动文件 | 系统自带 | 最稳定 |
| EasyUEFI | 删除多余启动项 | https://www.easyuefi.com | 可选 |
| DISM++ | 图形化修复引导 | https://github.com/Chuyu-Team/Dism-Multi-language | 不如 bcdboot 稳 |
修复步骤
使用 U 盘启动进入 PE。
第一步:确认分区状态
| |
可能输出:
| |
确认:
- NTFS 分区包含 Windows 文件夹
- 存在 FAT32 小分区(EFI)
如果 EFI 分区不存在,需要先重建(300MB FAT32,类型为 EFI 系统分区)。
给 EFI 分区分配盘符
| |
可能输出:
| |
重建 BCD 与启动文件(核心步骤)
假设:
- Windows 在 D:
- EFI 在 Z:
执行:
| |
正常输出:
| |
该命令会:
- 重新生成
\EFI\Microsoft\Boot\bootmgfw.efi - 重建
\EFI\Microsoft\Boot\BCD - 写入正确的分区 GUID
如果 bcdboot 报错
可能输出:
| |
可执行:
| |
可能输出(/rebuildbcd 阶段):
| |
输入:
| |
然后再次执行:
| |
移除临时盘符
| |
可能输出:
| |
关机 → 拔 U 盘 → 重启。
清理多余启动项(可选)
| |
删除无效项:
| |
总结
本问题的本质不是:
winload.efi 文件真的丢失
而是:
BCD 无法正确定位系统分区
只要系统分区仍在,执行:
| |
即可重建启动链条。