VMware Communities
dadatic
Contributor
Contributor
Jump to solution

Upgrading to Windows 11 Home: cores

I have a virtual machine running Windows 10 Home on Fusion 12 Player (host: MacBookAir 2020 i5 Big Sur). It was configured with 4 processor cores. On the guest system, the Device Manager detects four processors, but the Task Manager and the PC Health Check utility see only one processor with one core. As a consequence, the latter says that I cannot upgrade to Windows 11.

Using lscpu on a similarly configured virtual machine running Ubuntu 20 gives this:

 

 

[...]
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
[...]

 

 

So my impression is that virtual machines see each host core as a separate socket processor with a single core. This is unfortunate, because Windows 10 Home seems to support only one socket processor while at the same time it requires at least two cores to upgrade to Windows 11.

Is there a way for the guest machine to see the host cores as different cores of the same socket processor, so that Windows 11 Home can work?

 

0 Kudos
1 Solution

Accepted Solutions
scott28tt
VMware Employee
VMware Employee
Jump to solution

Not sure if Fusion supports this parameter:

cpuid.coresPerSocket = "4"

That would be in the VMX file which is part of the VM bundle, this KB should help: https://kb.vmware.com/s/article/1014782

Note the importance of backing up the VMX file before amending it.

 


-------------------------------------------------------------------------------------------------------------------------------------------------------------

Although I am a VMware employee I contribute to VMware Communities voluntarily (ie. not in any official capacity)
VMware Training & Certification blog

View solution in original post

11 Replies
scott28tt
VMware Employee
VMware Employee
Jump to solution

Not sure if Fusion supports this parameter:

cpuid.coresPerSocket = "4"

That would be in the VMX file which is part of the VM bundle, this KB should help: https://kb.vmware.com/s/article/1014782

Note the importance of backing up the VMX file before amending it.

 


-------------------------------------------------------------------------------------------------------------------------------------------------------------

Although I am a VMware employee I contribute to VMware Communities voluntarily (ie. not in any official capacity)
VMware Training & Certification blog
dadatic
Contributor
Contributor
Jump to solution

Yes, it works. After adding that line to the VMX file, now the guest system detects one socket and four cores.

Thank you.

0 Kudos
ColoradoMarmot
Champion
Champion
Jump to solution

That's too many cores for a 4 core machine.  N-1 physical cores is the most any individual VM should have allocated to it.

0 Kudos
dadatic
Contributor
Contributor
Jump to solution

The virtual machine now thinks it has four physical cores, but my understanding is that it is using four logical cores from the host, not four physical ones. It lets me use up to eight, so four seems reasonable.

Windows 11 only requires two anyway, so I can change to a lower number if I run into performance problems.

 

0 Kudos
ColoradoMarmot
Champion
Champion
Jump to solution

as far as a VM is concerned, logical cores don't count.  The issue is resource locking and host starvation.  It doesn't always happen, but when it does a hard-power off is the only option, and that risks VM and other data corruption.  The N-1 rule is for physical - not virtual/hyperthreaded cores.

 

Now you can run multiple 3-core VM's..it's just that any individual VM shouldn't exceed N-1.  I've run 4, 3-core VM's on my 8-core i7.  It's slow, but it never locks up the host (unless I'm dumb enough to boot all of them at once).

 

Oh, and all this is intel.  Have to figure out what the M1 looks like, but with the insane performance, I suspect it won't be a problem.

0 Kudos
BillPa
Enthusiast
Enthusiast
Jump to solution

Installed Windows 11 Home full install, not as an upgrade and gave it 4 cores in the Fusion CPU settings. After reading this discussion, I checked and Windows was only getting 1 core, so I followed your suggestion here and now have the four. I find it extremely odd that this has to be done in this manner to actually get the desired result. I wonder how many other people will just assume they are getting all the cores they initially set up without noticing this. I had for several weeks.

0 Kudos
gringley
Hot Shot
Hot Shot
Jump to solution

I thought this was identified as a bug a while back and fixed?  I recall having to check all my guests and make sure they were single socket.  I have not seen new guests do this?

0 Kudos
BillPa
Enthusiast
Enthusiast
Jump to solution

Mine now says 4 cores, 4 logical processor(s).  Prior to that it said 1 core, 1 logical processor. settings has 4 under CPU, both instances.

0 Kudos
BillPa
Enthusiast
Enthusiast
Jump to solution

As an experiment, I changed the number of CPU's available in settings down to 2. I then checked the vmx file, and it had erased the cpuid.coresPerSocket = "4" line from the file. I started the VM and again, and even though in settings and the VMX file it showed it having 2 cpu's, Windows 11 only thought it had 1, using the Windows System Performance Monitor app. I again changed the number of cpu's back to 4 in settings, again added the line cpuid.coresPerSocket = "4" into the VMX file and when I restarted the VM, the Windows System Performance Monitor app now shows all 4 cpu's running.

Maybe the bug is still around.

0 Kudos
wila
Immortal
Immortal
Jump to solution


@BillPa wrote:

 

Maybe the bug is still around.


As far as I'm aware it is a new bug.
Never heard about it before Fusion 11.2 12.2 / Workstation 16.2

edit: oops 12.2 of course not 11.2

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos
ColoradoMarmot
Champion
Champion
Jump to solution

Ditto here - that's a new one.

0 Kudos