17370845950

在多操作系统引导环境中修复UEFI启动加载器与BCD存储的完整步骤
首先确认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模式的工具链。操作完成后重启,检查能否正常进入系统。