How To

Install VirtIO Drivers on Windows Server 2025 / Windows 11

VirtIO drivers give Windows VMs running on KVM/QEMU direct (paravirtualized) access to disk, network, and memory devices on the host. Without them, the hypervisor emulates legacy hardware like IDE disks and Intel e1000 NICs, which caps I/O performance well below what the hardware can deliver. With VirtIO drivers installed, disk throughput and network performance typically improve by 2x to 10x.

Original content from computingforgeeks.com - post 153961
High-level architecture of the VirtIO framework showing frontend drivers in the guest communicating with backend drivers in the host via virtqueues
High-level architecture of the virtio framework

This guide covers installing VirtIO drivers on Windows Server 2025/2022 and Windows 11/10 guests running on Proxmox VE, KVM/libvirt, or any QEMU-based hypervisor. The steps include downloading the driver ISO, attaching it to the VM, running the installer, and setting up the QEMU Guest Agent.

What VirtIO Drivers Include

The virtio-win package bundles several components:

DriverPurpose
viostorBlock device (disk) driver. Replaces emulated IDE/SATA.
vioscsiSCSI controller driver for virtio-scsi disks.
NetKVMNetwork adapter driver. Replaces emulated e1000/rtl8139.
BalloonMemory ballooning for dynamic RAM management.
vioserialSerial port driver for host-guest communication.
qxldodDisplay driver for QXL/VirtIO-GPU video adapter.
pvpanicPanic notification driver (signals host on BSOD).
qemu-gaQEMU Guest Agent for VM management (shutdown, snapshot, IP reporting).

Download the VirtIO Drivers ISO

The VirtIO drivers are distributed as an ISO image maintained by the Fedora project. Download either the stable or latest build on your hypervisor host:

# Stable release (recommended for production)
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

# Latest build (newest drivers, less testing)
wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso

On RHEL, Rocky, or AlmaLinux hosts with the virtualization stack installed, you can also install the ISO via the package manager:

sudo dnf install virtio-win

This places the ISO at /usr/share/virtio-win/virtio-win.iso.

Move the ISO to Your Hypervisor’s Storage

Place the ISO where your hypervisor can access it:

# KVM/libvirt
sudo mv virtio-win.iso /var/lib/libvirt/images/

# Proxmox VE
sudo mv virtio-win.iso /var/lib/vz/template/iso/

On Proxmox, you can also download the ISO directly through the web UI. Navigate to your storage node, select ISO Images, and click Download from URL:

Proxmox VE web UI downloading VirtIO drivers ISO from URL to local storage

The ISO appears in the storage directory once the download completes:

Proxmox VE ISO images list showing virtio-win.iso downloaded successfully

Attach the ISO to the Windows VM

Add a CD/DVD drive to your Windows VM and attach the VirtIO ISO. In Proxmox, go to Hardware > Add > CD/DVD Drive:

Proxmox VE adding a CD/DVD drive device to a Windows Server VM

Select the virtio-win.iso file from the ISO storage:

Selecting virtio-win ISO image to attach to the VM CD/DVD drive in Proxmox

Verify the CD/DVD drive is attached in the VM’s hardware list:

Proxmox VM hardware tab showing virtio-win ISO attached as CD/DVD drive

For KVM/libvirt with virt-manager, click Add Hardware > Storage > Device type: CDROM device, then browse to the ISO.

Install VirtIO Drivers Inside Windows

Log into the Windows VM and open File Explorer. The VirtIO ISO appears as a CD drive. Open it to see the driver directories and installers:

Windows File Explorer showing VirtIO driver ISO contents with driver folders and installer executables

Double-click virtio-win-gt-x64.msi (for 64-bit Windows) to launch the driver installer:

VirtIO driver installer wizard welcome screen on Windows Server

Accept the license agreement and click Next:

VirtIO driver installer license agreement screen

Leave the default feature selection (all drivers) and click Next:

VirtIO driver feature selection showing all drivers selected for installation

Click Install to begin the driver installation:

VirtIO driver installation in progress on Windows Server

The installer completes in under a minute. Click Finish:

VirtIO driver installation completed successfully with Finish button

Install QEMU Guest Agent

The QEMU Guest Agent enables the hypervisor to communicate with the Windows VM for operations like graceful shutdown, filesystem freeze (for consistent snapshots), and IP address reporting. It also installs the SPICE agent for improved clipboard sharing and display scaling in remote sessions.

From the same VirtIO CD drive in File Explorer, double-click virtio-win-guest-tools.exe:

QEMU Guest Agent and SPICE agent installer on Windows

Accept the license and click Install:

QEMU Guest Agent installation license agreement

The installation takes a few seconds:

QEMU Guest Agent installation progress bar

After both the VirtIO drivers and Guest Agent are installed, stop and start the VM (not just reboot) from the hypervisor to ensure the new drivers are fully loaded:

Proxmox VE showing Windows VM with QEMU Guest Agent running after VirtIO driver installation

Alternative: Install Directly Inside the VM

If the VM has internet access, you can skip the ISO attachment entirely. Download the MSI installer directly inside the Windows VM from the Fedora VirtIO downloads page. Run virtio-win-gt-x64.msi for 64-bit systems or virtio-win-gt-x86.msi for 32-bit.

Verify Drivers Are Active

After restarting the VM, open Device Manager in Windows. The VirtIO drivers should appear under their respective categories:

  • Disk drives: “Red Hat VirtIO SCSI Disk Device” (instead of QEMU HARDDISK)
  • Network adapters: “Red Hat VirtIO Ethernet Adapter” (instead of Intel E1000)
  • System devices: VirtIO Balloon Driver, VirtIO Serial Driver
  • Display adapters: Red Hat QXL controller (if using QXL video)

To confirm the Guest Agent is running, check in services.msc that “QEMU Guest Agent” and “SPICE Agent” services are started. On the Proxmox side, the VM summary should now show the guest’s IP address and OS details reported by the agent.

Related Articles

Fedora How To Install KVM on Fedora 43/42/41/40 KVM How to Install Virt-Manager on Linux Systems Debian Installing Proxmox VE 8 on Debian 12 (Bookworm) Tips & Tricks How To Configure NTP Time on vSphere ESXi / vCenter

Leave a Comment

Press ESC to close