Skip to main content

Windows VM in Proxmox: setup and VirtIO drivers

Proxmox VE · 10.10.2026 · 5 min read
Illustration for “Windows VM in Proxmox: setup and VirtIO drivers”

Windows on Proxmox can only be installed as a full virtual machine: LXC containers are not an option for it at all. For normal operation the machine needs VirtIO drivers — without them the Windows installer will not see the disk, and after setup the system stays on slow emulated devices.

Why a container will not work

An LXC container shares one kernel with the Proxmox host, and the Windows kernel is fundamentally incompatible with that kernel. Windows needs a full virtual machine with its own emulated hardware. The difference between a container and a machine is covered in the article on choosing between LXC and VM.

What to prepare before installation

Before creating the machine it helps to prepare a few things, otherwise setup takes an inconvenient path.

  • a Windows installation image in ISO format
  • a separate VirtIO driver image for the disk, network and other devices
  • a chosen machine type — a modern type is closer to real hardware than a legacy one
  • node firmware — BIOS or UEFI, depending on the installer image

Machine settings that decide everything

Some machine parameters are set once at creation and affect the whole guest afterwards — they are worth checking before the first installer boot.

ParameterWhat to chooseWhat a wrong choice costs
Disk typeVirtIO SCSI instead of emulated IDE or SATAdisk is visible without a driver but noticeably slower
Network cardVirtIO instead of an emulated cardnetwork is slower and loads the CPU more
FirmwareUEFI for modern images, BIOS for older onesthe installer may fail to boot
Processor typehost — closer to real hardwareapplications miss out on modern instruction sets
Memory balloonballoon driver enabledmemory cannot be resized without a reboot

Installation step by step

The Windows setup itself inside the machine is ordinary; the difference is only in how the disk and drivers are handled.

  1. attach two images to the machine at once — the Windows installer and the VirtIO driver image
  2. on the disk selection screen click load driver and point to the VirtIO image, picking the disk driver for the system architecture
  3. continue the installation the usual way through to the desktop
  4. after first login, install the remaining drivers from the same image — network, memory balloon, guest agent

What to install in the guest after setup

Right after setup only the disk works — the system sees the remaining devices as unknown until the VirtIO drivers are installed.

  • guest agent — data exchange with the host and a correct shutdown via a command from the panel
  • VirtIO network driver — without it only a slow emulated network adapter is visible
  • memory balloon driver — lets the guest memory size change without a reboot

Why the guest runs short on memory or feels slow

Most complaints about a slow Windows machine come down to one of a few typical causes.

CauseHow it shows upWhat to fix
VirtIO drivers not installeddisk and network run through emulation, noticeably slower than usualinstall the remaining drivers from the VirtIO image
Guest agent not enabledthe machine does not shut down cleanly from the panel, the memory balloon does not resizeinstall and start the guest agent service
Processor left at defaultapplications miss out on modern instruction setschange the processor type to host
Balloon limit set too lowthe system falls back to the page file and feels noticeably slowincrease the memory or the balloon upper limit

Frequently asked questions

Why does the Windows installer not see the disk?

The installer only recognizes hardware it already has a driver for, and the disk is attached as VirtIO SCSI by default, which has no built-in driver. The fix is simple: on the disk selection screen click load driver and point to the image with VirtIO drivers, picking the variant for the system architecture.

Can Windows run inside a container?

No: an LXC container shares one kernel with the Proxmox host, and the Windows kernel is fundamentally incompatible with that mechanism. Containers only suit Linux guests capable of sharing the host kernel. For Windows the only way is to create a full virtual machine with its own emulated hardware and a separate system kernel.

Is a guest agent required?

The agent is not required for the system to run, but without it the panel cannot see the real network address inside the guest, cannot shut the machine down cleanly on command, and cannot accurately give back or reclaim memory through the balloon. In practice the agent is worth installing right away together with the other VirtIO drivers.

What is Proxmox used for in general?

Proxmox is a virtualization platform with a web management panel: on one physical server it runs several virtual machines and containers isolated from each other. It is used to host sites and services, test environments, home labs, and to consolidate several older servers onto one piece of hardware.

Conclusion

Windows on Proxmox only requires a virtual machine and a set of VirtIO drivers attached as a second image right during setup. If the machine then feels slow or will not release memory, the first checks are whether the guest agent is installed and whether a suitable processor type is selected. For the broader picture of the platform and its capabilities, the article on Proxmox VE is a good starting point.

Was this article helpful?
← Back to Knowledge Base Ask Support