Linux VPS

VirtIO drivers on KVM: what they are and how to install them

Understand VirtIO paravirtualized drivers for KVM disks, network, memory balloon and RNG, check they are in use on Linux, and install the virtio-win drivers on Windows guests.

IntermediateKVM VPS and hosts2 min read

VirtIO drivers are paravirtualized device drivers for KVM. Instead of emulating a real disk controller or network card, which is slow, the guest uses a simple interface designed for virtual machines. The result is much better disk and network performance with less CPU use.

Before you start

  • A KVM host or a KVM VPS. Linux guests already include the drivers; Windows guests need them installed.
  • For Windows: the virtio-win ISO published by the Fedora project.

VirtIO device types

DevicePurposeLinux module
virtio-blkSimple fast block diskvirtio_blk
virtio-scsiSCSI controller, supports TRIM/discard and many disksvirtio_scsi
virtio-netNetwork cardvirtio_net
virtio-balloonLets the host reclaim unused guest RAMvirtio_balloon
virtio-rngEntropy from the hostvirtio_rng

Check VirtIO drivers on Linux

lsmod | grep virtio

Also check device names: virtio-blk disks show as /dev/vda, virtio-scsi as /dev/sda with a QEMU model in lsblk -o NAME,MODEL. For the NIC:

ethtool -i eth0 | grep driver

It should say virtio_net. If you see e1000 or an IDE disk, ask your provider or change the VM's device model on the host.

Enable VirtIO on a KVM host

  • virt-install: use bus=virtio on disks and model=virtio on networks.
  • libvirt XML: <target dev='vda' bus='virtio'/> and <model type='virtio'/>.
  • Proxmox VE: choose VirtIO SCSI single controller and VirtIO (paravirtualized) network.

Install VirtIO drivers on Windows

  1. Attach the virtio-win ISO as a second CD-ROM alongside the Windows ISO.
  2. During Windows setup, when no disk appears, click Load driver, browse to the ISO and pick viostor (virtio-blk) or vioscsi (virtio-scsi) for your Windows version.
  3. After installation, run virtio-win-guest-tools.exe from the ISO to install network, balloon and other drivers plus the QEMU guest agent.
  4. Check Device Manager for any remaining unknown devices.

See mounting a custom ISO in Virtualizor if your VPS panel supports it.

Troubleshooting

  • Windows installer shows no disks: load the virtio storage driver as above.
  • Windows boots to blue screen after switching to VirtIO: add a small temporary virtio disk first so Windows installs the driver, then switch the boot disk.
  • Slow network on Linux: confirm virtio_net and enable multiqueue on the host for busy VMs.

Frequently asked questions

Is VirtIO paravirtualization?

Yes. The guest knows it is virtualized and uses an optimized interface, while the CPU itself still uses hardware-assisted virtualization.

virtio-blk or virtio-scsi?

virtio-scsi is usually preferred today for discard support and scaling; virtio-blk is simpler with very low latency.

Do I need the QEMU guest agent?

It is optional but recommended: it enables clean shutdowns, consistent snapshots and IP reporting.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.