ServicesAboutGet Started
ProxmoxWindows ServerVirtualization

Creating a Windows Server 2022 VM on Proxmox 7

Build an optimized Windows Server 2022 virtual machine on Proxmox VE 7 with VirtIO drivers, QEMU Guest Agent, and best-practice hardware settings for production performance.

Creating a VM is an easy enough task that can be left to defaults a lot of the time. But if you want the best performance and options under Proxmox, you will have to go through a few minor hoops as Windows Server 2022 (or prior) does not have the drivers needed for everything built in.

💡

Before you begin, ensure you have both the Windows Server 2022 ISO and the VirtIO drivers ISO uploaded to your Proxmox storage. The current stable VirtIO ISO can be downloaded from fedorapeople.org.


Part 1 — VM Creation Wizard

Click on Create VM to get the dialog box. First click on Advanced if it is not already checked.

Advanced checkbox at bottom of Create VM dialog

General tab

Give the VM a Name (2), VM ID (1), check Start at boot (3), and set the Start/Shutdown order and delay (4) as desired. Then hit Next.

💡

Everything below the line is hidden if you have not checked Advanced.

General tab — VM ID, Name, Start at boot, and order settings

OS tab

Choose your ISO and Guest OS Type, then hit Next.

OS tab — ISO image and Guest OS Type selection

System tab

Since you specified a modern version of Windows, Proxmox automatically uses UEFI and you will need to specify EFI and TPM storage locations. I always keep them on the same disk that will house the boot storage.

System tab — UEFI firmware, EFI and TPM storage settings

By default, it will use VirtIO for storage — you want this, but will have to add a driver during the Windows install itself. Also enable the Qemu Agent; the guest agent will have to be installed after Windows setup completes.

System tab — VirtIO SCSI controller and Qemu Agent enabled

Disks tab

Change the default IDE disk to SCSI (1), set the storage location (2), and your desired disk size (3).

Disks tab — SCSI bus, storage location, and disk size

CPU tab

Assign the number of cores you need.

CPU tab — core count assignment

Memory tab

Set your max memory (1), minimum memory (2), and ensure Ballooning Device (3) remains checked.

Memory tab — max/min memory and ballooning device

Network tab

Change the network adapter model to VirtIO (paravirtualized) (1). You will not have a working network on boot up. The VirtIO drivers will need installed first.

Network tab — VirtIO adapter model selected

Confirm tab

Review and hit Finish. Do not check Start after created.

Confirm tab — final review before VM creation

Part 2 — Attach the VirtIO Drivers ISO

Select the VM and click on Hardware (1) and then Add (2).

VM Hardware panel — Add button highlighted

Choose CD/DVD.

Add CD/DVD Drive option

Add the virtio-win ISO — you will need this mounted to add the storage driver during install.

💡

The current stable ISO can be found here.

Adding the VirtIO ISO as a second CD/DVD drive

You can verify your boot order if you want, but it should still be correct.

Boot order verification

Part 3 — Windows Installation

Open the Console.

Console button in Proxmox toolbar

Click Start Now.

Start Now button in console

Click in the window and press a key to boot from the ISO.

Press any key to boot from CD prompt

Set your options and hit Next.

Windows language and region options

Hit Install now.

Install now button

Choose your OS edition and hit Next.

Windows Server OS edition selection

Accept the license and hit Next.

License acceptance screen

Choose Custom (Install Windows only).

Custom install option selected

Load the VirtIO storage driver

The disk list will be empty. Click Load driver (1).

Load driver button on empty disk list

Click Browse.

Browse for driver dialog

Expand the VirtIO CD Drive.

Expanding the VirtIO CD drive in browser

Expand the amd64 folder (1), click on 2k22 (2), and click OK (3).

Selecting the 2k22 amd64 driver folder

Click on Next and it will rescan for the disk — no need to click on Rescan yourself.

VirtIO SCSI driver selected and loading

Now the disk is available, click Next.

Disk now visible after VirtIO driver loaded

Windows will finish the install like normal and reboot.

Windows installing

Wait for it... it will reboot again.

Windows rebooting during installation

Create a password for the account and click Finish.

Setting the Administrator password
💡

Best practice is to create a named admin account and disable or rename the built-in Administrator account.


Part 4 — Post-Install Driver Setup

This example uses the Desktop Experience, so login and wait for the desktop. Close Server Manager and the WAC pop up.

Windows Server desktop with Server Manager and WAC popup

Open Device Manager

Opening Device Manager from the Start menu

You will see three things to fix.

Device Manager showing three unknown devices

Install the Ethernet Controller driver

Right click and choose Update driver for the Ethernet Controller.

Right-click Update driver on Ethernet Controller

Choose Browse my computer for drivers.

Browse my computer for drivers option

Click Browse again.

Browse to driver location dialog

Expand the VirtIO ISO disk (1), expand NetKVM (2), and select 2k22 (3), then click OK.

Selecting the NetKVM 2k22 driver folder

Hit Next and it will install the driver. Before you hit close, you will want to hit Yes on the Network discoverability screen for most use cases.

Network driver installed — click Yes on network discoverability

Install the remaining two drivers

Repeat the process for the remaining two items:

Device Manager EntryVirtIO Driver Folder
PCI DeviceBalloon folder
PCI Simple Communications Controllervioserial folder
PCI Device — Balloon driver folder selected
VirtIO Balloon Driver installed successfully
PCI Simple Communications Controller — vioserial folder selected
VirtIO Serial Driver installed successfully

Now you have all the drivers for the system devices.

Device Manager with all drivers resolved

Part 5 — Install the QEMU Guest Agent

Browse to the CD drive in Windows Explorer and install the guest agent.

Running the QEMU guest agent installer from the VirtIO CD

You will know the guest agent is properly installed if you see the IP addresses on the Proxmox Summary screen.

Proxmox Summary showing VM IP addresses from guest agent

Part 6 — Cleanup

Shut down the VM. Remove the extra CD drive (the VirtIO ISO). Unmount the Windows ISO from the primary CD drive. Start the VM back up and setup the server for the task you installed it for.


Quick Reference — VirtIO Driver Mapping

ComponentVirtIO FolderWhen to Install
SCSI Storage Controllervioscsi\amd64\2k22During Windows setup (Load Driver step)
Network AdapterNetKVM\amd64\2k22Post-install via Device Manager
Balloon (Memory)Balloon\amd64\2k22Post-install via Device Manager
Serial Portvioserial\amd64\2k22Post-install via Device Manager
Guest AgentInstaller on CD rootPost-install via Explorer