As outlined in the vSphere 7.0 release notes (which everyone should carefully read through before upgrading), the following CPU processors are no longer supported:
- Intel Family 6, Model = 2C (Westmere-EP)
- Intel Family 6, Model = 2F (Westmere-EX)
To help put things into perspective, these processors were released about 10 years ago! So this should not come as a surprise that VMware has decided remove support for these processors which probably also implies the underlying hardware platforms are probably quite dated as well. In any case, this certainly has affected some folks and from what I have seen, it has mostly been personal homelab or smaller vSphere environments.
One of my readers had reached out to me the other day to share an interesting tidbit which might help some folks prolong their aging hardware for another vSphere release. I have not personally tested this trick and I do not recommend it as you can have other issues longer term or hit a similiar or worse situation upon the next patch or upgrade.
Disclaimer: This is not officially supported by VMware and you run the risk of having more issues in the future.
Per the reader, it looks like you can append the following ESXi boot option which will allow you to bypass the unsupported CPU during the installation/upgrade. To do so, just use SHIFT+O (see VMware documentation for more details) and append the following:
allowLegacyCPU=true
There have also been other interesting and crazy workarounds that attempt to workaround this problem. Although some of these tricks may work, folks should really think long term on what other issues can face by deferring hardware upgrade. I have always looked at homelab as not only a way to learn but to grow yourself as an individual.
Note: The boot option above is only temporarily and you will need to pass in this option upon each restart. It looks like this setting is also not configurable via ESXCLI which I initially had thought, so if you are installing this on a USB device, the best option is to edit the boot.cfg and simply append the parameter to kernelopt line so it'll automatically be included for you without having to manually typing this. If this is install on disk, then you will need to edit both /bootbank/boot.cfg and /altbootbank/boot.cfg for the settings to passed in automatically.
This is ultimately an investment you are making into yourself, so do not cut yourself short and consider looking at a newer platform, especially something like an Intel NUC which is fairly affordable both in cost as well as power, cooling and form factor.
Todd Williams says
Hi William,
Do you know if this works on ESXi 6.5 as well or is this a new boot option in 7.0?
Thranx says
I understand that those CPUs need to drop out of official support, so having a switch like this is excellent.
Hard to beat cheap or free old server gear, especially if power and space aren't an issue. I'll take an old R710 over a NUC any day. Sure, power's greater, but I have the rack space and power in my area is actually quite cheap (and clean). Better to get years of use out of something vs tossing it.
More options, not less, are always better. No one should be running unsupported procs on gear they care about, but for homelab and even worklab, less restriction is better.
Oliver says
Oh wow and I was always editing the b.b00 and weaselin.t00 file to support old CPUs...
Now this will make things easier 🙂
Justin says
Minor typo - it’s allowLegacyCPU=true
The regex won’t match if True is capitalized.
Joat says
Can you please give details ofthis mod for ESXi 7.0 ISO? TIA!
Brad says
Can't find anything to mod ESXi7 b.b00 and weaselin.t00 🙁
Ting T says
Hey Oliver...can you please share the details to mod 7.0? Thanks!!!
sylentz says
I'm struggling getting an NSX/vRA/vROps cluster running on a single R620 with 160GB of Ram...
How is a NUC going to do with anything besides a bare bones setup? Are there 32GB modules yet? 2x16GB will not be sufficient for a home lab... And 3x NUCs is not cheap.
Amodin says
I tried this, and my server just freezes at the gray screen after starting the services.
I am using a SuperMicro board with dual Xeon E5620s.
kastro says
I deployed Nested_Appliance_Template and on booting manually entered workaround and it's booting OK.
But second command does not work:
[root@esx01:~] vmware -l
VMware ESXi 7.0 GA
[root@esx01:~] esxcli system settings kernel set -s allowLegacyCPU -v true
Invalid Key Name: allowLegacyCPU
William Lam says
See my latest comment regarding this
kastro says
I can confirm, adding parameter to both boot.cfg files it's working.
Thank you!
mehmet arif says
after reboot i got an
invalid key name: allowLegacyCPU
error with command esxcli system settings.......
anone knows what can I do
William Lam says
Looks like this kernel setting isn't actually configurable via ESXCLI like others ... the only option is to manually edit the boot.cfg either on USB and/or Local Disk (after ESXi has booted up) to automatically append the kernel setting or else you will need to do this each time. I've updated the blog post
Sam Armstrong says
I followed Chris Hall's idea. Installed ESXi 7.0 on Dell T110ii 8GB USB stick, moved the stick to Dell R710 with Xeon 5677s, viola.. it just booted fine. So, then I tried the same on my recent laptop, moved the USB stick to R710 and it booted fine again.
michiel says
I've managed to install 7.0 from USB. What i did :
- Boot from USB
- Shift+o
- Mine said something along the lines of 'weasel' and just add the 'allowLegacyCPU=true behind that
* Installation will start and it will come to the point saying 'can't continue CPU's not supported'.
Normally there's just 'back and cancel' now you get a 'continue' option. Select that and continue the
installation as normal.
- Installation continues and no further input is required, reboot.
- Everything starts normally, no need for 'allowLegacyCPU=true' anymore. Looks like it's just an installation
check and everything is running great.
Runs like a charm, moved all my old disks from 6.7 over to 7.0 and updated the whole lot.
goatbloat says
I can confirm this works on HPE DL360 and DL386 Gen 7 servers and on Dell R710 servers using 5600 processors!
spacejam says
hi, can you advise what is your server brand and cpu model?
ren says
did you try to update 7.0 with the latest patches ? It refuses to do it. Now what? This is on a r710 w 56xx cpu
Diego Delgado says
I can confirm this works on an HPE BL460 G7!!!!
sony lim says
Hi Any one try it on Dell R610 intel Xeon L5630 ?
spacejam says
Confirmed it's working
spacejam says
Hi, confirmed working on HP DL360 G7 Intel Xeon E5649.
Michiel Breur says
I installed ESXI 7 on a dual Xeon e5645 and x5660. Just by adding the line during the installation and it just works after that. I didn't edit the boot.cfg files. However I wonder how to update ESXI itself? When using the update option I get CPU aren't supported or 'this image is not compatible with the cpu' or something along those lines.
Any way around this yet? Or do I have to do a complete reinstall every time there are updates? Maybe a similar flag which can disable the check?
ESXI 7 runs without issues vcenter 7 also runs very well. And even though the 5600 series are old a dual node will eat a nuc anytime. Also I paid ~200 for my dual node. I like to see a nuc with 12c24t/56GB RAM and not to mention storage capacity.
X8DTT-HEF+ with latest bios.
Ren says
I have the same problem. Update won't take.
Ren says
Here is an (somewhat) easy way to get it to the latest patch.
Download vmware powercli and install on your pc.
Download the latest ESXI ISO(.iso) and the latest patch file (.zip)
Put both files (.iso and .zip) in a directory (I named it slipstream).
start powercli and change directory to slipstream.
Then run:
Add-EsxSoftwareDepot VMware-ESXi-7.0U1b-17168206-depot.zip
Get-EsxImageProfile | ft -AutoSize
Export-EsxImageProfile -ImageProfile ESXi-7.0U1b-17168206-standard -ExportToISO -NoSignatureCheck -FilePath ESXi-7.0U1b-17168206.iso
This is from 11/26/2020. There might be newer patches when you do this so adjust the names.
You now have a NEW .iso file that has the latest patches and full iso combined into the a new iso file.
Burn the new iso to a usb and use it to install a full esxi OR patch an existing install. Make sure to press SHIFT-O at the start and add allowLegacyCPU=true to the boot parameters.
You now have the latest ESXI install. And on reboot I did NOT have to add any parameters. It boots clean. Did this on a Dell R710 with x5690 cpu's and a Dell R710 with e5606 cpu's.
new esxi guy says
I was able to use the AllowLegacyCPU=true, to get past the CPU error. However, ESXi 7.0 didn't see any drives. I'm using a Dell R710 with Xeon 5570 CPUs, H700 RAID, and 96GB RAM.
Since it didn't see any of the drives... I tried, and got it installed successfully, to a 2nd USB stick (I booted from the first USB stick for the install). This worked fine, even with the 5570's that people report probably won't work...
So now, I just need to image that USB to the RAID drives so I can boot from them. I did need to hit Shift-O during first boot, and add AllowLegacyCPU=true to the boot options. When installing from USB originally, I simply had edited the two boot.cfg files to get there.
New guy says
Have been working on the same issue. Now have esxi 7 running great on the R710....
Storage issue: While not certified, a Dell H710 RAID controller is recognized by ESXI 7.0, and the H700 cables work to connect the controller to the backplane. Works for a clean install just fine.
CPU Issue: You'll want to update the two boot.cfg files, after the Weasel line, with "AllowLegacyCPU=true". Upgrade to a 5600 series CPU. Check the CPU's TDW. If it's 130w, you'll need a Gen II R710. There are supported CPUs on Gen I, like the 5675. To determine this, check your service tag, and find your mobo part number on dell's site.
Generation I Part numbers: YDJK3, N047H, 7THW3, VWN1R and 0W9X3.
Generation II Part numbers: XDX06, 0NH4P and YMXG9.
Ren says
Which two 'boot.cfg' files? Does it patch ok after doing that ? Installing it one thing, patching it is another !
ScannyGitts says
Thank you for the workaround. This worked for me. Installed ESXi 7.0.0 on an HP ProLiant DL380 G7 w/ dual Xeon x5650’s. Thank you!
Ren says
It is useless because the patches won't work. Refuses to update due to outdated cpu.
mbn65 says
It work's great on my DL389G7 with 2x5650, sadly I can't upgrade the system with newer patches as they appear due to incompatibility...
Is there anybody who got a solution?
Have a nice day!
Ren says
That's what I said. Did you read my comment?
Magnus says
I read your comment where you says it’s useless.
But I still wonder if anyone have come up with a solution to the problem.
Ren says
ok. I haven't seen any solution to this. Guess it's the end of the line for me.
ntmatter says
For an unattended workaround (tested on 7.0b-16324942), you can modify the boot configs on the install media itself. As of ESXi 7.0 [1], it's necessary to modify isolinux.cfg and syslinux.cfg. This is an opportune time to perform the tweak.
When you have the install USB mounted, edit the kernelopt= line in both boot.cfg and efi/boot/boot.cfg to the following:
kernelopt=cdromBoot runweasel allowLegacyCPU
Doing some additional digging, it might even be possible to edit the upgrade script itself. If you look in upgrade/precheck.py inside the checkCpuSupported() function, you'll see the allowLegacyCPU check being performed. Consider unconditionally setting the mismatchCode to Result.WARNING, and hope for the best!
[1] Format a USB Flash Drive to Boot the ESXi Installation or Upgrade: https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.esxi.upgrade.doc/GUID-33C3E7D5-20D0-4F84-B2E3-5CD33D32EAA8.html
keviin077 says
Hi all,
maybe a stupid question but I have the following problem:
I have Lenovo notebook T590 with Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz.
https://ark.intel.com/content/www/us/en/ark/products/149088/intel-core-i5-8265u-processor-6m-cache-up-to-3-90-ghz.html
4 cores, 8 threads
Installation done successfully and super fast 5 minutes.
But ESXi 7 or 6.7 shows only 7.2 Ghz available for VMs.
CPU info visible in host hardware part:
Logical processors: 8
Processor type: Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
Sockets: 1
Cores per socket: 4
Hyperthreading: Yes, enabled
Power management: Active Policy = High performance
In BIOS: Power management disabled to avoid lower CPU frequency.
Do somebody have any ideas?
Thnaks
Maros
JB says
Is there any way to disable the CPUIDEarly module?
Michael Schoenly says
Worked for me, thanks!
Alex Dess says
Thx for sharing works like a charm. In the latest build you only have to configure the setting during the installation and it gets then persisted.
Alex
Ren says
It persisted for me on the first build (7.0) already. R710 w x5690 and R710 w e5605
dubl3a says
This did not work for my r710 and Intel X5570s
Moel Houshyar says
I do this and now I have ESXi 7.0 on BL465c G7 with 24 CPUs x AMD Opteron(tm) Processor 6174
But I can not power on any machine !
this is error in monitor log: "Panic: panic from signal, skipping monitor coredump."
E105: PANIC: Unexpected signal: 4.
every machines in any type powered off immediately after clicked on console screen. I tried to install VCenter but it powered off 3 seconds after powering on.
N36L-inator says
Also have this issue on an old N36L I want to run 1 or 2 VMs on, but it is only on console access. The VM runs fine and screenshots are visible. But as soon as try console or VMRC instant crash. So can be run completely headless if need be.
N36L-inator says
Managed to get pfsense running with a serial console installation and has run stable without issue for over 10 days. Issue seems to be solely with the interactive graphical console access.
Philipp von Wallenberg says
works ... BUT ... vCenter patch staging to a host fails ...
keviin077 says
Hi all,
maybe a stupid question but I have the following problem:
I have Lenovo M75t with AMD Ryzen 7 4750G CPU @ 3.60GHz.
8 cores, 16 threads
Installation done successfully and super fast 5 minutes.
But ESXi 7 u1 shows only 28.7 GHz available for VMs (should be 57.2 GHz).
CPU info visible in host hardware part:
Logical processors: 16
Processor type: AMD Ryzen 7 PRO 4750G with Radeon Graphics
Sockets: 1
Cores per socket: 8
Hyperthreading: Yes, enabled
Power management: Active Policy = High performance
In BIOS: Power management disabled to avoid lower CPU frequency.
Till now I overcome issue with unsupported integrated NIC which help of USB NIC Fling drivers
and this problem with the CPU is the last thing I have to solve to be successful with my new machine.
I cannot afford professional server.
Do somebody have any ideas?
Thanks for any help, comment or suggestion.
Maros
Ren says
I think that's normal. What did you expect to see ?
Keviin077 says
The problem is that only 28.7 GHz is available for VMs. Because there is 16 logical processors I expect 57.6 GHz (16 x 3.6 GHz) like I see when ESXi is installed as VM in Workstation Pro
Ren says
I see the same thing you see on my x5690 cpu's.
Keviin077 says
So you have 6 cores with 12 threads base frequency 3.46GHz I would expect 12x 3.46 = 41.52GHz available for VMs. If you see only half of that frequency 20.76GHz or something like that I think that esxi is using only 50 % of the possibilities of your processor. Can somebody confirm or refute my statement ?
Keviin077 says
So you have 6 cores with 12 threads base frequency 3.46GHz I would expect 12x 3.46 = 41.52GHz available for VMs. If you see only half of that frequency 20.76GHz or something like that I think that esxi is using only 50 % of the possibilities of your processor. Can somebody confirm or refute my statement ?
Keviin077 says
Anybody with some ideas or comments?
Steven says
Any one have successful upgrade 6.7 to 7.0 on R510.
I tried on the method above, disable the function in the precheck script, it run for sometime and ended with cannot execute script error. After reboot nothing was upgraded, It roll back to 6.7
Ren says
I have done it on the R710 but I use the full iso or I build my own bundle with an iso + patch file.
Why don't you try upgrading it by using the full iso, boot from iso with the allowLegacyCPU=true parameter and upgrade that way ? Works every time for me. And it doesn't need the parameter once the upgrade is done.
JimmyIT says
I did this and it worked. It did not have an issue rebooting and needing to add it again though. Awesome tip!
George says
Excellent!!!! Worked first time around. Using esxi8 in a nested test to see if we can get a successful boot. And YES!! Now off to edit the boot.cfg, which I have never done and there's nowhere that shows anyone doing it.
I am assuming during install (on a physical host), hit SHIFT+O, then set parameters as indicated above and get to a successful install. I am presuming shut down the host and pull out the USB and pop it into a Physical PC and open/edit the files and stick back into the host??
Any answer would be appreciated.
George says
... i'm waiting. i didnt think my question was that difficult to answer
SemoTech says
Yes, press SHIFT-O during install and once install completes access ESXi on the server via SSH then edit both /bootbank/boot.cfg and /altbootbank/boot.cfg and add allowLegacyCPU=true to both! Then reboot.
This was tested with ESXi 7.0 not sure if it works with ESXI 8.0 but you can advise...
Spyros says
Has anyone tried to install esxi 8.0 U2 on Dell R710 (x5650 CPU)?
Everything worked OK until the previous update using the allowLegacyCPU=true.
But since the 8 u2 seems that there is a hard block and even the allowLegacyCPU=true is not working. I'm trying to find more information on this but there is nothing useful atm. Hope that that is just a bug and will work in the next patch. A ton of people using home labs with similar config.
Maybe @William Lam if you have more info on this please?
William Lam says
I had another individual share something similiar but mentioning I had no issues using that going from 8.0u1c->8.0u2 on Mac Mini, they seem to have indicated it worked for them ... so not sure
When you say "hard block", what do you mean? Can you provide a few screenshots and more importantly, take a look at the installer logs which will give more insights. I assume you added allowLegacyCPU=True to the ESXi 8.0U2 installer and NOT from your existing installation, because that's where the param is actually used during the install/upgrade process. If so, please go into console Alt+F1, enable SSH (/etc/init.d/SSH start) and copy out /var/log/esxi_installer.log as that'll be help me understand what you're seeing
Spyros says
When you say "hard block", what do you mean?
I mean that vmware stopped supporting the allowLegacyCPU=true.
But I haven't found an official article from vmware so I hope it is just a bug.
Yes, here are two screenshots.
https://i.ibb.co/F5C7KKC/esxi-8-img2.gif
https://i.ibb.co/vvXkr9f/esxi-8-img1.png
One of them is animated gif and if you download it you can see that this happens during the loading of the esxi files and right before it enters the dcui state loading screen. The error is the following :
VMB: 716:
Unsupported CPU: Intel family 0x06, model 0x2c, stepping 0x2 Intel(R) Xeon(R) CPU X5650 @ 2.67GHz See http://www.vmware.com/resources/compatibility
Yes I am using the allowLegacyCPU=true during the boot but is saved as well at the /bootbank/boot.cfg and /altbootbank/boot.cfg
I cannot access the log when this happens because you can't do anything and after booting the log is not there.
William Lam says
As I said before, you NEED to ensure allowLegacyCPU=true is added to the installer NOT your existing deployment, the fact that you're mentioning /bootbank/boot.cfg tells me you've incorrectly applied the setting. Did you manually type it in during boot (SHIFT+O) when you booted ESXi 8.0U2 installer?
Spyros says
Sorry if you didn't understand. Yes I have done that.
William Lam says
OK, I just heard back from Engineering and this looks to be an expected behavior because as of ESXi 8.0 U2, we now require the XSAVE instruction and these really old systems do NOT support it and hence even w/override, it will not work and hence the hard block. While it was nice to have this override parameter, there was never a guarantee that it would continue to work forever and at some point, you will start to either have issues and we don't want that and hence disallowing the upgrade, especially in this case where we rely on certain minimum CPU instruct set.
I'll do a quick blog post as this has only been the second occurrence that I have personally seen regarding this issue. Apology for the initial confusion
Spyros says
Thank you very much William! At least now the community knows officially why this is not working. Looking forward for the article and see what to do with my home lab!
William Lam says
Here's the blog post https://williamlam.com/2023/10/heads-up-esxi-8-0-update-2-requires-xsave-cpu-instruction-even-with-allowlegacycputrue.html
Spyros says
Time to upgrade 🙂
Kugane says
I have a dl380 g7 with p410i Controller. Server should work with esx7, but whats with the controller?