Proxmox is a Debian-based open-source virtualization platform that enables VM management using KVM and LXC. This article summarizes the benefits and caveats of running Windows 10/11 on Proxmox.
Benefits
Powerful Snapshots
Proxmox’s snapshot feature is very powerful. You can save Windows state anytime and instantly restore when problems occur.
- Take a snapshot before installing software
- Create insurance before updates
- Return to a clean state after malware infection
- Save before modifying registry
It’s more reliable than Windows standard restore points, and the strength is being able to restore the entire OS. Restore points often only restore system files, but Proxmox snapshots restore the entire disk.
Snapshot creation takes just a few clicks from the WebUI. Go to “Datacenter” → “VM” → “Snapshots” → “Take Snapshot” and you’re done. Restoration is also just selecting “Rollback” from the same screen.
Backup Flexibility
Proxmox can backup VMs entirely. Since it saves the disk image, migration to another machine is easy.
Backup formats available include.
- LZO - Fast but larger file size
- GZIP - Standard compression ratio
- ZSTD - High compression and fast. Recommended for recent Proxmox
Scheduled backups are easy to configure from the WebUI, and saving to NAS or remote storage is possible. Configure from “Datacenter” → “Backup”. You can run automatic backups every night.
Backup destinations include NFS, SMB/CIFS, and Proxmox Backup Server. Backing up to a home NAS means recovery is possible even if the Proxmox host fails.
Reduced Environment Pollution
When testing software or suspicious programs, you don’t have to pollute your main environment. VMs can be used in a disposable manner - just delete when no longer needed.
Multiple Windows environments can be separated by purpose - development, testing, daily use, etc.
Common usage patterns include.
- Save a clean install state as a template and clone when needed
- Create a dedicated VM for testing suspicious software
- Keep old Windows versions (like Windows 7) for compatibility testing
Efficient Resource Usage
Multiple Windows VMs can run on a single physical machine. With a 16-core 32-thread CPU and 64GB memory, you can run 3-4 Windows VMs simultaneously.
CPU cores and memory can be allocated per VM, adjustable by purpose. 8 cores and 16GB for daily use VM, 2 cores and 4GB for testing, etc.
Caveats and Barriers
GPU Handling
GPU passthrough has complex configuration and doesn’t work on all hardware.
- IOMMU group confirmation is required. Some motherboards have GPU in the same group as other devices that can’t be separated
- Some GPUs have reset bugs (GPU doesn’t initialize properly when VM restarts, requiring host reboot). Common on older AMD GPUs
- Driver Code 43 problem (especially NVIDIA. Driver refuses to work when detecting virtual environment)
For Code 43 workaround, VM configuration like this is needed.
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
Also, adding this to VM config file (/etc/pve/qemu-server/VMID.conf) sometimes helps.
cpu: host,hidden=1,flags=+pcid
For gaming or 3D rendering requiring graphics performance, the barrier is higher compared to bare metal Windows. Performance is fine if GPU passthrough works, but configuration difficulty is high.
Even without GPU passthrough, basic desktop operations are possible using QXL or virtio-gpu. However, 3D performance can’t be expected.
USB Device Handling
USB device passthrough is possible, but these points make it harder than bare metal Windows.
- Devices may not be recognized on VM side during hot plug
- Sometimes USB controller passthrough is required
- Some security keys and dongles don’t work
To passthrough USB devices, go to WebUI “Hardware” → “Add” → “USB Device”. You can specify by device ID or by port.
For USB drives that are frequently plugged/unplugged, port specification is convenient. Devices plugged into specific USB ports are automatically passed through to VM.
Daily Work UX
Virtualization overhead is unavoidable.
- Boot includes Proxmox host boot time. Total adds 1-2 extra minutes
- VNC or SPICE access isn’t as smooth as bare metal Windows
- Sound delay and video playback stuttering can occur
SPICE is more comfortable than VNC. Install virt-viewer on the client.
# For Ubuntu
sudo apt install virt-viewer
Download the SPICE connection file from Proxmox WebUI and open it to connect.
For better experience, GPU passthrough + Looking Glass is an option. Looking Glass displays GPU output on the host side, with nearly zero latency. But configuration is complex.
VirtIO Driver Installation
VirtIO drivers are needed to run Windows VM comfortably. Without them, disk I/O and networking are slow.
VirtIO driver ISO can be downloaded from Proxmox repository.
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
Mount this ISO during Windows installation and load it as disk driver. After installation, add VirtIO-related drivers from Device Manager.
Installing QEMU Guest Agent also allows the host to properly get VM status.
Usage by Purpose
Cases suited for running Windows on Proxmox
- Development and test environments
- When isolated environment with security emphasis is needed
- Managing multiple Windows environments efficiently
- Frequent backup and restore needs
- Running multiple OSes on one physical machine
Cases not suited
- When maximum GPU performance is needed like gaming (if not confident in GPU passthrough setup)
- As main machine for daily work
- Frequent USB device plug/unplug
- Not wanting to spend time on configuration
Recommended Windows VM Specs
For reference, recommended specs for Windows 10/11 VM.
Light work (browsing, Office)
- CPU 2 cores
- Memory 4GB
- Disk 64GB
Normal work (development, multiple apps)
- CPU 4 cores
- Memory 8GB
- Disk 128GB
Heavy work (video editing, heavy apps)
- CPU 8+ cores
- Memory 16GB+
- Disk 256GB+ (SSD required)
Summary
Running Windows on Proxmox is a very powerful option for experiments and secure work environments. Snapshot and backup benefits are significant, allowing various verification without polluting the environment.
On the other hand, as a main machine for daily work, there are disadvantages in GPU handling, USB devices, and overall UX. Using according to purpose is best.
Personally, I think doing main work on bare metal Windows and testing/verification on Proxmox VMs is a good balance.