How to: Install Windows 10 virtual machine on Proxmox (PVE) with VirtIO SCSI Controller (driver) (How to: Fix: Windows 10 can’t see SCSI drive with VirtIO SCSI controller on Proxmox)

Last Updated on

0 Make sure you have download the ISO file first which includes driver for VirtIO SCSI driver: Click HERE or HERE to open download page.

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

Create Virtual Machine in Proxmox, SCSI Controller
Create Virtual Machine in Proxmox, SCSI Controller
Create Virtual Machine in Proxmox, Default to SCSI Bus
Create Virtual Machine in Proxmox, Default to SCSI Bus

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)

Proxmox, Create new CD/DVD Drive
Proxmox, Create new CD/DVD Drive

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)”

Windows 10 Installation, Which type of installation do you want
Windows 10 Installation, Which type of installation do you want

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

Windows 10 installation, Select the driver to install
Windows 10 installation, Select the driver to install

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)

Windows 10 installation, Select the driver to install
Windows 10 installation, Select the driver to install

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

Windows 10 installation, Browser for Folder, install driver
Windows 10 installation, Browser for Folder, install driver

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)

Windows 10 installation, Where do you want to install Windows?
Windows 10 installation, Where do you want to install Windows?

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.

Bonus

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.

References

[1] “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

[2] “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


Leave a Reply

Your email address will not be published. Required fields are marked *