Installing/Updating KVM Virtio Drivers in Windows

Paravirtualized drivers enhance the performance of guests, decreasing guest I/O latency and increasing throughput to near bare-metal levels. It is recommended to use the paravirtualized drivers for fully virtualized guests running I/O heavy tasks and applications.

virtio drivers are KVM’s paravirtualized device drivers, available for Windows guest virtual machines running on KVM hosts. These drivers are included in the virtio-win package. The virtio-win package supports block (storage) devices, network interface controllers, video controllers, memory ballooning device, paravirtual serial port device, entropy source device, paravirtual panic device, and a small set of emulated devices.

Using KVM virtio drivers, the following Microsoft Windows versions are expected to run similarly to bare-metal-based systems:

  • Microsoft Windows Server 2008 R2 64-Bit
  • Microsoft Windows Server 2012 64-Bit
  • Microsoft Windows Server 2012 R2 64-Bit
  • Microsoft Windows Server 2016 64-Bit

Note: Note: Storage and Network connectivity issues sometimes arise when attempting to use older virtio drivers with newer versions of QEMU. Keeping the drivers up to date is therefore recommended.

There are up to eight devices available: the memory ballooning device, the paravirtual serial port device, the network device, the block device, the SCSI block device, the entropy source device, the emulated PCI serial port device, and the paravirtual panic device. Additionally, the video device is available in the Display adapters group.

  • Balloon, the balloon driver, applies to PCI Device in the Other devices group
  • vioserial, the paravirtual serial driver, applies to PCI Simple Communications Controller in the Other devices group.
  • NetKVM, the network driver, applies to Ethernet Controller in the Other devices group. This driver is only available if a virtio NIC is configured. Configurable parameters for this driver are documented in Appendix E, NetKVM Driver Parameters.
  • viostor, the block driver, applies to SCSI Controller in the Other devices group.
  • viocsci, the SCSI block driver, applies to SCSI Controller in the Other devices group.
  • viorng, the entropy source driver, applies to PCI Device in the Other devices group.
  • qemupciserial, the emulated PCI serial driver, applies to PCI Serial Port in the Other devices group.
  • qxl, the paravirtual video driver, applied to Microsoft Basic Display Adapter in the Display adapters group.
  • pvpanic, the paravirtual panic driver, applies to Unknown device in the Other devices group.

Note: Both the memory balloon and entropy source devices are initially represented by PCI Device in the Other devices group. Similarly, both block devices are represented by SCSI Controller. Use the following procedure to tell them apart.

Installing the Drivers on an Installed Windows Guest Virtual machine

This procedure describes installing the virtio drivers with a virtualized CD-ROM after Windows is installed.

1. Download the drivers The virtio-win package contains the virtio (block, network, and other) drivers for all supported Windows guest virtual machines.

Note: The virtio-win package can be found here. Search for virtio-win and click Download Latest.

2. Install the virtio drivers

  • Mount virtio driver’s .iso image file inside windows machine

  • Open the Device Manager

    For information on opening Device Manager, refer to the Windows documentation.

  • Start Add legacy hardware wizard

  • select Install the hardware that I manually select from a list (Advanced),Next

  • View available devices

  • Select Have Disk

  • Open a file browser, Click Browse.

  • Browse to the location of the driver

    A separate driver is provided for each combination of operating systems and architectures. The drivers are arranged hierarchically

    For example, the Balloon driver for a Windows 10 operating system with an x86 (32-bit) architecture, resides in the Balloon/w10/x86 directory.

  • Once you have navigated to the correct location, click OK.

  • Click Next to continue. You will receive security message. Would you like to install this device software? Click Install.

  • The following screen is displayed while the driver installs:

  • Close the installer

    The following screen is displayed when installation is complete:

    Click Close to close the installer.

  • Reboot

    Reboot the virtual machine to complete the driver installation.

Updating the Drivers on an Installed Windows Guest Virtual machine

  • Mount virtio driver’s .iso image file inside windows machine

  • Open the Device Manager

    For information on opening Device Manager, refer to the Windows documentation.

  • Open the driver update wizard

    From the drop-down menu, select Update Driver Software to access the driver update wizard.

  • Specify how to find the driver

    The first page of the driver update wizard asks how you want to search for driver software. Click Browse my computer for driver software.

    browse my computer image

  • Select the driver to install, Open a file browser, Click Browse.

  • Browse to the location of the driver

    A separate driver is provided for each combination of operating systems and architectures. The drivers are arranged hierarchically

    For example, the Balloon driver for a Windows 10 operating system with an x86 (32-bit) architecture, resides in the Balloon/w10/x86 directory.

    Once you have navigated to the correct location, click OK.

  • Click Next to continue, The following screen is displayed while the driver installs:

    installing driver image

  • Close the installer

    The following screen is displayed when installation is complete:

    installing complete image

    Click Close to close the installer.

  • Reboot

    Reboot the virtual machine to complete the driver installation.