From ISO to fully optimized virtual machine
So you have got Proxmox running and you need a Windows 11 VM. Maybe it is for testing, remote access to Windows apps, or running software that just will not work on Linux. Whatever the reason, this guide walks you through the entire process.
Windows 11 on Proxmox works great once you know the tricks. Let us get it done.
Step 1: Prerequisites
Before creating the VM, download two ISOs:
- Windows 11 24H2 ISO - Download from Microsoft
- VirtIO drivers ISO (
virtio-win.iso) - Download from Fedora
Upload both ISOs to your Proxmox storage.
Windows does not include VirtIO drivers by default. Without them, your VM will not see the virtual disk during installation and network will not work after installation. The VirtIO ISO contains all the drivers you need.
Step 2: Create the Virtual Machine
Click Create VM in the Proxmox web UI (top right) and configure each tab:
General Tab
| Setting | Value |
|---|---|
| Node | Select your preferred node (e.g., pve-1) |
| VM ID | Auto-assigned or choose your own (e.g., 300) |
| Name | windows11 (or descriptive name like win11-workstation) |
Check "Advanced" at the bottom to see all options. Click Next.
OS Tab
| Setting | Value |
|---|---|
| Use CD/DVD disc image file (iso) | Selected |
| Storage | local (or your ISO storage) |
| ISO image | Select your Windows 11 ISO |
| Guest OS Type | Microsoft Windows |
| Version | 11/2022/2025 |
Check "Add additional drive for VirtIO drivers" and select virtio-win.iso. Click Next.
System Tab
This is where Windows 11 requirements come in. Windows 11 requires TPM 2.0 and UEFI.
| Setting | Value |
|---|---|
| Graphics card | Default |
| Machine | q35 |
| BIOS | OVMF (UEFI) |
| Add EFI Disk | Checked |
| EFI Storage | Select your VM storage (e.g., local-lvm) |
| Pre-Enroll keys | Checked (enables Secure Boot) |
| Add TPM | Checked |
| TPM Storage | Select your VM storage |
| TPM Version | v2.0 |
| SCSI Controller | VirtIO SCSI single |
| Qemu Agent | Checked |
TPM and UEFI with Secure Boot are required for Windows 11. Without them, installation will fail with "This PC can't run Windows 11."
Click Next.
Disks Tab
| Setting | Value |
|---|---|
| Bus/Device | SCSI (default with VirtIO SCSI controller) |
| Storage | Select your VM storage |
| Disk size (GiB) | 128 (minimum 64, recommended 128+) |
| Cache | Write back (best performance) |
| Discard | Checked (if using SSD/thin provisioning) |
| IO Thread | Checked (improves I/O performance) |
Click Next.
CPU Tab
| Setting | Value |
|---|---|
| Sockets | 1 |
| Cores | 4 (minimum 2, adjust based on workload) |
| Type | host (best performance) or x86-64-v2-AES |
CPU Type explanation:
host- Passes through your actual CPU features. Best performance, but VM cannot be live-migrated to hosts with different CPUs.x86-64-v2-AES- Good compatibility and performance. Use this if you plan to migrate VMs between hosts with different CPU models.
Click Next.
Memory Tab
| Setting | Value |
|---|---|
| Memory (MiB) | 8192 (8GB recommended minimum) |
| Ballooning Device | Checked (optional, allows dynamic memory) |
Memory recommendations: Light use (web, Office): 4GB. General use: 8GB. Heavy use (development): 16GB+.
Click Next.
Network Tab
| Setting | Value |
|---|---|
| Bridge | vmbr0 (or your network bridge) |
| Model | VirtIO (paravirtualized) |
VirtIO network gives best performance but requires the VirtIO drivers we will install. Click Next.
Confirm Tab
Review all settings. Optionally check "Start after created". Click Finish.
Step 3: Install Windows 11
Boot and Start Installation
- Select your Windows VM and click Start
- Click Console to open noVNC
- Press a key when you see "Press any key to boot from CD or DVD"
- Select language, time format, and keyboard
- Click Install now
- Enter your product key or click "I don't have a product key"
- Choose Windows 11 Pro (recommended)
- Accept license terms
- Click "Custom: Install Windows only (advanced)"
Load VirtIO Storage Driver
You will see "Where do you want to install Windows?" with no drives listed. This is expected.
- Click "Load driver"
- Click "Browse"
- Navigate to the VirtIO CD drive (usually
D:orE:) - Browse to:
vioscsi>w11>amd64 - Click OK
- Select "Red Hat VirtIO SCSI controller"
- Click Next
Your virtual disk should now appear. Select it and click Next. Windows will install (10-20 minutes) and reboot automatically.
Step 4: Windows Out of Box Experience (OOBE)
Region and Keyboard
Select your country/region and keyboard layout. Skip second keyboard layout unless needed.
Network Setup
Since we have not installed the VirtIO network driver yet, Windows will not detect any network adapters. This actually helps us skip the Microsoft account requirement.
To skip Microsoft account and use a local account:
- When asked to connect to network, press Shift + F10 to open Command Prompt
- Type:
oobe\bypassnro - Press Enter - PC will restart
- After restart, you will see "I don't have internet" option
- Click it, then "Continue with limited setup"
Account Setup
- Enter a username (this will be your daily driver account)
- Set a password
- Set security questions
This first account is created as an Administrator. After setup, consider creating a second local account as your dedicated admin and downgrading your daily account to Standard User. See Why You Should Ditch the Microsoft Account for the full guide.
Privacy Settings
Disable everything you do not need (Location, Find my device, Diagnostic data, etc.). Windows 11 is aggressive with telemetry. For a deeper lockdown, see Securing Windows 11 for Privacy.
Step 5: Install VirtIO Drivers and Guest Agent
Critical step! Your VM is running but without optimized drivers.
- Open File Explorer and navigate to the VirtIO CD drive
- Run
virtio-win-gt-x64.msi- VirtIO drivers (Next through wizard, choose Complete) - Run
virtio-win-guest-tools.exe- Guest tools and agent - Reboot Windows
These installers provide: VirtIO Balloon driver (memory management), VirtIO Serial driver (communication), VirtIO Network driver, QEMU Guest Agent, and SPICE agent.
Verify Guest Agent
After reboot, in Proxmox web UI: select your VM, check the Summary tab. You should see the VM's IP address and Guest Agent status as connected.
Step 6: Post-Installation Optimization
Remove VirtIO ISO from VM
- In Proxmox, select your Windows VM > Hardware tab
- Select the CD/DVD drive with
virtio-win.iso - Click Edit > Do not use any media
- Optionally remove the Windows ISO drive too
Enable Remote Desktop (Optional)
- Open Settings > System > Remote Desktop
- Toggle Remote Desktop to On
- Connect via RDP from any device on your network
Install Windows Updates
- Open Settings > Windows Update
- Click Check for updates and install all available
- Reboot as needed
Performance Tweaks
Disable Unnecessary Visual Effects: Right-click Start > System > Advanced system settings > Performance Settings > "Adjust for best performance"
Power Plan: Control Panel > Power Options > High performance
Disable Hibernation (saves disk space):
# Run PowerShell as Administrator
powercfg /hibernate off
Step 7: Security and Privacy Hardening (Recommended)
Windows 11 comes with a lot of telemetry, bloatware, and privacy-invasive defaults. For a clean, private, and optimized installation, consider using Winhance, a free, open-source Windows optimization tool that lets you:
- Disable telemetry and tracking
- Remove bloatware
- Disable Cortana, Copilot, and other AI features
- Optimize performance
- Harden security settings
Changes are reversible and transparent. Download from winhance.net, run it (no installation required), and apply changes. Best results come from running it immediately after a fresh install.
TL;DR
- Download VirtIO ISO - Required for disk/network drivers
- Create VM with: Machine
q35, BIOSOVMF (UEFI), TPMv2.0, DiskVirtIO SCSI, NetworkVirtIO, CPU Typehost - During Windows install - Load VirtIO SCSI driver to see disk
- After install - Run
virtio-win-gt-x64.msifor all drivers + guest agent - Optimize - Remove ISOs, enable RDP, update Windows
Troubleshooting
| Problem | Fix |
|---|---|
| "This PC can't run Windows 11" | Enable TPM v2.0 and Secure Boot (EFI with Pre-Enroll keys) |
| No disk visible during install | Load VirtIO driver from vioscsi/w11/amd64 |
| No network after install | Run virtio-win-gt-x64.msi installer |
| VM will not boot after install | Check boot order: SCSI disk first, CD/DVD after |
| Poor performance | Ensure VirtIO drivers installed, CPU type host, IO Thread enabled |
| Guest Agent not showing | Install virtio-win-gt-x64.msi, check QEMU Guest Agent service |