Linux 安装失败后恢复 Windows 10 的 UEFI 启动

Linux 安装失败后恢复 Windows 10 的 UEFI 启动

因此,我尝试在现有 Windows 10 的笔记本电脑上安装 CentOS,方法是通过缩小 Windows 内部的 Windows 分区释放一些空间。但是,虽然它确实启动了,但它将系统移到了非 EFI 位置,并使 Windows 启动混乱。

我现在有 Windows 10 安装介质。所以我尝试了:

bootrec /fixmbr-成功

bootrec /scanos - 找到 0 个 Windows 安装?? 尽管 Windows 分区完全可读。

bootrec /fixboot - 访问被拒绝?!即使重新格式化 EFI 系统分区后也是如此。

bcdboot C:\windows /s N: /f UEFI - 成功。但启动未修复。(N 是我安装 EFI 系统驱动器的地方)

因此我将 N:\EFI\Microsoft\Boot\BCD 重命名为 BCD.old,然后执行

bootrec/rebuildbcd

这确实成功找到了 Windows 安装。但启动仍然不起作用!

从安装介质启动修复也失败。

我发现安装程序创建了第二个 EFI 样式分区(但从未将其标记为系统)。我也尝试在该分区上创建 BCD,然后删除了该分区。现在我只有原始 EFI 分区和为我的 Windows 新创建的 BCD,在 diskpart 中标记为系统。它仍然无法启动!

此外,删除分区后,我尝试切换到 Legacy First 启动。Parted 将 EFI 系统分区显示为“启动”,因此我尝试在其上为 BIOS 创建启动文件:

bcdboot C:\windows /s N: /f UEFI

仍然无法启动!

我现在完全被这个问题搞糊涂了。我该怎么做才能恢复 Windows?我不在乎 Linux 是否启动 - 我可以在修复 Windows 后重新安装(可能是不同的发行版)。

答案1

我终于找到了解决方案。这非常不容易。也就是说,我在 Linux 系统(从 USB 启动)下运行 gdisk,然后使用 v 命令。结果是:

Command (? for help): v

Warning: The 0xEE protective partition in the MBR is marked as active. This is
technically a violation of the GPT specification, and can cause some EFIs to
ignore the disk, but it is required to boot from a GPT disk on some BIOS-based
computers. You can clear this flag by creating a fresh protective MBR using
the 'n' option on the experts' menu.

No problems found. 227331437 free sectors (108.4 GiB) available in 3
segments, the largest of which is 225280000 (107.4 GiB) in size.

然后我使用 e(专家模式),然后使用 n,然后使用 w(写出)。然后重新启动,Windows 启动了。

相关内容