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.
| Parameter | What to choose | What a wrong choice costs |
|---|---|---|
| Disk type | VirtIO SCSI instead of emulated IDE or SATA | disk is visible without a driver but noticeably slower |
| Network card | VirtIO instead of an emulated card | network is slower and loads the CPU more |
| Firmware | UEFI for modern images, BIOS for older ones | the installer may fail to boot |
| Processor type | host — closer to real hardware | applications miss out on modern instruction sets |
| Memory balloon | balloon driver enabled | memory 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.
- attach two images to the machine at once — the Windows installer and the VirtIO driver image
- on the disk selection screen click load driver and point to the VirtIO image, picking the disk driver for the system architecture
- continue the installation the usual way through to the desktop
- 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.
| Cause | How it shows up | What to fix |
|---|---|---|
| VirtIO drivers not installed | disk and network run through emulation, noticeably slower than usual | install the remaining drivers from the VirtIO image |
| Guest agent not enabled | the machine does not shut down cleanly from the panel, the memory balloon does not resize | install and start the guest agent service |
| Processor left at default | applications miss out on modern instruction sets | change the processor type to host |
| Balloon limit set too low | the system falls back to the page file and feels noticeably slow | increase 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.