首先确认UEFI模式及ESP分区,分配盘符后使用bcdboot重建BCD,修复UEFI启动项并处理多系统引导冲突,确保启动正常。

在多操作系统环境中,尤其是同时安装了Windows与Linux的电脑上,UEFI启动加载器和BCD(Boot Configuration Data)存储容易因系统更新、误操作或引导顺序变更而损坏。以下为修复UEFI启动项及BCD配置的完整步骤,适用于64位UEFI模式下的现代PC。
1. 确认当前引导模式与分区结构
进入修复前,需确认设备运行在UEFI模式,并识别关键分区:
- 重启进入BIOS/UEFI设置界面,检查“Boot Mode”是否为“UEFI”,非“Legacy”或“CSM”
- 使用Windows PE或安装U盘启动,打开命令提示符执行:
diskpart
list disk → select disk 0 → list partition
- 确认存在EFI系统分区(ESP),通常为FAT32格式,大小约100–500MB,无盘符
- 确保Windows系统保留分区(如有)和主系统盘正确识别
2. 分配ESP分区盘符并访问BCD存储
默认情况下ESP不可见,需手动分配盘符以便操作:
- 在命令提示符中继续使用diskpart:
select partition X (X为ESP分区编号)
assign letter=S (将ESP挂载为S:盘)
- 退出diskpart后,执行:
dir S:\EFI
查看是否存在\EFI\Microsoft\Boot\BCD文件
- 若目录缺失或BCD损坏,需重建BCD
3. 重建Windows BCD配置
使用bootrec与bcdboot工具组合修复引导记录:
- 确保已挂载ESP为S:,系统盘为C:(根据实际调整)
- 执行以下命令重建BCD:
bcdboot C:\Windows /s S: /f UEFI
该命令将系统文件复制到ESP,并创建标准UEFI启动项
- 若提示成功,则生成新的BCD文件于S:\EFI\Microsoft\Boot\
- 可选:使用bootrec /rebuildbcd扫描系统,但UEFI环境下优先使用bcdboot
4. 验证并修复UEFI启动项
确保固件NVRAM中注册了正确的启动条目:
- 执行:
powercfg /h off (关闭休眠,避免跨系统冲突)
bcdedit /set {default} bootmenupolicy standard
- 查看当前启动项:
bcduedit
确认路径指向\Windows\system32\winload.efi,类型为UEFI
- 若NVRAM未更新,手动添加:
efibootmgr -c -d /dev/sda -p 1 -L "Windows" -l \EFI\Microsoft\Boot\bootmgfw.efi
(此命令适用于Linux环境;Windows下通常由bcdboot自动完成)
5. 处理多系统共存问题
当安装有Linux时,推荐统一通过引导管理器(如GRUB或rEFInd)协调启动:
- 若使用GRUB,确保其位于ESP中,并设为默认启动项
可通过Linux终端执行:
sudo update-grub
自动检测Windows启动项
- 若偏好Windows引导器,可在UEFI设置中手动调整启动顺序,将“Windows Boot Manager”置顶
- 避免多个系统反复修改ESP导致冲突,建议定期备份ESP内容
基本上就这些。只要ESP完整且系统文件未损坏,通过bcdboot即可快速恢复UEFI+BCD引导。关键在于正确识别分区、分配盘符,并使用匹配UEFI模式的工具链。操作完成后重启,检查能否正常进入系统。
以上就是在多操作系统引导环境中修复UEFI启动加载器与BCD存储的完整步骤的详细内容,更多请关注php中文网其它相关文章!