EFI virtual machines getting stuck in EFI boot manager when trying to start after migration from ESXi 6.x to ESXi 7.x
search cancel

EFI virtual machines getting stuck in EFI boot manager when trying to start after migration from ESXi 6.x to ESXi 7.x

book

Article ID: 317902

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
After migrating an EFI virtual machine from ESXi 6.x to ESXi 7.0, it no longer boots successfully, but instead is getting stuck in the EFI boot manager showing similar messages as in the image below:

image.png

The guest operating system was installed per PXE
During the deployment the virtual machine had a different kind of virtual NIC configured (e.g. e1000 or e1000e) and was later changed to VMXNet3

Environment

VMware vSphere ESXi 7.0.x

Cause

When powering on an EFI virtual machine, certain settings related to it's virtual NIC are stored in a dedicated file with the suffix .nvram. Among others this file also contains driver options for these vNICs. Once the vNIC is being changed, the driver options for the old vNIC are being kept in the file, leading to the problem.

Resolution

This issue has been fixed in ESXi 7.0 Update 3f
If updating to this version is not an option, you can apply the workaround described below.

Workaround:
To identify VMs affected by this problem, you can query the .nvrm file of your virtual machines for the string 'D.r.i.v.e.r.O.r.d.e.r' using the following command:
# find /vmfs/volumes -name '*nvram' -exec grep -l 'D.r.i.v.e.r.O.r.d.e.r' \{\} \;

Note: for running VMs this will only work for those that are registered on the specific ESXi host. You will therefore need to run this command on each of the ESXi hosts in the environment.

Once you have identified affected VMs, as a workaround:
  • power off the VM
  • delete the .nvrm file
  • power the VM on

Note: the .vswp file contains multiple setting for the EFI configuration, which will get lost when it is deleted. If you plan on applying this workaround, please take care to have a current backup of the VM.