答案是需先用windows安装u盘启动并运行自动“启动修复”,若失败则手动通过diskpart挂载efi分区、用bcdboot重建引导,再用easyuefi或efibootmgr清理残留grub启动项,并删除esp中ubuntu目录。

电脑在Windows与Linux双系统间切换后突然黑屏、卡在“Boot Manager Not Found”或显示“0xc000000f”错误代码,说明BCD引导配置已损坏或GRUB接管失败,必须立即修复EFI分区中的启动项与引导文件,否则无法进入任一系统。
用Windows安装U盘启动并自动修复引导
这一步适合对命令行不熟悉、只想快速恢复开机菜单的用户。自动修复能识别当前硬盘上的所有Windows安装,并尝试重建BCD和修复EFI分区结构。
准备一个Windows 10/11安装U盘,插入目标电脑→重启,在主板自检阶段反复按F12(戴尔/惠普)或Esc(华硕/联想)调出启动菜单→选择U盘设备→进入安装界面后,不点“立即安装”,点击左下角“修复计算机”→依次进入“疑难解答”→“高级选项”→“启动修复”→等待扫描完成,若提示“已修复问题”,直接重启验证。
注意:若自动修复执行两次仍失败,说明BCD已严重损坏或EFI分区被误格式化,需转入手动重建步骤。
手动重建BCD并挂载EFI系统分区
当自动修复无效时,必须通过diskpart定位并分配EFI分区盘符,再用bcdboot重写引导文件。这步操作不可跳过,否则即使修复了BCD,bootmgfw.efi仍可能缺失。
从Windows安装U盘启动→“修复计算机”→“疑难解答”→“高级选项”→“命令提示符”。
输入 diskpart → 回车,进入磁盘工具。
依次执行:list disk → select disk 0 → list partition,找到标注为“System”、大小100–500MB、文件系统为FAT32的分区——这就是EFI系统分区(ESP)。
执行 select partition X(X为实际分区号,如1或2)→ assign letter=Z: → exit。
返回命令提示符,确认Windows系统所在盘符(通常为C:),执行:bcdboot C:\Windows /s Z: /f UEFI(UEFI模式)或 bcdboot C:\Windows /s Z: /f BIOS(仅限老式BIOS电脑)。
执行 bcdedit /enum firmware 查看是否新增了Windows Boot Manager条目;若看到多个重复项,用 bcdedit /delete {ID} 删除旧残留项(务必先核对description字段)。
用EasyUEFI删除残留GRUB启动项
如果修复后仍只进Linux或卡在GRUB rescue界面,说明UEFI固件中GRUB仍是第一启动项,必须从固件层清除它。
方法一:在Windows系统内操作(需能正常进入)
下载安装EasyUEFI免费版→以管理员身份运行→点击“管理EFI启动项”→在启动序列列表中找到“ubuntu”或“grub”条目→选中→点击“删除”→确保“Windows Boot Manager”排在第一位→点击“保存”。
方法二:若Windows完全无法进入,需用Live USB临时启动Ubuntu→打开终端→输入 sudo efibootmgr -v 查看当前启动顺序→记下ubuntu对应的BootXXXX编号→执行 sudo efibootmgr -b XXXX -B(XXXX为四位编号)彻底删除该启动项。
【删除前务必确认BootXXXX对应的是ubuntu而非Windows】,误删会导致Windows启动项永久丢失。
清理ESP分区中残留的Linux引导文件
仅删除UEFI启动项不够,EFI分区里还存着/boot/efi/EFI/ubuntu/目录,它可能干扰后续Windows更新或再次覆盖引导。
以管理员身份运行命令提示符→输入 diskpart → list volume → 找到文件系统为FAT32、无盘符但标注“System”的卷→执行 select volume X(X为该卷号)→ assign letter=S: → exit。
执行 dir S:\EFI\,确认存在ubuntu文件夹→执行 rd /s /q S:\EFI\ubuntu。
这一步操作起来很简单,直接清空即可,不会影响Windows引导文件。











