RHV - Installing drivers in a Windows VM for accessing the VirtIO system disk

Solution Verified - Updated -


  • Red Hat Enterprise Virtualization 3.x
  • Red Hat Virtualization 4.x
  • Guest Server OSes: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows 2008
  • Guest Client OSes: Windows 10, Windows 8, Windows 7


  • I need to install a Windows virtual machine (VM) using virtIO devices but Windows cannot find them
  • How do I install the virtIO drivers at installation time in Windows?


The resolution will vary slightly depending on what versions you are using.

Prerequisites for All Red Hat Virtualization (3.x/4.x) versions:

  1. Install the virtio-win package on the RHV-M/RHEV-M system:

    yum install virtio-win
  2. Create an ISO domain (if you haven't already):
    a. Documentation for configuring an NFS export
    b. Documentation for attaching NFS storage in RH(E)V

Important Notes

  • The latest versions of RHEL have built-in support for VirtIO, so if you're installing RHEL as guest OS this is not needed.

Red Hat Virtualization 4.X:

Be aware that the package names and tool syntax has changed a bit from RHEV3:

  1. To set up these you'll want to make sure the ISOs/VFDs are in the ISO Domain as seen in the documentation.
  2. To upload these you can run the following command on the manager, substituting --iso-domain=ISODomain with your actual ISO domain name:

    # engine-iso-uploader --iso-domain=ISODomain upload /usr/share/virtio-win/virtio-win.iso /usr/share/virtio-win/virtio-win_x86.vfd /usr/share/virtio-win/virtio-win_amd64.vfd /usr/share/rhv-guest-tools-iso/rhv-tools-setup.iso

Red Hat Virtualization 3.x:

  1. Locate the virtio-win packages and upload the *.vfd and *.iso files to the ISO storage domain using the ISO uploader utility:

    rhevm-iso-uploader --iso-domain=nameOFdomain upload /usr/share/virtio-win/*.vfd
    rhevm-iso-uploader --iso-domain=nameOFdomain upload /usr/share/virtio-win/*.iso

Installing Windows

  1. Create a new VM with a VirtIO disk interface (instead of IDE).
  2. When the Windows VM is created, attach virtio-win-xxxx.vfd as a floppy, using the Run once menu (Remember to also boot from the Windows Installation ISO using "Attach CD"). (use "VirtIO Win amd64 VFD" for 64-bit architecture and "VirtIO Win x86 VFD" for 32-bit architecture.)

    The RHEV "Run Once" Menu: Choosing to attach virtio-win virtual floppy disk

    • NOTE: For deploying a large number of VirtIO-based VMs, a better solution would be to slipstream the VirtIO_blk driver into the Windows distribution ISO file. This is possible using nLite software or the tools Microsoft provides for driver slipstreaming.
  3. Proceed according to the version of Windows used:

    • Windows Server 2016:
      • When Windows prompts for the driver, click on "Load Driver", point the installer to drive A: and pick the SCSI controller driver for Windows Server 2016
    • Windows Server 2012 R2 / Windows Server 2012:
      • When Windows prompts for the driver, click on "Load Driver", point the installer to drive A: and pick the SCSI controller driver for Windows Server 2012 R2/Windows Server 2012.
    • Windows 2008 R2:
      • Choose the AMD64 drivers.
      • There is a known issue where the automatic driver scanning in Windows fails to detect the correct driver. The workaround is to select the driver manually similar to the process listed below for Windows 7.
    • Windows 2008:

      • When Windows prompts for the driver, click on "Load Driver", point the installer to drive A: and pick the driver that suits the OS (32-bit use x86 drivers, 64-bit use AMD64 drivers)
    • Windows 10:

      • When Windows prompts for the driver, click on "Load Driver", point the installer to drive A: and pick the SCSI controller driver for Windows 10.
    • Windows 8:
      • When Windows prompts for the driver, click on "Load Driver", point the installer to drive A: and pick the SCSI controller driver for Windows 8.
    • Windows 7:
      • When Windows prompts for the driver, click on "Load Driver", point the installer to drive A: and pick the SCSI controller driver for Windows 7.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.


Shouldn't this refer to virtio-drivers-1.0.0.vfd? This is the name of the file that's available on Red Hat Network, not viostor.vfd.

That is correct - the VFD file had been updated since the article was published.

what should one make of the following error while attempting to install windows 2008r2 64bit: "No new devices could be found. Make sure the driver files are correct and located on driver installation media."

The drivers are there (virtio-drivers-xxx.vfd) and I have attempted to install with all of choices presented. None of them work.

you need to actually pick the virtio block device driver and not the (also presented) virtio NIC driver, are you sure you did that?

I have the same problem, I've selected the storage driver on R2 and it doesn't work with virtio-win-1.4.0-1.el6.noarch


I can't actually find the drivers at all since RHN changed.

This hasn't changed. They're still under Downloads/RHEL/RHEV/Virt Manager for Servers (and/or Desktops, depending on your subscription).

Where are you starting from?  I don't see that path on either of the two sites I have access to.

I'm starting from redhat.com. Click on the link at the top that says *Downloads*. Go under Red Hat Enterprise Linux and then Downloads. That should list all channels available to you -- one of them should be RHEV (Red Hat Enterprise Virtualization). Under that, there's Virt Manager for Servers/Desktops. For me the URL is:


or for Desktops:


Thanks.  I don't have RHEV listed, only RHEL.  I thought it would be available under that, with the virtualisation entitlement, but there is no link to it under RHEL as far as I can see.

Using RHEV vs. using KVM virtualization inside regular RHEL are two different things (and different subscriptions). I happen to use both, depending on what I'm aiming for. RHEV has some nice features like live migration (in a supported way) but it's also more complex and has lots of parts to it.

When running (KVM based) Windows VMs under RHEL, the virtio drivers are downloaded via yum; it's actually easier. Refer to these docs:


Thanks.  In that case I'll use that.

Where do get Intel X64 drivers as I found that virtio-win-1.5.3.vfd only has AMD64 and i386 drivers and i am currenlty running on Intel CPU architecture.

AMD64 is the official name for x86_64, it works for Intel and AMD x64 CPUs

Please, update this procedure to RHEV 3.1, I can't upload driver for virtio in Windows Server 2003 and Windows XP.

install the virtio-win package from RHN, you will have the the ISO and floppy images as:

Am I missing something here because as of RHEV 3.2 release and with virtio-win-1.6.4_amd64.vfd Microsoft Windows 2008 R2 still does not see the required driver as supported?

I believe there may be an issue here actually. I saw what you have reported and, indeed, Windows doesn't automatically see the proper driver. However, a workaround for now is to uncheck the box that says "Hide drivers that are not compatible...", click Rescan, then select the Windows 2008 VirtIO scsi driver from the list. I have filed BZ # 981817 to track this issue. If you would, please open a support case and reference this BZ number so we can track it.

Under RHEV 3.2 need to use virtio-win-1.6.8_amd64.vfd to install Windows Server 2012 R2. Also select both the Network and SCSI drivers.

In step #4, it reads as follows:
"leave the "boot from CDROM" enabled as well)"
I think what the author intended to say was "leave "attach CD" checked" or similar. There's no "boot from CDROM" per se.

Daniel, thank you again!
I will update this.

RHV-M 4.3 is missing the virtio-win package.

The package should be available, I just checked on a 4.3 system. Make sure you have the repo rhel-7-server-supplementary-rpms enabled.

yum info virtio-win

Loaded plugins: product-id, search-disabled-repos, subscription-manager, versionlock Installed Packages Name : virtio-win Arch : noarch Version : 1.9.6 Release : 1.el7 Size : 299 M Repo : installed From repo : rhel-7-server-supplementary-rpms Summary : VirtIO para-virtualized drivers for Windows(R) URL : http://www.redhat.com/ License : Red Hat Proprietary and GPLv2 Description : VirtIO para-virtualized Windows(R) drivers for 32-bit and 64-bit : Windows(R) guests.

Yes I know. But this should be available on RHVH or RHVM automatically, I should not enable rhel-7-server-supplementary-rpms to get the virtio-win package. And another issue, rhv-tools-setup.iso is missing completely, even with the virtio-win package from rhel-7-server-supplementary-rpms.