Last Updated on
0.1 We are looking for “virtio-win iso” or “virtio-win-[version number].iso” e.g.”virtio-win-0.1.173.iso“
1 Create VM in Proxmox (By default, Proxmox uses VirtIO ISCSI as the SCSI Controller), usually VirtIO SCSI is the default SCSI Controller for new Virtual Machine
2 Upload the downloaded ISO file from step 0 (virtio-win-0.1.173.iso) to your “local” inventory or other location you prefer
3 Click on the VM from cluster inventory (Datacenter -> cluster name -> VM)
4 Click on “Hardware”
5 Click on “Add” button
6 Click on “CD/DVD Drive”
7 Select “SATA” for “Bus/Device”, 3 for the number after “SATA” (If SATA does not work try IDE, Windows 10 should work fine with SATA, unless you are trying to install older Windows versions)
8 Start the Windows 10 virtual machine
(If you are using UEFI BIOS for Windows 10 Guest virtual machine, make sure you click on the “Start” button then quickly click on “>_ Shell” to open the console quickly, then press any key to start the virtual machine from DVD/ISO)
9 Click “Next” on the first screen
10 Click on “Install now”, then enter product key if you have one, or you can use Windows 10 with Insider Preview for free without entering key (Click on I don’t have a product key, to skip this step, you can enter key later when the system is installed)
11 Select the version you want to install
12 Read and accept the license terms
13 Click on “Custom: Install Windows only (advanced)”
We can see the virtual disk we have attached to the Windows 10 guest is not listed, this is why we need to load the driver from virtio ISO
14 Click on “Load driver” button
15a Following screen will be shown, click on “OK” button
16 Following screen will be shown, Select the path which including w10 which is for windows 10 (6th row in this case)
Note: If you don’t see this screen, please follow step 15b (Underneath step 16)
15b (If you see the screen shown from step 16, please continue from step 17, otherwise continue form here) Click on “Browse” button
15b.1 We are looking for a “CD Drive” with “virtio” in the label/name
15b.2 Click and expand that drive
Navigate to: [virtio CD]/vioscsi/w10
Note: If it is 32bit Windows 10, click on “X86” then click on OK button to load the driver. If it si 64bit Windows 10, click on “amd64” then click on OK button to load the driver
17 Make sure the correct driver is highlighted, click on “Next” button to continue installation
18 Now we can see the virtual disk (Click on Next button to continue Windows 10 installation) (You can create different partitions if necessary, that is out of scope for this guide)
19 After windows 10 finished installation, start Windows 10, Navigate to the virtio ISO, install “virtio-win-xxxx” so that we can connect to internet and make the Windows 10 support other features like Balloon etc.
Don’t forget to install spice-guest-tools in Windows 10 guest virtual machine, so that we can have better user experiences like copy, paste features etc. when using SPICE (Installing virtio-win-xx should be enough, if not, install spice-guest-tools as well)
Remember to install qemu-agent as well. (In the ISO file, it is in the “guest-agent” folder), (Installing virtio-win-xx should be enough, if not, install the agent manually)
If you are installing drivers manually and using version 0.1.171, refer to following section (If using current latest version 0.1.173 (as of writing) then just execute “virtio-win-gt-x64” or x86) [1,2]
- 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.
 “Windows Guest Virtual Machines on Red Hat Enterprise Linux 7 – Red Hat Customer Portal”, Red Hat Customer Portal, 2018. [Online]. Available: https://access.redhat.com/articles/2470791
 “Chapter 17. Installing and managing Windows virtual machines Red Hat Enterprise Linux 8 | Red Hat Customer Portal”, Red Hat Customer Portal, 2020. [Online]. Available: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_virtualization/installing-and-managing-windows-virtual-machines-on-rhel8_configuring-and-managing-virtualization#installing-kvm-drivers-on-a-windows-guest_installing-kvm-paravirtualized-drivers-for-rhel-8-virtual-machines