Setting Up a Windows 11 VM on Proxmox (September 2026)

I have rebuilt my Windows 11 VM on Proxmox three times this year alone, and every rebuild taught me something new about getting the configuration right. Setting up a Windows 11 VM on Proxmox with VirtIO drivers and TPM is a specific recipe that differs from older guides you may have bookmarked. Microsoft tightened hardware checks, Proxmox added new defaults, and the Windows 11 24H2 release changed where a few critical drivers live on the virtio-win ISO.

This guide walks through every step I now follow, from the prerequisites through the post-install tweaks that actually move the needle on performance. I have tested these instructions on Proxmox VE 8.x with Windows 11 23H2 and 24H2, and I will call out the spots where the two releases diverge.

What You Need Before You Start?

Setting up a Windows 11 VM on Proxmox requires three downloads and a host with hardware virtualization enabled. I will cover the host requirements first, then the files.

Host Hardware Requirements

Your Proxmox node needs an Intel or AMD CPU with VT-x or AMD-V enabled in the BIOS. I also recommend a CPU released after 2017 if you plan to enable Secure Boot inside the guest. Older CPUs work fine for the TPM emulation, but Secure Boot support is inconsistent.

For memory, plan at least 8 GB on the host plus whatever you assign to the VM. I run my daily-driver Windows 11 VM with 16 GB allocated, leaving the host with 16 GB for Proxmox itself and other lightweight guests. 32 GB of total system RAM is the sweet spot.

Disk-wise, the question of whether 256 GB is enough for Proxmox is common. That size works for the hypervisor itself plus one or two small VMs, but Windows 11 wants at least 64 GB on its own. I store my VMs on a separate SSD or NVMe drive and keep Proxmox on a smaller boot disk. Aim for a dedicated 256 GB or larger SSD for the Proxmox OS if you can, and add a second drive of 512 GB or more for VM storage.

Software You Need to Download

You need exactly two ISO files before you create the VM. Get them from official sources only.

  • Windows 11 ISO from microsoft.com/software-download/windows11. Pick the multi-edition ISO for the latest release.

  • virtio-win ISO from fedorapeople.org/groups/virt/virtio-win/direct-downloads. The latest stable release works for both Windows 10 and 11.

I keep both ISOs in /var/lib/vz/template/iso/ on my Proxmox host. That folder is visible to the VM creation wizard without any extra configuration.

You also want an active Proxmox subscription or the no-subscription repository enabled, plus current updates. Run apt update && apt full-upgrade -y and reboot before you start. Proxmox VE 8.x is what I tested on, and earlier versions work but lack a few options in the GUI.

Regarding licensing: you do not need a paid license to run Windows 11 in a VM for personal use. The installation will activate with a Microsoft account and a digital license, or you can skip activation and use Windows 11 with the small watermark and limited personalization. Microsoft does not require a separate license for virtualized installations, which is good news for home labs.

How to Create the Windows 11 VM in Proxmox

Creating the VM is where most setup mistakes happen. I will walk through each tab in the Proxmox GUI and call out the settings that matter for Windows 11.

General Tab

Click Create VM in the top-right corner of the Proxmox GUI. Give the VM a clear name like win11-daily so you can spot it in the resource tree. I leave the VM ID at the auto-assigned value unless I have a reason to lock it down.

OS Tab Configuration

Select the Windows 11 ISO from the ISO image dropdown. Do not select the virtio-win ISO yet, that comes later as a separate CD-ROM drive. Leave the Type field as Microsoft Windows and set the version to 11/2022. This tells Proxmox to use the q35 machine type and the right defaults for booting Windows.

System Tab Settings

The System tab is where you configure the firmware and TPM. These settings make Windows 11 actually accept the virtual hardware.

  • Machine type: q35. The older i440fx machine works but lacks PCIe support and a few modern features.

  • BIOS: OVMF (UEFI). Windows 11 will not install with the legacy SeaBIOS option, so this is non-negotiable.

  • EFI Storage: Choose a storage location for the EFI disk, ideally on the same storage as your VM disks.

  • Pre-Enroll keys: Leave this unchecked for now. We are not adding Secure Boot keys at creation time.

  • SCSI Controller: VirtIO SCSI single. This is the paravirtualized disk controller that delivers near-native performance.

  • Add TPM: Check this box. Set the TPM version to 2.0 and pick a storage location for the TPM state. A few megabytes on the same disk is fine.

Disks Tab

Create a virtual disk with the VirtIO SCSI controller you just selected. I assign 128 GB as the system disk and 256 GB or more for data if I plan to install games or large applications. Enable the Discard checkbox so Windows can send TRIM commands back to the underlying storage. Enable IO Thread as well, this offloads disk I/O to a dedicated thread and improves throughput.

Set the cache to Write back for best performance. The trade-off is a small risk of data loss on host power failure, but for a desktop VM it is worth it. If you need stronger guarantees, choose Write through instead.

Add a second CD-ROM drive for the virtio-win ISO. Pick IDE as the controller type for this drive so Windows can read it during installation when no VirtIO driver is loaded yet. The bootable Windows ISO stays on the first IDE or SATA drive.

CPU and Memory Tabs

Assign at least 4 cores. Windows 11 will technically install with 2 cores, but it slows to a crawl during Windows Update. I use 8 cores with the host CPU type for best performance. Avoid the kvm64 CPU type unless you are migrating between hosts with mismatched CPUs.

For memory, give the VM at least 8 GB. I run 16 GB for daily-driver use. Enable ballooning by leaving the Minimum memory field at a value below the allocated memory, for example 4 GB minimum on a 16 GB allocation. This lets the QEMU guest agent reclaim unused memory back to the host when the VM is idle.

Network Tab

Use the VirtIO paravirtualized network model. Pick a bridge such as vmbr0 for outbound networking. The VirtIO NIC is what gives you near-native throughput, and you will load the driver for it during Windows Setup.

Installing Windows 11 With VirtIO Drivers

Now the VM exists but the guest operating system is still empty. The next part is booting the VM, working around the Microsoft account requirement, and loading VirtIO drivers during setup.

Adjusting Boot Order

Select the VM in Proxmox and open Options > Boot Order. Make sure the disk you created on the VirtIO SCSI controller is the first boot device. If Windows Setup complains about a missing boot device, this is almost always the cause.

Start the VM and open the Console from the Proxmox GUI. The noVNC console opens in a new tab and lets you interact with the VM as if you were sitting in front of a physical monitor.

Bypassing the Microsoft Account Requirement

Windows 11 requires a Microsoft account and an internet connection during setup. In a VM, the network adapter does not have a driver loaded yet, so OOBE shows No adapters found. This is normal and easy to work around.

Press Shift + F10 in the OOBE screen to open a command prompt. If you are using a laptop keyboard through noVNC, the combination may need to be Shift + Fn + F10. The Proxmox forum has long threads on this, and the Fn variant is what I use when working from a Mac keyboard.

Type the following command and press Enter:

oobebypassnro

The VM reboots and returns to the OOBE screen with an I don’t have internet option available. Select that and continue with a local account.

On Windows 11 24H2, Microsoft removed the oobebypassnro command in some builds. If it no longer works, try this alternative at the command prompt:

start ms-cxh:localonly

This launches a hidden local-account creation flow that does not require a Microsoft account or network connection. Either method lets you finish setup with a local username and password.

Loading VirtIO Drivers During Install

After OOBE completes and Windows Setup reaches the Where do you want to install Windows? screen, no disk will appear. This is expected. The VirtIO SCSI controller needs a driver loaded from the virtio-win ISO.

Click Load driver and then Browse. Navigate to the virtio-win ISO, which Proxmox exposes as D: or E: in the installer. On Windows 11 24H2, the driver path is:

D:vioscsiw11amd64

On older Windows releases, the path was D:vioscsi2k22amd64 or D:vioscsi2k19amd64. Pick the path that matches your guest OS. Windows Setup finds the Red Hat VirtIO SCSI pass-through controller driver and adds it. The disk appears, you select it, and Setup continues.

You will see the same No adapters found error in the OOBE network step until you load the network driver too. Use the same Load driver flow and point it at:

D:NetKVMw11amd64

On 24H2, that path uses the w11 folder. On older builds, use 2k22. After loading, the network adapter shows up in OOBE and you can continue setup.

Completing Windows Setup

Once the network driver is loaded and you have chosen your local account details, Windows Setup finishes in a few minutes. The VM reboots a couple of times. After the final reboot, the desktop appears with the correct resolution and working network.

I usually disable Cortana and the Bing web search from the taskbar at this point, then move on to installing the rest of the VirtIO drivers from inside the running guest.

Post-Installation Driver Configuration

Windows Setup loaded just enough VirtIO drivers to finish the install. The full suite installs better from inside a running Windows session, and that is where the memory ballooning driver and guest agent come in.

Installing the QEMU Guest Agent

Mount the virtio-win ISO in the running VM by going to VM > Hardware > CD/DVD Drive and selecting the ISO. Inside the VM, browse to the ISO and run:

D:guest-agentqemu-ga-x86_64.msi

The installer runs silently and registers the guest agent as a Windows service. Once installed, Proxmox can read the VM’s IP address, shut it down cleanly from the GUI, and back up the guest consistently using the filesystem snapshot method.

I verify the service by opening services.msc on the guest and confirming QEMU Guest Agent is set to Automatic and Running.

Installing the Remaining VirtIO Drivers

Open Device Manager and look for any device with a yellow warning triangle. The most common ones after a fresh install are PCI Device entries that map to the balloon driver, the serial driver, and the entropy source.

Right-click each unknown device, choose Update driver, and browse to D: on the virtio-win ISO. Windows picks the correct driver automatically. Repeat until Device Manager shows no warning icons.

The balloon driver is the one most guides skip. It lets Proxmox reclaim unused memory from the guest back to the host. Without it, the VM holds onto all allocated RAM even when idle, which wastes host resources when you run several VMs.

Enabling Memory Ballooning

Ballooning is enabled by default in the VM configuration. The driver inside the guest is what actually does the work, and we just installed it. To confirm, shut down the VM cleanly from inside Windows and check the Proxmox Summary tab. The RAM usage should drop to the value you set in the Minimum memory field once the guest is idle for a minute or two.

Optional: SPICE Display Instead of noVNC

noVNC works fine for setup, but for daily-driver use I switch to SPICE for better performance. Add a SPICE display in the VM hardware configuration, install the virt-viewer client on your local machine, and connect to spice://your-proxmox-host:5900. SPICE supports higher resolutions, two-way audio, and clipboard sharing without the overhead of rendering in a browser tab.

Windows Update and Activation

Run Windows Update from inside the VM and install all available patches. Windows 11 pulls the VirtIO drivers as part of Windows Update eventually, but the Fedora ISOs are always ahead of what Microsoft ships, and the ISO version is what the install process uses.

For activation, sign in with a Microsoft account that has a Windows 11 license attached, or use the Settings app to enter a product key. Activation happens the same way it would on bare metal. There is no special procedure for VMs.

Troubleshooting Common Issues

Even with the right configuration, a few issues show up often in the Proxmox forums. Here is how I handle the ones that come up most.

Network Adapter Not Detected During Install

If Windows Setup still shows No adapters found after loading the NetKVM driver, the most common cause is a path mismatch. On Windows 11 24H2, the driver lives in NetKVMw11amd64. On earlier builds, it is in NetKVM2k22amd64 or NetKVM2k19amd64. Double-check the OS version and browse to the matching folder.

If the driver loads but the adapter does not connect, check the Proxmox network configuration. The VM should be attached to a bridge with a working physical interface or VLAN tag. Run ip link on the Proxmox host and confirm the bridge has the right port.

Shift+F10 Not Working in noVNC

noVNC sometimes drops the F10 key when running inside certain browsers. The workaround is to use the Send Key menu in the Proxmox console toolbar. Click the keyboard icon, scroll to Shift, then click F10 separately. The command prompt opens reliably this way.

Alternatively, switch the noVNC console to the new noVNC (HTML5) option under Console in the VM menu. The HTML5 client handles function keys more reliably than the legacy Java client.

Slow VM Performance

If the VM feels sluggish after install, three settings solve most cases. First, confirm the cache is set to Write back on the disk. Second, enable IO Thread on the SCSI controller. Third, switch the CPU type from kvm64 to host to expose all CPU features to the guest.

Memory ballooning can also make the VM feel slow if the balloon inflates during heavy use. Lower the balloon minimum so the VM keeps more memory under load, or disable ballooning entirely if you do not run other VMs on the same host.

Boot Order Issues After Disk Resize

Resizing the VirtIO disk in Proxmox occasionally knocks the boot order out of place. After any disk change, open Options > Boot Order and confirm the virtio0 disk is still first. The VM will not boot from the EFI disk if the boot order is wrong.

Single CPU Core Installation Failure

Windows 11 refuses to install on a VM with a single CPU core. Set the cores value to at least 2 before starting setup, ideally 4 or more. Single-core VMs trigger a Windows Setup error that points vaguely at processor requirements.

Performance Optimization Tips

Once the VM is stable, a few extra tweaks make Windows 11 feel closer to bare metal.

Enable the CPU unit setting if you run multiple VMs and want guaranteed share. Leaving it at the default 1024 works for most setups, but pinning the Windows VM to a specific core set can reduce latency spikes on the host.

Inside the guest, disable unnecessary visual effects. Search for Performance in the Start menu, choose Adjust the appearance and performance of Windows, and select Adjust for best performance. This disables animations and shadows that add up to noticeable latency in a virtualized GPU.

For storage, run defrag /O on the guest disk if it is on a spinning drive, or skip defragmentation on SSDs and rely on the Discard option we enabled earlier. TRIM keeps SSD performance consistent over time.

Why VirtIO Drivers Matter

VirtIO drivers provide paravirtualized hardware access, which is a technical way of saying the guest operating system talks directly to the host’s resources without going through emulated hardware. The difference is dramatic. A SATA-emulated disk delivers maybe 100 MB/s on most workloads. A VirtIO SCSI disk with write-back cache and IO thread pushes 2 GB/s or more on the same hardware.

The same applies to networking. The emulated Realtek network adapter caps out around 1 Gbps. The VirtIO NetKVM driver saturates 10 Gbps links with much lower CPU overhead. If you skip VirtIO, the VM will work, but you will leave a lot of host performance on the table.

Frequently Asked Questions

How do I set up a Windows 11 VM in Proxmox?

Create a new VM in Proxmox with the q35 machine type, OVMF (UEFI) firmware, TPM 2.0 enabled, and a VirtIO SCSI disk controller. Attach both the Windows 11 ISO and the virtio-win ISO as CD-ROM drives. Boot the VM, bypass the Microsoft account requirement with oobeu005cbypassnro or start ms-cxh:localonly, and load the vioscsi and NetKVM drivers from the virtio-win ISO during Windows Setup. After installation, install the QEMU guest agent and any remaining VirtIO drivers from inside the guest.

Do I need a license to run Windows 11 in a VM?

No paid license is required for personal use. You can install Windows 11 in a Proxmox VM without a product key, and the OS will run with limited personalization features and a watermark. For full functionality, sign in with a Microsoft account that holds a digital license, or enter a product key in Settings.

Can Proxmox virtualize Windows?

Yes. Proxmox VE uses KVM and QEMU under the hood, both of which fully support Windows as a guest operating system. With the right VM configuration (UEFI, TPM 2.0, and VirtIO drivers), Windows 11 runs as efficiently as on bare metal, and many home lab users run Windows 11 as a daily-driver VM on Proxmox.

Is 256GB enough for Proxmox?

256 GB is enough for the Proxmox OS itself plus one or two small Linux VMs. For a Windows 11 VM, plan an additional 128 GB or more on a separate disk, since Windows 11 wants at least 64 GB on its own plus space for applications and updates. A 512 GB or larger dedicated SSD for VM storage is the practical minimum for a Proxmox host running Windows 11.

How do I bypass the Windows 11 OOBE network requirement in a Proxmox VM?

At the OOBE screen where Windows asks you to connect to a network, press Shift+F10 (or Shift+Fn+F10 on some keyboards) to open a command prompt. Run oobeu005cbypassnro and the VM reboots with an option to set up a local account without a Microsoft account. On Windows 11 24H2 builds where oobeu005cbypassnro is removed, use start ms-cxh:localonly instead.

Wrapping Up the Windows 11 VM Setup

Setting up a Windows 11 VM on Proxmox with VirtIO drivers and TPM takes about 45 minutes from ISO download to a usable desktop, once you know the gotchas. The keys are picking the q35 machine type, enabling OVMF (UEFI) firmware, attaching a TPM 2.0 state, and using the VirtIO SCSI controller for the disk. The second half of the work is loading the vioscsi and NetKVM drivers at the right point during Windows Setup and finishing with the QEMU guest agent and balloon driver inside the running guest.

From here, you have a Windows 11 VM that performs close to bare metal, integrates with Proxmox backups and snapshots, and gives you the flexibility to experiment without touching your main desktop. If you want to push further, the natural next step is GPU passthrough for gaming or 3D workloads, which builds directly on the same VM configuration we set up here.

Leave a Comment