Installing ESXi 7 with legacy CPUs

This post is more for my own personal reference but hey it may be useful to someone else out there like me has struggled to get vSphere 7 working on older hardware. I must add a disclaimer that this is unsupported and do this at your own risk. Whilst I run a personal home lab there are time when I need a bit more horsepower when it comes to compute. At work I have access to demo lab and whilst it’s quite old it still does the job. That is until I came to try installing vSphere 7 on a Dell R620 with an E5-2660 CPU – after attempting to load the installer I got this error message.

Fortunately, I’d seen others with this issue before on Twitter and after a quick google I found the answer which involves editing the boot file to allow legacy CPUs to work. The steps below show how to add the temporary fix and allow ESXi 7 to be installed.

1. Reboot the host and press shift-o to edit the boot options

2. add AllowLegacyCPU=true to the boot opions and press enter

3. You can then proceed with the install as per usual

Now this works fine for a temporary measure, but I needed something persistent so when the host was rebooted it did not lose the changes. To do this I needed to edit the boot.cfg file found in the bootbank and altbootbank folder.

4. To do this first enable the SSH service and launch an SSH session to the host

5. Next navigate to the bootbank folder

6. Find the file boot.cfg and edit by typing vi boot.cfg

7. Press I to enter insert mode and find the line starting with kernelopt=autoPartition=FALSE and add allowLegacyCPU=true

8. Save the changes by pressing esc then tpye wq: to save and quit the editor.

9. The navigate to the altbootbank folder and repeat steps 4 to 8 above.

Next time you reboot the server it will boot straight into ESXi without prompting about an unsupported CPU. As a friendly reminder, remember this is not supported but is very useful for a home lab or test environment where support isn’t required. It means I can stretch out the 12th gen Dell servers a little longer.