An Unsupported CPU error may appear when installing or upgrading VMware ESXi hosts to 6.7 or 7.x on hardware with legacy processors.
Unsupported CPU: Intel family 0x06, model 0x1a, stepping 0x5
Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
With a clean install of ESXi, the error looks like this:
CPU_SUPPORT_ERROR: The CPU in this host is not supported by ESXI 6.7.0. Please refer ti the VMware Compatibility Guide (VCG) for the list of supported CPUs.
This issue occurs when installing ESXi on hosts with legacy CPU models. This issue currently applies to 6th generation Intel processors (Intel Family 6) based on Westmere microarchitecture (released in 2010).
- WSM-EP, Westmere-EP (2C) – six-core CPUs: Core i7-990X, Core i7-980X, Xeon 36xx, Xeon 56xx
- WSM-EX, Westmere-EX (2F) – ten-core E7-x8xx-series
I ran into this issue on an HP ProLiant DL380 G6 server with an Intel Xeon E5520 processor.
To run ESXi on a legacy CPU, you need to add the “allowLegacyCPU=true” parameter to the ESXi boot menu.
To do this, press
Shift+O while loading and run the command:
<ENTER: Apply options and boot>
cdromBoot runweasel allowLegacyCPU=true
However, this setting will only take effect until the next reboot of the ESXi host. Therefore, you need to add a permanent rule to the boot.cfg file. This file is located at the root of one of the system partitions.
Connect to the ESXi host via SSH and find the boot.cfg file:
# find / | grep boot.cfg
In my case, I found two such files (/bootbank/boot.cfg and /altbootbank/boot.cfg), so I edited both. You need to add the option
allowLegacyCPU=true in the kernelopt option. For example:
title=Loading VMware ESXi
modules=jumpstrt.gz --- useropts.gz --- features.gz --- k.b00 --- uc_intel.b00 --- uc_amd.b00 --- uc_hygon.b00 --- procfs.b00 --- vmx.v00 --- vim.v00 --- tpm.v00 --- sb.v00 --- s.v00 --- bnxtnet.v00 --- bnxtroce.v00 --- brcmfcoe.v00 --- brcmnvme.v00 --- elxiscsi.v00 --- elxnet.v00 --- i40en.v00 --- i40iwn.v00 --- iavmd.v00 --- igbn.v00 --- iser.v00 --- ixgben.v00 --- lpfc.v00 --- lpnic.v00 --- lsi_mr3.v00 --- lsi_msgp.v00 --- lsi_msgp.v01 --- lsi_msgp.v02 --- mtip32xx.v00 --- ne1000.v00 --- nenic.v00 --- nfnic.v00 --- nhpsa.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nmlx5_co.v00 --- nmlx5_rd.v00 --- ntg3.v00 --- nvme_pci.v00 --- nvmerdma.v00 --- nvmxnet3.v00 --- nvmxnet3.v01 --- pvscsi.v00 --- qcnic.v00 --- qedentv.v00 --- qedrntv.v00 --- qfle3.v00 --- qfle3f.v00 --- qfle3i.v00 --- qflge.v00 --- rste.v00 --- sfvmk.v00 --- smartpqi.v00 --- vmkata.v00 --- vmkfcoe.v00 --- vmkusb.v00 --- vmw_ahci.v00 --- crx.v00 --- elx_esx_.v00 --- btldr.v00 --- esx_dvfi.v00 --- esx_ui.v00 --- esxupdt.v00 --- tpmesxup.v00 --- weaselin.v00 --- loadesx.v00 --- lsuv2_hp.v00 --- lsuv2_in.v00 --- lsuv2_ls.v00 --- lsuv2_nv.v00 --- lsuv2_oe.v00 --- lsuv2_oe.v01 --- lsuv2_oe.v02 --- lsuv2_sm.v00 --- native_m.v00 --- qlnative.v00 --- vdfs.v00 --- vmware_e.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- xorg.v00 --- imgdb.tgz --- state.tgz
However, another error may appear when you try to start a virtual machine on such an ESXi host.
Failed to power on virtual machine on xxx. This host doesn’t support virtualizing real mode. The intel VMX Unrestricted Guest feature is necessary to run this virtual machine on an Intel Processor.
To solve this problem, you need to add a special parameter to the virtual machine’s configuration file (VMX):
- Select VM -> Edit
- Go to VM Options -> Advanced -> Edit Configuration
- Click Add parameter and add the line
monitor.allowLegacyCPU = true
- After that, you will be able to turn on the virtual machine.