Windows 11 – Fix Boot Issues in Virtual Machine with Separate Disks

backupbootuefiwindowswindows-11

I have restored a Windows 11 system from a partition-level backup of the main partition. The system boots, but only with manual intervention.

Initially, it enters a recovery screen (see upper image). From here, the only viable option is to press Esc, after which it is possible to acquire the firmware boot menu (see image second from top), as a submenu of the EFI settings user interface, allowing selection of the item for booting Windows. After selecting this item, Windows boots correctly.

After restoring the Windows partition, I attempted installing the bootloader first through the automated repair from installation media, and then manual steps. The latter did add the needed UEFI files to the boot partition as well as to register the menu entry for Windows in the system boot menu. Both are of course essential after recovering from a backup of just the Windows partition. However, normal boot remains elusive.

For reference, the target platform is a Qemu/KVM virtual machine on a x86 host. It was freshly provisioned with only default firmware settings preceding the data restoration. It has three virtual disks, one containing the EFI boot partition and Windows reserved partition, a second containing the Windows main partition (the one restored from backup), and a third containing a partition designated exclusively for a page file.

Analysis of the EFI boot entries from a non-Windows recovery environment confirms that the sole Windows boot entry is selected as the default (see image third from top).

To summarize, the boot procedure currently is the following:

  1. System initially enters Windows recovery environment.
  2. Press Esc to enter system firmware environment.
  3. Select Windows as boot option from UEFI menu.
  4. Windows loads normally.

Naturally, on a basic, properly-provisioned system, the final step would be the first and only. In principle, the original boot attempt should be simply a selection of the default boot item in the firmware, shown as the first entry on the list, and should not produce a different behavior from the manual selection. Yet, one case leads to the recovery environment, the other to successful boot. How may I correct the discrepancy?


Windows recovery screen

Firmware boot menu

Analysis of boot entries

Creation of boot record

Boot record analysis

Best Answer

TL;DR Simply change the boot order in UEFI > Boot to the NEW Windows bootloader manager. Currently you're booting an old and now wrong EFI entry because it points to a now non-existent OS which is the original installation.

EFI entries aren't removed when the main OS partition is because they reside in the ESP (EFI System Partition). They can be left alone as long as the correct boot entry is selected in UEFI, typically in the Boot menu, or tools/commands can be used from within OSes to manage those entries (select a new boot order or remove entries) or often inside the UEFI settings.

DON'T confuse UEFI settings > Boot menu with the one-time boot menu / boot override menu (self-explanatory) you've been using to select the correct OS. You need to actually open UEFI settings and change the boot order there.

I have tried an automated repair from installation media, and also manual steps to recreate the boot records. The latter did add the needed UEFI files to the boot partition as well as register the menu entry for Windows in the system boot menu.

Doing this does not change the old .efi files that worked for the original installation and are still selected by default. In UEFI settings > Boot you'll likely find 2 (two) "Windows bootloader manager" so simply select the other one.

This is very simple to understand as long as you understand UEFI and its boot process.

Related Question