A (hopefully) fool-proof guide on how to install a Windows 10 installation on Proxmox VE.  The right way.

Given:

  • A Windows 10 ISO (Need one?  I suggest looking at the Media Creation tool here)
  • A stable VirtIO ISO (Start by looking here)
  • A Proxmox VE Installation

Instructions:

  • Upload both the Windows 10 and VirtIO ISOs to your node’s local storage
  • Click on “Create VM”
  • Assign VMID and Name, click “Next” to go to the OS tab
  • Select “Windows 10/2016”, click “Next” to go to the CD/DVD tab
  • Select your Windows 10 ISO, click “Next” to go to the Hard Disk tab

Choose “VirtIO” as your Bus.  Specify your storage location and size.  Remember, the minumum storage is 16 GB for a 32-bit OS and 20 GB for a 64-bit OS.  Under cache, select “Write back” (this increases performance, but is slightly riskier).  Click “Next” to go to the CPU tab

  • Assign as many sockets and cores as your environment permits.  2 cores and 2 sockets is often optimal, under normal circumstances, depending on your environment.  Enable Numa.  Click “Next” to go to the Memory tab
  • Assign Ram as needed. Remember, the minimum memory is 1 gigabyte (GB) for 32-bit and 2 GB for 64-bit.  Click “Next” to go to the Network tab
  • Select “VirtIO (paravirtualized)” as the Model.  All other settings are subject to your environment.  Click “Next” to go to the Confirm tab
  • Confirm all settings and click “Finish”.
  • After your new VM tab appears on the left, look at its hardware settings.
  • Add a second CD/DVD, choose the VirtIO iso as the image.
  • Boot your VM, open the console.
  • The VM should boot the Windows 10 ISO
  • Proceed with the installation as normal.  When you hit the “Which type of installation do you want?”, select “Custom: Install Windows only (advanced)”.
  • You will get a notice that you don’t have the storage drivers necessary for Windows to detect a hard drive.

Select “Load Driver”, then browse to the virt-win CD.  Drill down to viostor > w10 > amd64 and click “OK”

  • Windows will detect the “Red Hat VirtIO SCSI controller” driver.  Click “Next”.  The hard drive will now appear.  Partition the drive as you see fit, or just click “Next”.
  • Windows will begin the installation process.  Depending on your environment, this may take a few minutes.
  • The installation will reboot.  At this point, you may remove the Windows 10 ISO (or the entire CD/DVD Drive) via the Hardware tab in Proxmox, but keep the VirtIO ISO.  We’ll need it for networking and the memory balloon drivers.
  • Continue setting up Windows by configuring your location, keyboard, username, password, password hint, privacy settings, etc.  You’ll notice that when the “connect to a network” tab appears, there’s no options available.
  • Once you have an actual desktop, open up the Device Manager.
  • You’ll notice two devices with missing drivers: Ethernet Controller (The VirtIO Network Card) and PCI Device (Memory Ballooning)
  • Update the Ethernet Controller driver by navigating to the virtio-win CD. Drill down to NetKVM > w10 > amd64 and click “OK”.  Windows should detect and install the “Red Hat VirtIO Ethernet Adapter”.  Your VM should be able to access network features, provided your hardware was appropriately configured.
  • Update the PCI Device driver by by navigating to the virtio-win CD. Drill down to Balloon > w10 > amd64 and click “OK”.  Windows should detect and install the “VirtIO Balloon Driver”.
  • You can remove the virtio-win CD (or the CD/DVD Device) in the VM’s Hardware tab on the Proxmox GUI.  Bear in mind that you can remove the ISO immediately.  Removing the device requires you to shutdown the VM.

The Red lines will be there until you shutdown and start the VM from Proxmox.