Cannot update windows 11 to 24H2 - CPU not supported

Cloudboy

Member
Dec 24, 2022
11
2
8
Hello,

For some reason i cannot get a number of my windows 11 pro vm updated to 24H2.

One of them started the update via windows updates but stopped and i get the same when trying to update via the setup.exe on the DVD.

I have tried a number of CPUs. The KVM64 and a number of the x86-64 CPUs. None of them are working.

Odd thing is that two of the VM did update with no issue.

Proxmox_cpu_issue.jpg
 
Hi,


Even `host` CPU type didn't help? If yes, I would check if the VirtIO have an update.
Hello Moayad,

indeed using the host cpu resolved the issue. But are there no virtual CPUs that work?

Will the VMs keep getting updates once you move the cpu from the host back to a virtual one?

Thx
 
Last edited:
I had the same problem upgrading from Windows11 23H2 to Windows11 24H2:

1733930233343.png

the solution to this issue is creating a custom cpu type.

1. create a new file:
nano /etc/pve/virtual-guest/cpu-models.conf

2. insert this and save the file:

cpu-model: qemu64-popcnt-sse42
flags +popcnt;+sse4.1;+sse4.2;+sse3
phys-bits host
hidden 0
hv-vendor-id proxmox
reported-model qemu64


3. modify your VM:
select the new entry in the cpu type list qemu64-popcnt-sse42

4. Start the VM and the problem should be solved!
 
I had the same problem upgrading from Windows11 23H2 to Windows11 24H2:

View attachment 78950

the solution to this issue is creating a custom cpu type.

1. create a new file:
nano /etc/pve/virtual-guest/cpu-models.conf

2. insert this and save the file:

cpu-model: qemu64-popcnt-sse42
flags +popcnt;+sse4.1;+sse4.2;+sse3
phys-bits host
hidden 0
hv-vendor-id proxmox
reported-model qemu64


3. modify your VM:
select the new entry in the cpu type list qemu64-popcnt-sse42

4. Start the VM and the problem should be solved!

Hi,

I have a AMD Ryzen 9 based Host and added the custom CPU model you described above. Unfortunately it is not working. I got an error message:


1734611452165.png

Maybe the custom CPU type must have different flags for AMD CPUs?

BR
Thomas
 
Hi,

the error message is related to the virtual environment, in this case to the virtual new created CPU, not to the host CPU.
But it is conceivable that the implementation of the CPU parameters is not done correctly because Proxmox VE is not up to date!?
My host CPU is a very old model: intel core i5-6600k, but I'm using Proxmox VE 8.2.7 (not the newest 8.3).
 
Ok any solutions without all these hacks? I set to x86-64-v2-AES. And health check does show that its win11 compatible.

I upgraded virtio to 1.266 (the standard drivers, net, scsi, ballon, serial..)

I am still on q35 8.1. Do I need 9.0?

Must you do the in place iso installation upgrade manually?

UPDATE: I set to x86-64-v3 and the next day I got the upgrade to 24H2 maybe v2 AES would have worked too not sure.
 
Last edited:
I had the same problem upgrading from Windows11 23H2 to Windows11 24H2:

View attachment 78950

the solution to this issue is creating a custom cpu type.

1. create a new file:
nano /etc/pve/virtual-guest/cpu-models.conf

2. insert this and save the file:

cpu-model: qemu64-popcnt-sse42
flags +popcnt;+sse4.1;+sse4.2;+sse3
phys-bits host
hidden 0
hv-vendor-id proxmox
reported-model qemu64


3. modify your VM:
select the new entry in the cpu type list qemu64-popcnt-sse42

4. Start the VM and the problem should be solved!
When I copied the conf file lines from this web page it didn't work at all. Had to read the manual page to find out all lines after the first need to begin with a tab.

I also changed the model name from 'qemu64-popcnt-sse42' to 'qemu-w11' to reflect the purpose. And so I don't need to change the name itself when Microsoft adds some new requirement to 25H2.

I run Proxmox on a rather old Core i5 that Windows 11 doesn't like by model but actually supports all the SSE4.2 stuff.
 
When I copied the conf file lines from this web page it didn't work at all. Had to read the manual page to find out all lines after the first need to begin with a tab.

I also changed the model name from 'qemu64-popcnt-sse42' to 'qemu-w11' to reflect the purpose. And so I don't need to change the name itself when Microsoft adds some new requirement to 25H2.

I run Proxmox on a rather old Core i5 that Windows 11 doesn't like by model but actually supports all the SSE4.2 stuff.
Uprgading virtio-drivers not enough or why you are fiddling with conf-files?
 
Everyone should simply use "host" as CPU. The only exception is, if you run a Cluster and all nodes in the Cluster doesn't have the identical CPU Generation.

Funny thing is, i have only a single VM in one of my Clusters, that is not working with host as CPU and freezes during migration.
On all other Clusters, or basically everywhere, im using host and never had any issues on any OS with migrations or even restoring to a entirely different hardware.
The only issue is that sometimes the License needs to be reactivated.

I have more as 11 PVE-Servers, stopped counting them. Maybe its already 15 dunno.
PVE is like a virus, it just keeps multiplying....

Cheers :-)
 
  • Like
Reactions: waltar
I had a hell of a time upgrading a Win 10 VM (Work PC) to 11,but in the end, changing the CPU type to qemu64 and the machine version to q35 v9.0 worked for me. I also installed the latest virt IO drivers. but that wasn't enough to make it work. Had to use qemu64.
 
  • Like
Reactions: waltar