VMware Cloud Community
imrazor
Enthusiast
Enthusiast

Windows 8.1 VM doesn't like my new CPU

I recently migrated my VMs to a new server featuring a Ryzen CPU (essentially same Zen architecture as EPYC.) One VM running Windows 8.1 started complaining about "unsupported hardware" and started refusing to download updates. (Thanks, Micro$oft. Insert your favorite expletive here.)

I've found a workaround called "WSUS Offline" and am in the process of testing it. However, it is unwieldy and I'm still not sure if it will actually work.

I know other hypervisors have the capability of hiding the host processor from the VM and mimicking other types of CPU. Does ESXi share this ability? In this particular scenario, that capability would make my life much easier.

Tags (1)
0 Kudos
3 Replies
daphnissov
Immortal
Immortal

Ryzen CPUs are not supported on ESXi and have been very problematic. While you can hide some instructions, you can't mask the entirety of the CPU.

0 Kudos
bluefirestorm
Champion
Champion

The CPUID can be masked in VMware VMs (ESXi, Workstation, Fusion) by adding the masks into the vmx configuration file. This works in similar ways to EVC masking.

You could try the following. I don't have an AMD system so I am not sure if the leaf 1 or 80000001 is the key to masking it. You could use CPU-Z inside the Windows 8.1 VM to see if it takes effect. This should change the family/model/stepping.

cpuid.80000001.eax.amd = "0000:0000:0110:0000:0000:1111:0010:0000"

cpuid.1.eax.amd = "0000:0000:0110:0000:0000:1111:0010:0000"

cpuid.brandstring = "AMD FX(tm)-8300 Eight-Core Processor"

I am guessing MSFT would look at the CPUID family/model/stepping instead of the brand string. The brand string can be anything and something like CPU-Z will also pick it up.

If it works, this should be enough to fool CPU-Z but not sure if it will work for fooling Microsoft Windows Update.

imrazor
Enthusiast
Enthusiast

daphnissov​ This is not a problem with the VM's functionality, but an artificial software limit imposed by Microsoft. It will most likely also affect people trying to run Windows 7/8 VMs on Kaby or Coffee Lake Intel CPUs.

bluefirestorm​ Thanks for the tip. My research turned up a third party tool ("zeffy's patch" or "wufuc") that resolves the problem. It isn't from a known developer, but many sources reference the tool. If that starts failing, I'll try experimenting with those .vmx parameters.

0 Kudos