Introduction
If you've spent any time running Ubuntu or Debian VMs on Proxmox, Windows Server can feel like a different animal the first time you try it. The installer doesn't just boot and go — it stops at a screen asking you to pick a disk, and there isn't one. That's not a bug. Windows Server has no idea what a VirtIO disk is until you hand it a driver, and that one missing step is where most beginners get stuck.
This guide walks through installing Windows Server 2025 on Proxmox VE 9.2 from scratch: uploading the ISOs, configuring the VM the way Proxmox's own documentation recommends, getting past the driver screen, and finishing the setup with a properly working network adapter and guest agent. By the end you'll have a Server 2025 VM that boots fast, reports its IP address back to Proxmox, and is ready for whatever role you plan to put on it.
What You Will Learn
- What VirtIO drivers are and why Windows Server needs them during setup, not after
- How to upload the Windows Server 2025 ISO and the VirtIO driver ISO to Proxmox
- The exact VM hardware settings Proxmox recommends for a 2025 guest
- How to get past the "no drives were found" screen during installation
- How to install the QEMU Guest Agent so Proxmox can see the VM's IP address and shut it down cleanly
- The most common errors people hit with this exact setup, and how to fix each one
What Is This Feature?
Windows Server 2025 is Microsoft's current server operating system, built for things like file sharing, Active Directory, print services, and hosting business applications. Running it as a VM inside Proxmox means the physical hardware is virtualized — the disk, network card, and CPU that Windows sees are actually emulated or paravirtualized devices managed by Proxmox's hypervisor (KVM/QEMU underneath).
That's where VirtIO comes in. VirtIO is a standard for paravirtualized devices — instead of Proxmox pretending to be an old-school physical disk controller (which works, but slowly), VirtIO gives the guest OS a fast, virtualization-aware driver interface for disk, network, and memory management. Linux distributions ship with VirtIO support built in. Windows doesn't, so you have to supply the drivers yourself using a separate ISO built specifically for this purpose.
Why Would You Use It?
Most people reach for Windows Server on Proxmox for one of a few reasons: they want a domain controller for a homelab, a proper file server with NTFS permissions, a place to run a Windows-only line-of-business app, or just a sandbox to study for an MCSA/AZ-800 style certification without buying a second machine.
Running it as a VM instead of bare metal means you can snapshot it before making risky changes, clone it to spin up a second test server in minutes, and back it up with vzdump the same way you'd back up any other guest. Honestly, once you've set this up once, spinning up a second or third Server VM takes about ten minutes instead of an hour.
Prerequisites
Before you start, make sure you have:
- A working Proxmox VE 9.x host (this guide assumes 9.2, but the steps are the same on 9.0 and 9.1)
- At least 80 GB of free space on the storage you plan to use for the VM disk
- A Windows Server 2025 ISO — either the free 180-day evaluation from the Microsoft Evaluation Center, or a licensed ISO if you already have one
- The virtio-win driver ISO, downloaded from the official Fedora-hosted virtio-win project that Proxmox links to from its own wiki
- At least 4 GB of RAM free to dedicate to the VM (Server 2025 with the Desktop Experience will run on less, but it isn't pleasant)
- SSH or console access to your Proxmox host, in case you need to upload files from the command line
One version note worth flagging early: virtio-win 0.1.285 has a known bug that causes read errors on Windows Server 2025 under heavy disk I/O, things like a busy SQL Server workload. Grab virtio-win-0.1.271.iso instead. It's the version Proxmox's own wiki currently recommends for 2025 guests, and it doesn't have the issue.
Step-by-Step Tutorial
Step 1: Upload the ISOs
In the Proxmox web interface, click your node, then local (or your ISO storage), then ISO Images, then Upload. Do this twice: once for the Windows Server 2025 installer ISO, once for virtio-win-0.1.271.iso. If you'd rather skip the browser upload (it can be slow for a 5+ GB Windows ISO), copy them in over SSH instead:
scp WindowsServer2025.iso root@your-pve-host:/var/lib/vz/template/iso/
scp virtio-win-0.1.271.iso root@your-pve-host:/var/lib/vz/template/iso/Step 2: Create the VM
Click Create VM in the top right. On the General tab, give it a name and VM ID. On the OS tab, select your uploaded Windows Server ISO, and for Guest OS type choose Microsoft Windows with version 11/2022/2025 — Proxmox groups these together because they share the same guest optimizations.
Step 3: System tab settings
Set Machine to q35 and BIOS to OVMF (UEFI). q35 is a newer, more modern virtual chipset than the older i440fx default, and OVMF is Proxmox's UEFI firmware implementation — Server 2025 expects UEFI, not the old legacy BIOS boot mode. Add an EFI disk when prompted (small, a few hundred MB is fine). Leave Secure Boot off unless you specifically need it; Server 2025 doesn't require it the way Windows 11 does on the client side.
While you're here, tick the Qemu Agent checkbox. It doesn't do anything until you install the agent inside Windows later, but it saves you a trip back to this screen.
Step 4: Disk tab settings
Change Bus/Device to SCSI, and set the SCSI controller (back on the System tab, if you missed it) to VirtIO SCSI single. This gives each disk its own queue instead of sharing one controller, which matters more once you add a second drive later. Set the disk size to at least 60 GB — Microsoft's official minimum is 32 GB, but that fills up fast once Windows Update gets involved. Enable Discard (lets Windows tell Proxmox which blocks are free, useful on SSD/ZFS/thin-provisioned storage) and IO thread (gives the disk its own thread instead of sharing the main VM thread). Set Cache to Write back for better performance, or leave it on No cache if you'd rather prioritize safety over speed — on a homelab box with a UPS, Write back is a reasonable trade-off.
Step 5: CPU, Memory, and Network
On the CPU tab, set Type to host. This passes your physical CPU's actual feature set through to the guest instead of emulating a generic, more limited CPU model, which matters for performance and for some Windows features. Give it 2–4 cores depending on what your host can spare. For memory, 4096 MB is a comfortable starting point for Server with Desktop Experience; Server Core will run fine on less. On the Network tab, set the model to VirtIO (paravirtualized) rather than the emulated Intel E1000 or Realtek options.
Step 6: Attach the driver ISO as a second CD drive
Finish the wizard but don't start the VM yet. Select it in the left sidebar, go to Hardware, click Add > CD/DVD Drive, and point it at virtio-win-0.1.271.iso. You should now have two optical drives attached: one with the Windows installer, one with the drivers.
Step 7: Run through Windows Setup
Start the VM and open its console. Windows Setup will boot from the installer ISO. Pick your language and keyboard layout, click Install now, and either enter a product key or choose I don't have a product key for the evaluation edition. You'll be asked to choose an edition — Standard or Datacenter, each with or without Desktop Experience.
Here's the screen that trips people up: after accepting the license terms, you'll land on Where do you want to install Windows? and see nothing listed. That's expected. Click Load driver, then Browse, and navigate to the virtio-win CD drive, into vioscsi > 2k25 > amd64. Select it, click Next, and your disk should appear a few seconds later. Select it and continue — setup copies files and reboots itself a couple of times on its own.
Step 8: Set the Administrator password and log in
Server setup doesn't have the long OOBE flow that client Windows has. After the final reboot, you'll be asked to set an Administrator password directly. Set one, then log in.
Step 9: Install the rest of the VirtIO drivers
The virtio-win ISO is still mounted. Open it in File Explorer and run virtio-win-gt-x64.msi. This installer wizard lets you pick which drivers to install — take the default selection, which covers the network adapter (NetKVM), the balloon driver for memory management, and a few others. If you're running Server Core (no desktop shell), this GUI installer won't run; see the Common Errors section below for the workaround.
Step 10: Install the QEMU Guest Agent
Still on the driver ISO, go to the guest-agent folder and run qemu-ga-x86_64.msi. This is what lets Proxmox see the VM's actual IP address in the web interface and shut it down gracefully instead of just cutting power to it.
Step 11: Eject both ISOs
Back in Proxmox, go to Hardware, select each CD/DVD drive, click Edit, and set it to Do not use any media. If you skip this, a reboot can occasionally hang the VM back at the installer's "Press any key to boot from CD" prompt.
Commands Explained
Most of this walkthrough happens in the GUI, but a few command-line tools are worth knowing:
scp file.iso root@host:/var/lib/vz/template/iso/— copies a file to your Proxmox host over SSH; useful for large ISOs that upload slowly through the browser.qm set 201 -agent enabled=1— enables the QEMU Guest Agent option on VM 201 from the command line, the same toggle as the checkbox on the System tab.qm agent 201 ping— checks whether the guest agent inside the VM is actually responding, which is the fastest way to confirm the agent installed correctly.pnputil /add-driver A:\NetKVM\2k25\amd64\*.inf /install— installs a specific VirtIO driver manually from an elevated Command Prompt, needed on Server Core where the graphical driver installer won't launch.
Common Errors
A short list of the errors that actually show up, in the order you're likely to hit them:
| Error or symptom | What's actually going on |
|---|---|
| "We couldn't find any drives. To get a storage driver, click Load driver." | Normal — Windows can't see a VirtIO SCSI disk without a driver. Load it from the vioscsi folder as shown in Step 7. |
| VM boots straight back into Windows Setup after finishing installation | The installer ISO is still attached and still first in boot order. Eject it or reorder the boot devices. |
| Network adapter missing or shows "Ethernet Controller" with no driver in Device Manager | The NetKVM driver wasn't installed. Run virtio-win-gt-x64.msi again or install it manually with pnputil. |
| Proxmox summary page shows no IP address for the VM | The QEMU Guest Agent isn't installed, or the Qemu Agent checkbox wasn't enabled on the System tab. |
| Random read errors or corrupted-looking data under heavy disk load | Known issue in virtio-win 0.1.285 with Server 2025. Roll back to virtio-win-0.1.271. |
Troubleshooting
If the disk still doesn't show up after loading the driver, double check you browsed into the 2k25 subfolder and not 2k22 or w11 — they look similar and Windows won't warn you if you pick the wrong one, it'll just fail to find a matching driver.
If virtio-win-gt-x64.msi refuses to open with something like "This app can't run on your PC," you're almost certainly on Server Core, which has no desktop and can't run graphical MSI wizards the normal way. Instead, open an elevated Command Prompt and install each driver with pnputil, pointing at the specific folder for the device (NetKVM for network, Balloon for memory ballooning, vioscsi for storage if you need to update it post-install).
If the guest agent shows as not running even after installing it, open Services.msc inside the VM and confirm "QEMU Guest Agent" is listed and started. It's rare, but occasionally the service needs a manual start after installation instead of waiting for the next reboot.
If the console mouse cursor is offset from where you're actually clicking, that's expected right after first boot, before the guest agent and drivers are fully installed. It corrects itself once everything's in place — it's cosmetic, not a sign anything's actually broken.
Best Practices
Take a snapshot immediately after finishing driver installation and Windows Update, before you install any roles or applications. That gives you a clean baseline to roll back to if a later change goes sideways, and it costs you nothing but a few seconds.
Stick with q35 and OVMF for any new Windows VM you build going forward — there's no good reason to use the older i440fx/SeaBIOS combination for a modern guest unless you're working around a very specific compatibility issue.
Don't leave both installer ISOs attached after setup. Beyond the reboot-loop annoyance, it's just extra disk image weight sitting on a VM that doesn't need it anymore.
If you're running the evaluation edition, note the date. It's good for 180 days, and Microsoft does allow rearming the evaluation timer a limited number of times via slmgr /rearm, but for anything you intend to keep long-term, plan to activate with a real license before that clock runs out.
Finally, once the VM is doing anything you'd miss if it disappeared, add it to your regular vzdump backup schedule. A Windows Server VM with hand-configured roles and data is exactly the kind of thing you don't want to have to rebuild from scratch.
Frequently Asked Questions
Can I use the free evaluation edition in production?
No. It's licensed strictly for evaluation and testing, and it will start shutting down periodically once the 180-day trial expires. For anything production, you need a properly licensed ISO or a volume license key.
Should I choose Desktop Experience or Server Core?
Desktop Experience gives you a familiar Windows GUI, which is easier if you're new to Windows Server. Server Core skips the GUI, uses less RAM and disk, and has a smaller attack surface, but you'll be managing it mostly through PowerShell and remote tools like Windows Admin Center. If this is your first Windows Server VM, start with Desktop Experience.
Do I need Secure Boot enabled for this install?
No. Unlike Windows 11 on the client side, Server 2025 doesn't require Secure Boot or a TPM to install. OVMF supports both if you want them for a specific compliance reason, but you can safely leave Secure Boot off for a standard homelab or test setup.
Why is my disk missing during setup even though I attached it correctly?
Windows Server has no built-in driver for a VirtIO SCSI disk. You have to load the driver from the virtio-win ISO during setup, as covered in Step 7 — the disk exists, Windows just can't see it yet.
How much disk space should I actually allocate?
Sixty gigabytes is a safe starting point for a general-purpose server VM. Thirty-two is Microsoft's stated minimum, but between Windows Update and whatever roles you install, you'll be glad you gave it more room.
Conclusion
The whole install boils down to one idea: Windows Server doesn't speak VirtIO natively, so you have to introduce the two before setup can finish. Once you've loaded that storage driver once, the rest of the process is really just clicking through the same Windows Server setup wizard that's existed for years, followed by installing a couple of driver packages you already have sitting on a mounted ISO.
From here, this VM is ready for whatever you had in mind — a file server, a domain controller, a test bed for scripts you don't want running on real hardware. Snapshot it now, while it's clean, and you'll thank yourself the first time an experiment doesn't go the way you planned.