Windows VirtIO Drivers: Difference between revisions

From Proxmox VE
Jump to navigation Jump to search
(fix links, rephrase, remove old info regarding folder structure of driver iso)
m (fix spelling)
 
(7 intermediate revisions by 2 users not shown)
Line 10: Line 10:
You can maximize performances by using VirtIO drivers. The availability and status of the VirtIO drivers depends on the guest OS and platform.
You can maximize performances by using VirtIO drivers. The availability and status of the VirtIO drivers depends on the guest OS and platform.


== Windows OS support ==
== Windows OS Support ==


Windows does not have VirtIO drivers included. The Fedora project provides CD ISO images with compiled and signed VirtIO drivers for Windows.
Windows does not have native support for VirtIO devices included.
But, there is excellent external support through opensource drivers, which are available compiled and signed for Windows:


See
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/?C=M;O=D


*https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html
Note that this repository provides not only the most recent, but also many older versions.
*http://www.linux-kvm.org/page/WindowsGuestDrivers
Those older versions can still be useful when a Windows VM shows instability or incompatibility with a newer driver version.
*http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers


The source code of those drivers can be found on Github. See https://github.com/virtio-win/kvm-guest-drivers-windows
The binary drivers are digitally signed by Red Hat, and will work on 32-bit and 64-bit versions of Windows


=== Driver ISOs ===
== Installation ==


Each of the ISOs is labelled with a numeric release.
=== Using the ISO ===
*Older versions could still be useful when, as it happens, a Windows VM shows instability or incompatibility with the latest drivers.
*a web repository https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
*:here you can find both [https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso stable] and [https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso latest] sets of drivers
*:*in source format (.zip)
*:*in compiled format (.iso)
*:*'''The binary drivers are digitally signed by Red Hat (but NOT WHQL), and will work on 64-bit versions of Windows'''


In the iso there are several dirs, with subdir for each supported OS version (2k19, 2k16, 2k12, 2k12R2, 2k3, 2k8, 2k8R2, w7, w8, w8.1, w10):
You can [https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso download the latest stable] or you can [https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso download the most recent] build of the ISO.
*Balloon
Normally the drivers are pretty stable, so one should try out the most recent release first.
*guest-agent
 
*NetKVM
You can access the ISO in a VM by mounting the ISO with a virtual CD-ROM/DVD drive on that VM.
*pvpanic
 
*qemupciserial
==== Wizard Installation ====
*qxl
[[File:Win10-virtio-driver-wizard.png|Wizard Installation|thumb|right]]
*qxldod
You can use an easy wizard to install all, or a selection, of VirtIO drivers.
*viorng
 
*vioscsi
# Open the Windows Explorer and navigate to the CD-ROM drive.
*vioserial
# Simply execute (double-click on) '''virtio-win-gt-x64'''
*viostor
# Follow its instructions.
# (Optional) use the '''virtio-win-guest-tools''' wizard to install the [[Qemu-guest-agent|QEMU Guest Agent]] and the [[SPICE]] agent for an improved remote-viewer experience.
# Reboot VM
 
==== Manual Installation ====
 
# Open the Windows Explorer and navigate to the CD-ROM drive.
#: There you can see that the ISO consists of several directories, each having sub-directories for supported OS version (for example, 2k19, 2k12R2, w7, w8.1, w10, ...).
#* Balloon
#* guest-agent
#* NetKVM
#* qxl
#* vioscsi
#* ...
#: [[File:Win10-virtio-driver-manual.png|Manual Installation|thumb|right]]
# Navigate to the desired driver directories and respective Windows Version
# Right-click on the file with type "Setup Information"
# A context menu opens, select "Install" here.
# Repeat that process for all desired drivers
# Reboot VM.
 
=== Downloading the Wizard in the VM ===
 
You can also just [https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/ download the most recent] virtio-win-gt-x64.msi or virtio-win-gt-x86.msi from inside the VM, if you have already network access.
 
Then just execute it and follow the installation process.
 
== Troubleshooting ==
 
Try an older version of the drivers first, if that does not help ask in one of our support channels:
https://pve.proxmox.com/wiki/Get_support
 
== Further Reading ==
 
https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html
 
http://www.linux-kvm.org/page/WindowsGuestDrivers
 
The source code of those drivers can be found here: https://github.com/virtio-win/kvm-guest-drivers-windows
 
http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers


= See also =
= See also =
* [[Windows_VirtIO_Drivers/Changelog]]
* [[Paravirtualized Block Drivers for Windows]]
* [[Paravirtualized Block Drivers for Windows]]
* [[Paravirtualized Network Drivers for Windows]]
* [[Paravirtualized Network Drivers for Windows]]

Latest revision as of 11:19, 28 August 2023

Introduction

VirtIO Drivers are paravirtualized drivers for kvm/Linux (see http://www.linux-kvm.org/page/Virtio). In short, they enable direct (paravirtualized) access to devices and peripherals for virtual machines using them, instead of slower, emulated, ones.
A quite extended explanation about VirtIO drivers can be found here http://www.ibm.com/developerworks/library/l-virtio.

At the moment these kind of devices are supported:

You can maximize performances by using VirtIO drivers. The availability and status of the VirtIO drivers depends on the guest OS and platform.

Windows OS Support

Windows does not have native support for VirtIO devices included. But, there is excellent external support through opensource drivers, which are available compiled and signed for Windows:

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/?C=M;O=D

Note that this repository provides not only the most recent, but also many older versions. Those older versions can still be useful when a Windows VM shows instability or incompatibility with a newer driver version.

The binary drivers are digitally signed by Red Hat, and will work on 32-bit and 64-bit versions of Windows

Installation

Using the ISO

You can download the latest stable or you can download the most recent build of the ISO. Normally the drivers are pretty stable, so one should try out the most recent release first.

You can access the ISO in a VM by mounting the ISO with a virtual CD-ROM/DVD drive on that VM.

Wizard Installation

Wizard Installation

You can use an easy wizard to install all, or a selection, of VirtIO drivers.

  1. Open the Windows Explorer and navigate to the CD-ROM drive.
  2. Simply execute (double-click on) virtio-win-gt-x64
  3. Follow its instructions.
  4. (Optional) use the virtio-win-guest-tools wizard to install the QEMU Guest Agent and the SPICE agent for an improved remote-viewer experience.
  5. Reboot VM

Manual Installation

  1. Open the Windows Explorer and navigate to the CD-ROM drive.
    There you can see that the ISO consists of several directories, each having sub-directories for supported OS version (for example, 2k19, 2k12R2, w7, w8.1, w10, ...).
    • Balloon
    • guest-agent
    • NetKVM
    • qxl
    • vioscsi
    • ...
    Manual Installation
  2. Navigate to the desired driver directories and respective Windows Version
  3. Right-click on the file with type "Setup Information"
  4. A context menu opens, select "Install" here.
  5. Repeat that process for all desired drivers
  6. Reboot VM.

Downloading the Wizard in the VM

You can also just download the most recent virtio-win-gt-x64.msi or virtio-win-gt-x86.msi from inside the VM, if you have already network access.

Then just execute it and follow the installation process.

Troubleshooting

Try an older version of the drivers first, if that does not help ask in one of our support channels: https://pve.proxmox.com/wiki/Get_support

Further Reading

https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html

http://www.linux-kvm.org/page/WindowsGuestDrivers

The source code of those drivers can be found here: https://github.com/virtio-win/kvm-guest-drivers-windows

http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

See also