Install, configure, and access a Windows 11 Pro VM on top of Proxmox VE. Proxmox lets you deploy Windows VMs using KVM/QEMU, with integration via the QEMU Guest Agent and VirtIO drivers, including UEFI + emulated TPM 2.0 (required for Win11).
Windows series
- Preparing a PC for Dualboot Linux / Windows and installing Windows 11 Pro.
- Configuring a decent Windows 11 by removing the cruft.
- Preparing Windows for software development: CLI, WSL2, and tools.
- Installing VMWare Workstation Pro on Windows 11 with a Windows 11 Pro VM.
- Installing a Windows 11 VM on Proxmox to run Windows 11 Pro on top of a Proxmox host.
Prerequisites
- Proxmox VE 8.x or newer.
- Official Windows 11 ISO (
Win11_XXXX_64.iso). - VirtIO Drivers ISO (official download, file
virtio-win.iso). - Minimum: 4 GB RAM, 2 vCPU, 64 GB disk.
- Recommended for comfortable use: 8 GB RAM, 4 vCPU, 64+ GB disk.
- Network with DHCP available.
Create the VM
From the Proxmox web GUI, or via CLI. These are the parameters I use:
| Parameter | Value |
|---|---|
| VM ID | 400 |
| Name | vm-win11 |
| Operating system | Windows 11 (64-bit) |
| BIOS | OVMF (UEFI) |
| Machine | q35 |
| TPM | TPM 2.0 (required on Win11) |
| Storage | local-lvm or zfs (depending on your setup) |
| Network | virtio (paravirtualized) |
If you prefer the command line over the web GUI, the equivalent is:
qm create 400 --name vm-win11 --memory 8192 --cores 4 --cpu host --machine q35 --bios ovmf --efidisk0 local-lvm:1,format=raw,efitype=4m,pre-enrolled-keys=1 --tpmstate0 local-lvm:1,version=v2.0 --scsihw virtio-scsi-pci --scsi0 local-lvm:64,format=qcow2 --net0 virtio,bridge=vmbr0 --cdrom local:iso/Win11.iso --boot order=scsi0;ide2;net0
Attach the VirtIO ISO as a second CD/DVD:
qm set 400 --ide2 local:iso/virtio-win.iso
Install Windows 11
Start the VM from the GUI or with:
qm start 400
Access the graphical console from the VM’s Console tab (noVNC in the browser). For SPICE with better performance and clipboard support:
qm spiceproxy 400
Load the VirtIO drivers
In the Windows wizard, when you reach “Where do you want to install Windows?” no disk shows up (Windows doesn’t ship VirtIO drivers out of the box):
- Click Load driver.
- Select the VirtIO CD (
virtio-win.iso). - Path:
vioscsi/w11/amd64→ accept. The disk appears. - Continue the install normally.
DHCP network during install
If Windows doesn’t detect the network, from the console:
Press
Shift + F10.Load the VirtIO network driver:
drvload e:\NetKVM\w11\amd64\netkvm.infClose the console and continue. The adapter will get an IP via DHCP.
Windows 11 OOBE
The first-boot steps (keyboard, region, local account, PIN, “no” to diagnostics/location) are the same as the rest of the series: see Windows 11 OOBE.
Post-install
Install the VirtIO tools
- Open the VirtIO CD in Explorer.
- Run
virtio-win-guest-tools.exe. - Install every component (VirtIO drivers: storage/network/balloon, and QEMU Guest Agent).
- Reboot.
Enable the QEMU Guest Agent
On the Proxmox host:
qm set 400 --agent enabled=1,fstrim_cloned_disks=1
Verify inside the VM (PowerShell as admin):
Get-Service QEMU-GA
If it’s not running:
Set-Service QEMU-GA -StartupType Automatic
Start-Service QEMU-GA
From here Proxmox can execute commands inside the guest:
qm guest ping 400
qm guest exec 400 -- cmd /c ipconfig
Keep the VirtIO ISOs and QEMU Guest Agent tools updated inside Windows — it improves stability and compatibility with future Proxmox releases.
Graphical access
Three options, by use case:
RDP (typical post-install use). Control Panel → System → Remote Settings → enable Allow remote connections. From another machine:
rdesktop <DHCP-IP> # Linux
mstsc /v:<IP> # Windows
SPICE (remote console with better performance). In the VM: Hardware → Add → Display → SPICE. On the client:
# Linux
sudo apt install virt-viewer
# Windows: https://virt-manager.org/download/
From Proxmox, click Console (SPICE).
Internal VNC. Proxmox provides a browser-based VNC console in the VM’s Console tab — handy during install and for emergency access.
Backup and snapshots
With the QEMU Guest Agent enabled, backups are consistent (fs-freeze/fs-thaw) without stopping the VM:
vzdump 400 --mode snapshot --compress zstd --storage vault-backup
In the output you’ll see:
INFO: issuing guest-agent 'fs-freeze'
INFO: issuing guest-agent 'fs-thaw'
Reference configuration file
Example of /etc/pve/qemu-server/400.conf with everything above applied:
boot: order=scsi0;ide2;net0
description: Windows 11 Pro VM
efidisk0: local-lvm:vm-400-disk-1,size=4M,efitype=4m,pre-enrolled-keys=1
memory: 8192
cores: 4
cpu: host
disk: scsi0=local-lvm:vm-400-disk-0,discard=on,iothread=1,size=64G
net0: virtio=DE:AD:BE:EF:11:22,bridge=vmbr0
ide2: local:iso/virtio-win.iso,media=cdrom
cdrom: local:iso/Win11.iso
scsihw: virtio-scsi-pci
bios: ovmf
machine: q35
tpmstate0: local-lvm:vm-400-disk-2,version=v2.0
agent: enabled=1,fstrim_cloned_disks=1