在具有用于启动和主分区的单独磁盘的虚拟机中启动 Windows 时出现问题

在具有用于启动和主分区的单独磁盘的虚拟机中启动 Windows 时出现问题

我从主分区的分区级备份恢复了 Windows 11 系统。系统可以启动,但需要手动干预。

最初,它会进入恢复屏幕(见上图)。从这里,唯一可行的选择是按Esc,之后可以获取固件启动菜单(见上图第二张),作为 EFI 设置用户界面的子菜单,允许选择用于启动 Windows 的项目。选择此项后,Windows 即可正确启动。

恢复 Windows 分区后,我尝试先通过安装介质的自动修复安装引导加载程序,然后执行手动步骤。后者确实将所需的 UEFI 文件添加到引导分区,并在系统引导菜单中注册 Windows 的菜单项。当然,在从仅 Windows 分区的备份中恢复后,这两项操作都是必不可少的。但是,正常启动仍然难以实现。

作为参考,目标平台是 x86 主机上的 Qemu/KVM 虚拟机。在数据恢复之前,它仅使用默认固件设置进行了新配置。它有三个虚拟磁盘,一个包含 EFI 启动分区和 Windows 保留分区,第二个包含 Windows 主分区(从备份中恢复的分区),第三个包含专门用于页面文件的分区。

对非 Windows 恢复环境中的 EFI 启动项的分析确认唯一的 Windows 启动项被选为默认启动项(见图上第三张)。

总而言之,当前的启动过程如下:

  1. 系统初始进入Windows恢复环境。
  2. 按下Esc进入系统固件环境。
  3. 从 UEFI 菜单中选择 Windows 作为启动选项。
  4. Windows 加载正常。

当然,在基本且配置正确的系统上,最后一步将是第一步,也是唯一的一步。原则上,原始启动尝试应该只是选择固件中的默认启动项,显示为列表中的第一个条目,并且不应产生与手动选择不同的行为。然而,一种情况导致恢复环境,另一种情况导致成功启动。我该如何纠正这种差异?


Windows 恢复屏幕

固件启动菜单

启动项分析

创建引导记录

引导记录分析

答案1

TL;DR 只需将 UEFI > Boot 中的启动顺序更改为新的 Windows 引导加载程序管理器即可。目前,您正在启动一个旧的、现在错误的 EFI 条目,因为它指向一个现在不存在的操作系统,即原始安装。

当主操作系统分区被移除时,EFI 条目不会被移除,因为它们位于 ESP(EFI 系统分区)中。只要在 UEFI 中选择了正确的启动条目(通常在启动菜单中),或者可以在操作系统中使用工具/命令来管理这些条目(选择新的启动顺序或删除条目),或者通常在 UEFI 设置中,就可以保留它们。

不要将 UEFI 设置 > 启动菜单与您用来选择正确操作系统的一次性启动菜单/启动覆盖菜单(不言自明)混淆。您需要实际打开 UEFI 设置并在那里更改启动顺序。

我尝试过从安装介质进行自动修复,也尝试过手动步骤来重新创建引导记录。后者确实将所需的 UEFI 文件添加到引导分区,并在系统引导菜单中注册了 Windows 的菜单项。

这样做不会更改原始安装中有效的旧 .efi 文件,并且仍默认选中。在 UEFI 设置 > 启动中,您可能会找到 2 个“Windows 引导加载程序管理器”,因此只需选择另一个即可。

只要你了解UEFI及其启动过程,这很容易理解。

答案2

这个问题已经解决。

只有当包含 EFI 启动分区和 Windows 数据分区的虚拟硬盘都在虚拟化管理程序 Qemu 中被标记为潜在启动设备时,系统启动后 Windows 才算成功启动。

相关内容