Solution: Windows 11 24H2 cannot be installed on Proxmox/Qemu64 due to additional feature requirements (PopCnt)

Solution to Windows 11 requiring PopCnt on Proxomox using Qemu64 buy adding creating custom a custom CPU and adding additional feature flags.


This PC doesn’t currently meet Windows 11 system requirements. This PC’s process doesn’t support a critical feature (PopCnt).


Windows 11 System Requirements

Microsoft are continually adding system requirements that stops users of older CPUs from installing new versions. Most recently, Windows 11 24H2 and later will now require PopCnt instruction support.


What is PopCnt?

The instruction itself dates back to the 1960s, but it is believed Microsoft only now requires this instruction for reasons surrounding AI. Thankfully, PopCnt has been supported since the Intel Nehalem and AMD Phenom II era — 14 years ago — so compatibility won’t be an issue for most modern systems.

However, users of the default Qemu64 virtual processor type on Proxmox and other hypervisors are affected.

Whilst other people have suggested setting the CPU type to “host”, this can cause issues if you need to migrate virtual machines to servers with different hardware or if your host CPU does not support this feature.


Windows Update (Insider Preview)

If you are using the developer channel of Window 11 Insider Preview build 10.0.26058.1100 (ge_release) is now available to install.

Windows Update 10.0.26058.1100 (ge_release)
Windows Update 10.0.26058.1100 (ge_release)

On attempting to install this build, you will see the following error message.

This PC doesn't currently meet Windows 11 system requirements
This PC's processor doesn't support a critical feature (PopCnt).
This PC doesn’t currently meet Windows 11 system requirements.

Turning on feature flags

The solution to this issue is to enable the +PopCnt feature flag on the Qemu64 CPU, however this is not available in the Proxmox UI.

Users of the Proxmox UI will need to create a custom CPU type that enables “PopCnt” on the Qemu64 virtual CPU.


Creating a custom CPU type in Proxmox

To create a custom CPU, you need to create a file called
cpu-models.conf in /etc/pve/virtual-guest.

First SSH into your Proxmox server –

SSH root@192.168.128.71

Create the custom CPU models file:

nano /etc/pve/virtual-guest/cpu-models.conf

Add the following:

cpu-model: qemu64-popcnt
	flags +popcnt
	phys-bits host
	hidden 0
	hv-vendor-id proxmox
	reported-model qemu64

Modify your Virutal Machine to use the New CPU

In the Proxmox UI, edit the Hardware/Processor settings for your virtual machine. At the very bottom of the CPU Type list you will see a new entry qemu64-popcnt.

Proxmox virtual machine settings, changing the processor type to the new virtual processor.
Change the Processor type to the new custom CPU.

You now need to shut down and restart the machine for the changes to take effect.

Proxmox UI showing pending updates
Proxmox UI showing pending updates.

After rebooting you will be able to install Window 11 Insider Preview build 10.0.26058.1100 (ge_release) and above.


Job done.

Leave a Reply