修复虚拟 Windows 10 的 EFI/GPT 引导加载程序

修复虚拟 Windows 10 的 EFI/GPT 引导加载程序

系统更新中断导致我的虚拟机上的 Windows 10 Pro 进入诊断和修复模式循环,我正在尝试修复。我需要访问和使用仅安装在这台机器上的某个程序,而我丢失了它的安装文件。使用命令窗口我可以浏览所有文件,因此硬盘没有问题,只有 Windows 无法启动。

据我所知,Windows 10 自动意味着我的计算机正在使用 UEFI/GPT 而不是 MBR/BIOS。

我尝试了几种可以在网上找到的解决方案,其中包括格式化 EFI 卷并使用 重写启动文件bcdboot。不幸的是,这失败了,现在我的 Windows 在启动时甚至无法被识别为已安装的操作系统。

我使用挂接到虚拟机的 Windows 10 映像文件作为模拟 CD。从那里我可以启动到恢复设置并启动命令窗口。

我发现教程中推荐了几种方法,但有些方法对我来说不太适用。我需要帮助来解释计算机的状态,以找出恢复 Windows 安装所需的步骤。

例如我应该跑

bootrec /fixboot

重写引导加载程序数据。但是,我收到错误消息access denied。在寻找解决方案时,我发现我应该首先执行

bcdboot C:\Windows /s V: /f ALL

它应该将启动信息文件从 Windows 安装复制到引导加载程序分区。但是,我收到了消息BFSVC Error: Could not open the BCD template store. Status = [c000000f]。在寻找如何修复此问题时,我发现重建 BCD 应该有帮助,步骤如下

attrib c:\boot\bcd -h -r -s
del c:\boot\bcd
bootrec /rebuildbcd

产生的错误消息:目录C:\boot不存在。我正在寻找修复方法,但最终我使用 USB 闪存驱动器简单地C:\boot从另一台 Win 10 Pro 计算机复制了整个文件夹。之后我可以执行上述命令。现在的问题,在重建命令之后:

Number of identified Windows installations: 0

修复这个问题的办法应该是重新创建 BCD,所以我开始绕圈子。我尝试了更多绝望的举动来重新创建引导加载程序:

X:\sources> diskpart
DISKPART> list disk
DISKPART> sel disk 0
DISKPART> list vol
DISKPART> sel vol 5
DISKPART> assign letter=V:
DISKPART> exit
X:\sources> format V: /FS:FAT32
bootrec /fixboot

这导致了同样的access denied错误,但现在我的电脑只能从模拟 CD 上的安装介质启动。bcdboot C:\Windows /s V: /f ALL现在只能说File transfer failed这样。我发现使用

bootsect /nt60 SYS
bootrec /fixboot

确实可以成功运行,但对我的启动问题完全没有帮助。因此,我尝试发挥创造力,通过将C:\Windows\System32\config我的其他 Windows 安装的整个文件夹放到我的 USB 驱动器上并使用以下方法修复缺少 BCD 模板存储的问题:

bcdboot F:\Windows /s V: /f ALL

这感觉像是进步了,因为它确实做了一些事情,但导致了一些缺少 DLL 文件的错误消息,这是有道理的,因为我省略了 中的所有其他文件System32。当我尝试将整个C:\Windows\System32文件夹放到硬盘上时,我再次得到了类似的信息Could not transfer files.

我觉得我现在陷入困境。有人能告诉我下一步该怎么做吗?我非常有信心这个问题可以解决,因为 Windows 分区似乎没问题,但我不知道如何修复引导加载程序。谢谢!

相关内容