Windows 11 VMs that were running on ESXi 8.0.3d hosts get stuck in a reboot loop trying to boot on an ESXi 8.0.3f host.
ESXi 8.0.3d and ESXi 8.0.3f
Windows 11 VMs w/ vTPM module and secure boot disabled
The issue was isolated to the Microsoft firmware upgrade code that runs during the Windows boot-up process. When the code is skipped, the VM boots normally, and when the code is engaged, the VM boot hangs.
The code is triggered because 8.0 U3f has a UEFI VM firmware update that triggers the Windows firmware upgrade process.
The recommended solution is to apply the following:
1. Reproduce the hang.
2. Power off the VM.
3. Add the following option to the VMs VMX file: isolation.firmware.update.disable = "TRUE"
4. Power on the VM.
This tells the VM to skip the Windows firmware upgrade by always preserving the existing UEFI VM firmware, even if a new UEFI VM firmware exists.
Another workaround is to enable and disable secureboot on the VM. Enabling secureboot forcefully applies the new UEFI VM firmware, without engaging the Windows firmware upgrade process. When VM secureboot is turned off, there are no further issues, because the new UEFI VM firmware has already been applied, so Windows firmware upgrade is unnecessary.
Applying flashram.persistent = "0" is another way of accomplishing the same thing, but without enabling VM secureboot.
Note: Only apply one of isolation.firmware.update.disable = "TRUE" or Flashram.persistent = "0". Both options should not be applied at the same time.
Editing the .vmx file of a VMware Workstation and VMware Player virtual machine
https://knowledge.broadcom.com/external/article/311480
Tips for editing a .vmx file
https://knowledge.broadcom.com/external/article/345489