Windows 11 gets all the attention these days because of its TPM and Secure Boot demands, but plenty of people still need Windows 10 running somewhere. Maybe you've got a scanner or an old accounting package that only plays nice with Windows 10. Maybe you just prefer it and don't want to deal with Microsoft's newer hardware checks for a throwaway VM. Either way, installing Windows 10 on Proxmox VE is actually the easier of the two jobs — no virtual TPM, no UEFI requirement, no Secure Boot toggle to remember.
That doesn't mean it's foolproof, though. Windows still can't see a VirtIO disk out of the box, and if you don't hand it the right driver at the right moment, Setup will just show you an empty drive list and leave you guessing. This guide walks through the whole process on Proxmox VE 8.x and 9.x, in the order the wizard actually asks for things, plus what to do about the handful of errors almost everyone runs into on their first try.
What You Will Learn
- How to configure a Windows 10 VM in Proxmox's Create VM wizard, tab by tab
- Why Windows 10 doesn't need the OVMF/TPM setup that Windows 11 requires
- How to load the VirtIO storage driver mid-install so Windows can actually find your disk
- What to install after first boot so networking and performance actually work
- The specific errors people hit with this setup, and how to fix each one
What Is This Feature?
There isn't a single "Windows 10 mode" in Proxmox. What you're building is a virtual machine with hardware chosen to match what Windows 10 expects, plus a set of drivers that let it talk to that hardware efficiently.
The main piece worth understanding upfront is VirtIO. It's a paravirtualized driver standard built for virtual machines — instead of Proxmox pretending to be a specific real disk controller or network card, VirtIO devices talk to the hypervisor almost directly. That means less CPU overhead and noticeably better disk and network throughput than emulating old hardware. The tradeoff is that Windows doesn't ship with VirtIO drivers built in, so you load them from a separate ISO during setup.
You'll also see SeaBIOS mentioned. That's Proxmox's default legacy BIOS firmware, and it's what Windows 10 expects — unlike Windows 11, there's no UEFI or virtual TPM requirement here, which cuts out a good chunk of the fiddly setup work.
Why Would You Use It?
A few reasons this still comes up constantly in 2026:
- Legacy software or hardware drivers (old scanners, CNC controllers, accounting suites) that were never updated for Windows 11
- You already own a Windows 10 license and don't want to deal with Windows 11's hardware compatibility checks for a simple test box
- Running an isolated VM for one piece of software you don't fully trust, so it's separated from your main machine
- Testing how an app behaves on Windows 10 specifically, since plenty of businesses are still on it
Worth knowing: Microsoft ended mainstream support for Windows 10 in October 2025. It still runs fine and Proxmox will happily virtualize it, but if you're going to leave a Windows 10 VM exposed to the internet long-term, look into the consumer Extended Security Updates program or plan to move that workload to Windows 11 eventually. For an isolated homelab VM behind your own firewall, this is less of a concern — just don't forget it's there.
Prerequisites
- A working Proxmox VE 8.x or 9.x host with storage configured for both ISOs and VM disks
- A Windows 10 ISO — Microsoft still hosts these through the Windows 10 download page, even after end of support
- The VirtIO driver ISO, built by the Fedora project and hosted at fedorapeople.org/groups/virt/virtio-win — grab
virtio-win.isofrom the stable folder - At least 4 GB of RAM free for the VM (2 GB is the bare Windows 10 minimum, but it'll crawl) and 40 GB of free disk space
You don't need anything fancy for CPU — Windows 10 doesn't run the same instruction-set checks Windows 11 does, so even an older host handles it fine.
Step-by-Step Tutorial
1. Upload both ISOs
In the Proxmox web interface, click your storage (usually local) on the left, open ISO Images, and click Upload. Do this for both the Windows 10 ISO and virtio-win.iso. The Windows ISO is roughly 5 GB depending on the edition, so give it a few minutes on a normal connection.
2. Start the Create VM wizard
Click Create VM top right. Give it a VM ID and a name like win10-test on the General tab. Nothing special here.
3. OS tab
Select your uploaded Windows 10 ISO under Use CD/DVD disc image file (iso). For Guest OS, choose Microsoft Windows, and for the version pick 10/2016/2019 — Proxmox groups these three together since they share a kernel base.
4. System tab
Leave BIOS on SeaBIOS (the default). You genuinely don't need OVMF or a TPM device here — that's a Windows 11 requirement, not a Windows 10 one. Leave Machine on i440fx unless you have a specific reason to use q35. Make sure Qemu Agent is ticked; it won't do anything until you install the agent inside Windows later, but it saves you a trip back to this tab.
5. Disks tab
Set Bus/Device to SCSI, and confirm the SCSI Controller (back on the System tab, if you missed it) is set to VirtIO SCSI single. Set Cache to Write back for better performance — the default "No cache" is safer against sudden power loss but noticeably slower for a desktop VM. Tick Discard if your underlying storage is SSD-backed, and enable IO thread. A 60 GB disk is a comfortable size; Windows 10 itself is lean, but updates and a few installed apps add up.
6. CPU tab
Two cores is a reasonable default for a single-user desktop VM. The default kvm64 CPU type works fine for Windows 10 — there's no hard compatibility check here like there is on Windows 11 — but host gives better performance if you're not planning to live-migrate this VM to different hardware later.
7. Memory tab
4096 MB is a sane floor. Ballooning can stay enabled with its default minimum; Windows 10 handles memory pressure well enough that you don't need to babysit this setting.
8. Network tab
Leave the model on VirtIO (paravirtualized) and the bridge on whatever you use for guest traffic, usually vmbr0.
9. Attach the VirtIO ISO before you boot
On the Confirm tab, click Finish, but don't start the VM yet. Open the new VM's Hardware tab, click Add > CD/DVD Drive, and attach virtio-win.iso as a second optical drive. You need this available the moment Setup asks for a storage driver.
10. Boot and load the storage driver
Start the VM and open its console. Windows Setup walks you through language, edition, and license terms as usual. When you hit "Where do you want to install Windows?", the disk list will be empty — that's expected, not a bug. Click Load driver, then Browse, and navigate to the VirtIO CD drive: vioscsi\w10\amd64. Select the Red Hat VirtIO SCSI pass-through controller entry, click Next, and your disk should now show up in the list.
Pick the disk, hit Next, and the rest of setup runs like any normal Windows install — 15 to 20 minutes and a couple of reboots, give or take your storage speed.
11. Install the remaining drivers after first boot
Once you're at the desktop, open the VirtIO CD in File Explorer and run virtio-win-gt-x64.msi. This one installer handles the network driver, the balloon driver for dynamic memory, and a couple of supporting services in a single pass — much faster than hunting drivers down one at a time in Device Manager.
Then run the guest agent installer from the same disc (look for guest-agent\qemu-ga-x86_64.msi), and back in Proxmox, confirm QEMU Guest Agent is enabled on the Options tab. This gets you the VM's real IP address in the summary view and lets Proxmox shut it down cleanly instead of just pulling the power.
Commands Explained
Everything above is doable entirely through the web UI, but a few shell commands come in handy once the VM exists:
| Command | What it does |
|---|---|
qm set 120 --ide2 local:iso/virtio-win.iso,media=cdrom | Attaches the VirtIO ISO to VM 120 from the shell instead of the Hardware tab |
qm config 120 | Prints the VM's full configuration, useful for checking the SCSI controller or BIOS type without opening the wizard |
qm resize 120 scsi0 +20G | Grows the VM's disk by 20 GB after the fact — handy once you realize 60 GB wasn't quite enough |
qm agent 120 ping | Checks whether the QEMU Guest Agent inside the VM is responding, once it's installed |
Swap 120 for your actual VM ID, visible in the left-hand resource tree.
Common Errors
The disk list is empty on the "Where do you want to install Windows?" screen. This is the VirtIO driver issue, not a missing disk — Windows has no idea what a VirtIO SCSI controller is until you hand it the driver. Load it from vioscsi\w10\amd64 as covered in step 10.
No network connection after Windows finishes installing. Same root cause as above but for the NIC. Windows shows the adapter as unrecognized in Device Manager until you run virtio-win-gt-x64.msi from the VirtIO disc.
VM boots straight into the BIOS boot menu or an iPXE prompt instead of Setup. The boot order has the wrong drive first. Check Hardware > Options > Boot Order and make sure the Windows ISO's drive is above the VirtIO CD and the hard disk.
Windows Update hangs or fails repeatedly after install. Usually a stale VirtIO driver version mismatch, especially if you used an older virtio-win.iso. Re-download the current stable release and rerun virtio-win-gt-x64.msi.
Display is stuck at a tiny resolution with no way to change it. The default display device is fine for install, but for a proper desktop resolution afterward, switch Display under Hardware to VirtIO-GPU and reboot.
Troubleshooting
If the VM won't boot at all, start with the Task Log in Proxmox — click the VM, then Task History, and look at the most recent start attempt. It usually names the exact problem (missing disk image, wrong bus type) rather than just failing silently.
If setup seems frozen at "Getting files ready for installation," check the VM's CPU graph in the Summary tab before assuming it's broken. Near 100% usage means it's working; flatlined at 0% for more than ten minutes usually means a corrupted ISO upload, and re-uploading fixes it.
If the console won't connect at all, try switching from the default noVNC console to SPICE (via Console > Spice in the toolbar, once the VM is running) — noVNC occasionally struggles with certain browser extensions blocking WebSocket connections.
Best Practices
- Snapshot the VM right after driver installation, before you install any applications. It's a clean point to roll back to if something later goes sideways.
- Don't skip the network driver install just because the internet "kind of works" through a fallback adapter — VirtIO's throughput difference is significant, and you'll notice it during large file transfers.
- Stick with SCSI/VirtIO for the disk bus rather than IDE. IDE is more compatible in theory, but it's slower and gives you no real benefit on a modern Proxmox host.
- If this VM will stay online long-term, plan for either the Extended Security Updates program or an eventual move to Windows 11 — Windows 10 no longer gets free security patches by default.
Frequently Asked Questions
Do I need a product key to finish the install?
No. You can click "I don't have a product key" during Setup and activate later, though you'll see a watermark and some personalization settings will stay locked until you do.
Can I use UEFI instead of SeaBIOS for this VM?
You can, but it's optional for Windows 10, unlike Windows 11 where it's mandatory. Sticking with SeaBIOS keeps the setup simpler with no downside for most use cases.
Is it still safe to run Windows 10 in 2026?
For an isolated homelab or test VM, yes. For anything internet-facing long-term, either enroll it in Microsoft's consumer Extended Security Updates program or plan a move to Windows 11.
Can I upgrade this VM to Windows 11 later?
Not in place, realistically. Windows 11 wants OVMF, a virtual TPM, and often q35 as the machine type — none of which this VM has. It's faster to build a fresh Windows 11 VM than to retrofit one built for Windows 10.
Why is my VM so slow before I install the VirtIO drivers?
Until you load them, Windows falls back to emulated IDE and an emulated NIC, both of which are dramatically slower than VirtIO. This is expected during the install itself; it should disappear once you complete step 11.
Conclusion
Compared to Windows 11, getting Windows 10 running on Proxmox VE is refreshingly low-drama — no TPM, no Secure Boot, no UEFI juggling. The one real trap is the VirtIO storage driver during setup, and once you know to expect an empty disk list and where to point Setup for the driver, the rest of the install is exactly like installing Windows on a physical machine.
Spend the extra few minutes on the guest tools and QEMU Guest Agent once you're at the desktop. It's a small step, but it's the difference between a VM that behaves and one that always feels a little off.