Sunday 8 August 2021

How to resolve "VMware Hypervisor Recovery" ESXi 7 update 2 install or upgrade

If you are upgrading or installing your physical server which supports ESXi version 7 update 2 with a warning that it might not be supported with future releases, then you are very likely to face this screen "VMware Hypervisor Recovery, and the best part it doesn't move forward but gets stuck. It can become an issue if this happens with an ESXi host which runs production workloads, and you might not have time to rollback.

I faced same issue and thought of writing this post for you, to help with the steps required to work around the situation. VMware would surely fix it with future releases.  

This issue happens due to incompatibility of ESXi 7.0u2 boot loader with affected servers/systems firmware. Method used to load EFI files is not supporting. Hence to fix this issue we need to copy boot files from ESXi 7.0u1 iso to boot device on which we have installed ESXi 7.0u2

To start we need to boot server with ESXi 7.0u1 image.

Once iso is attached, press shift + r it will take you to system config and boot management. 

Select boot options, under boot options select CD/DVD rom.

Let it boot with the ESXi 7.0u1 installer.

Once installer is loaded it will boot server with update one image.
Now instead of continue or cancel, press Alt+F1 key combination on this screen.

Once you press the key combination you will be directed to login screen.

Enter username : root and leave password blank to login.

In my case I had DHCP running so I enabled SSH using command "/etc/init.d/SSH start" which would allow me to work on a SSH session, however this is an optional step.

Once SSH got enabled, I verified the Host IP from DHCP lease and connected ssh session. Completed remaining steps using ssh session.
# 1. Identify the boot partition, which is the first partition on the boot disk.

# The name of the boot disk varies from system to system, but it is the one that includes a boot partition (systemPartition) and 2 bootbanks (linuxNative).
$ ls /dev/disks
$ partedUtil getptbl /dev/disks/mpx.vmhba32:C0:T0:L0

# Ignore warnings about symlinks that already exist.
 # Verify if you have mtools or mcopy:
$ ls -l /bin/mcopy /bin/mtools

# For a version with mtools available, e.g. ESXi 7.x:
$ ln -s /bin/mtools /bin/mcopy
$ ln -s /bin/mtools /bin/mdir

Check the contents of the boot partition to make sure files are where they are expected to be.
$ mdir -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 EFI/BOOT
$ mdir -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 EFI/VMware

Backup boot files.

$ mcopy -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 ::EFI/BOOT/BOOTx64.EFI ::EFI/BOOT/BOOTx64-orig.EFI
$ mcopy -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 ::/EFI/VMware/mboot64.efi ::/EFI/VMware/mboot64-orig.efi
$ mcopy -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 ::/EFI/VMware/safeboot64.efi ::/EFI/VMware/safeboot64-orig.efi

Finally copy the booted version's boot loader to the boot disk.

$ cd /usr/lib/vmware/bootloader-installer
$ mcopy -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 safeboot64.efi ::EFI/BOOT/BOOTx64.EFI
$ mcopy -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 safeboot64.efi ::/EFI/VMware/safeboot64.efi
$ mcopy -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 mboot64.efi ::/EFI/VMware/mboot64.efi

At the end reboot system to boot from boot drive.

After following these steps, you would be able to boot ESXi 7.0u2 on affected systems without issues.
I am sure VMware is working on fixing this issue as we read this article, or may be its already resolved by the time you face this issue.


I hope I was able to add value, if your answer is yes, then don't forget to share and follow. 😊

If you want me to write on specific content or you have any feedback on this post, kindly comment below.

If you want, you can connect with me on Linkedin, and please like and subscribe my youtube channel VMwareNSXCloud for step by step technical videos.

1 comment:

  1. i follow the step by step guide you provide but i am having error when i get to this part mdir -i /dev/disks/mpx.vmhba32:C0:T0:L0:1 EFI/VMware it says no such directory found. what do i do?


Popular posts