Windows VirtIO Drivers: Difference between revisions
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
Windows does not have native support for VirtIO devices included. | 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: | 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 | https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/?C=M;O=D | ||
Line 20: | Line 21: | ||
The binary drivers are digitally signed by Red Hat, and will work on 32-bit and 64-bit versions of Windows | The binary drivers are digitally signed by Red Hat, and will work on 32-bit and 64-bit versions of Windows | ||
== Installation == | == Installation == | ||
Line 33: | Line 32: | ||
==== Wizard Installation ==== | ==== Wizard Installation ==== | ||
[[File:Win10-virtio-driver-wizard.png|thumb|right]] | |||
You can use an easy wizard to install all, or a selection, of VirtIO drivers. | You can use an easy wizard to install all, or a selection, of VirtIO drivers. | ||
Line 39: | Line 38: | ||
# Simply execute (double-click on) '''virtio-win-gt-x64''' | # Simply execute (double-click on) '''virtio-win-gt-x64''' | ||
# Follow its instructions. | # 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 | # Reboot VM | ||
Line 51: | Line 51: | ||
#* qemupciserial | #* qemupciserial | ||
#* qxl | #* qxl | ||
#: [[File:Win10-virtio-driver-manual.png|thumb|right]] | |||
#* qxldod | #* qxldod | ||
#* viorng | #* viorng | ||
Line 56: | Line 57: | ||
#* vioserial | #* vioserial | ||
#* viostor | #* viostor | ||
#* ... | |||
# Navigate to the desired driver directories and respective Windows Version | # Navigate to the desired driver directories and respective Windows Version | ||
# Right-click on the file with type "Setup Information" | # Right-click on the file with type "Setup Information" | ||
Line 74: | Line 76: | ||
== Further Reading == | == 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 | 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 | http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers | ||
= See also = | = See also = |
Revision as of 16:41, 22 August 2020
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:
- block (disks drives), see Paravirtualized Block Drivers for Windows
- network (ethernet cards), see Paravirtualized Network Drivers for Windows
- balloon (dynamic memory management), see Dynamic Memory Management
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 can in a VM by mounting the ISO with a virtual CD-ROM/DVD drive on that VM.
Wizard Installation
You can use an easy wizard to install all, or a selection, of VirtIO drivers.
- Open the Windows Explorer and navigate to the CD-ROM drive.
- Simply execute (double-click on) virtio-win-gt-x64
- Follow its instructions.
- (Optional) use the virtio-win-guest-tools wizard to install the 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
- pvpanic
- qemupciserial
- qxl
- qxldod
- viorng
- vioscsi
- vioserial
- viostor
- ...
- 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 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 helps ask in one of our support channels: https://pve.proxmox.com/wiki/Get_support
Further Reading
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