You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

误操作bcdedit致Win10无法启动,求助修复UEFI及bootmgr配置问题

误操作bcdedit致Win10无法启动,求助修复UEFI及bootmgr配置问题

一、先解决Windows安装U盘无法启动的问题

你现在还能通过EFI Shell进入Debian,这是个很好的切入点,先试试这几个方法:

  1. 直接从EFI Shell启动U盘
    插入Windows安装U盘后进入EFI Shell:

    • 输入map命令,会列出所有可识别的存储设备,找带U盘标识的盘符(比如FS1:
    • 输入对应的盘符(比如FS1:)回车,然后输入cd EFI\Boot进入U盘的启动目录
    • 最后输入bootx64.efi,尝试启动Windows安装程序
      这种方式绕开了UEFI启动顺序的干扰,直接调用U盘的启动文件,大概率能成功。
  2. 检查UEFI设置
    如果上面方法不行,重启进入UEFI设置界面:

    • 关闭Secure Boot(有些时候它会阻止非签名的启动项,虽然你的U盘是官方制作的,但偶尔会有兼容性问题)
    • 在启动顺序里把Windows安装U盘设为第一启动项,保存后重启试试
  3. 重新制作安装U盘
    要是还是不行,可能是U盘制作过程中出了问题,用Media Creation Tool重新制作一次,制作时确保选择正确的Windows版本,并且U盘格式是FAT32(默认会处理)。


二、修复bootmgr的错误配置(U盘能启动后)

当你成功进入Windows修复环境后,按以下步骤操作:

  1. 解锁Bitlocker加密分区
    打开命令提示符,先确认加密分区:

    manage-bde -status
    

    找到你的Windows系统分区(通常是C:),然后用恢复密钥解锁:

    manage-bde -unlock C: -RecoveryPassword <你的Bitlocker恢复密钥>
    
  2. 定位BCD存储文件
    进入diskpart工具挂载EFI分区:

    diskpart
    list disk  # 找到你的系统盘(比如Disk 0)
    select disk 0
    list partition  # 找到类型为「系统」的EFI分区(通常是几百MB大小)
    select partition <EFI分区编号>
    assign letter=Z:  # 给EFI分区分配盘符Z:
    exit
    
  3. 修正bootmgr的displayorder
    先查看当前{bootmgr}的错误配置:

    bcdedit /store Z:\EFI\Microsoft\Boot\BCD /enum {bootmgr}
    

    然后重置displayorder,只保留Windows自己的启动项:

    • 先列出所有启动条目,找到Windows Boot Loader的GUID:
      bcdedit /store Z:\EFI\Microsoft\Boot\BCD /enum
      
    • 然后设置正确的displayorder:
      bcdedit /store Z:\EFI\Microsoft\Boot\BCD /set {bootmgr} displayorder <Windows Boot Loader的GUID>
      

    要是你记不清原来的顺序,直接用这条命令把Windows启动项设为唯一的启动目标,就能恢复正常了。


三、如果U盘还是启动不了,从Debian直接修复BCD

要是实在没法启动Windows安装U盘,就在Debian里直接修改BCD文件:

  1. 安装工具并挂载EFI分区
    先安装必要的工具:

    sudo apt update && sudo apt install libguestfs-tools
    

    然后找到EFI分区(用sudo fdisk -l查看,类型为EFI System的分区,比如/dev/nvme0n1p1),挂载它:

    sudo mount /dev/nvme0n1p1 /mnt/efi
    
  2. 修正bootmgr配置
    先查看当前{bootmgr}的配置:

    sudo virt-bcdedit --add /mnt/efi/EFI/Microsoft/Boot/BCD --enum {bootmgr}
    

    然后找到Windows Boot Loader的GUID(用sudo virt-bcdedit --add /mnt/efi/EFI/Microsoft/Boot/BCD --enum查看),最后设置正确的displayorder:

    sudo virt-bcdedit --add /mnt/efi/EFI/Microsoft/Boot/BCD --set {bootmgr} displayorder <Windows Boot Loader的GUID>
    

    完成后重启电脑,应该就能正常进入Windows了。


备注:内容来源于stack exchange,提问作者anon

火山引擎 最新活动