Windows 10 guest best practices
This is a set of best practices to follow when installing a Windows 10 guest on a Proxmox VE server 4.x (4.0 beta at time of writing). Right now it's a work in progress.
- Create a new VM, select "Microsoft Windows 8/2012" continue and mount your Windows 10 ISO in the CDROM drive
- For your virtual hard disk select "VirtIO" as bus and "Write back" as cache option for best performance.
- Configure your memory settings as needed, continue and set "VirtIO (paravirtualized)" as network device, finish your VM creation.
- For the VirtIO drivers upload the driver ISO (successfully tested with "virtio-win-0.1.105.iso", get it from here) to your storage, so you can mount it in a second, newly created, CDROM drive (use "Add -> CD/DVD drive" in the hardware tab).
- Now your ready to start the VM, just follow the Windows installer.
Launch Windows install
- After starting your VM launch the console
- Follow the installer steps until you reach the installation type selection where you need to select "Custom (advanced)"
- Now click "Load driver" to install the VirtIO drivers for hard disk and the network. (successfully tested with "virtio-win-0.1.105.iso")
- hard disk: Browse to the CD drive where you mounted the VirtIO driver and select folder "viostor\w8.1\amd64" and confirm. Select the "Red Hat VirtIO SCSI controller" and click next to install it. Now you should see your drive.
- Network: Repeat the steps from above (click again "Load driver", etc.) and select the folder "NetKVM\w8.1\amd64", confirm it and select "Redhat VirtIO Ethernet Adapter" and click next.
- Memory Ballooning: Again, repeat the steps but this time select the "Balloon\w8.1\amd64" folder, then the "VirtIO Balloon Driver" and install it by clicking next. With these three drivers you should be good covered to run a fast virtualized Windows 10 system.
- Choose the drive and continue the Windows installer steps.
Install additional VirtIO drivers on running System
If you miss some VirtIO drivers, you may install them as follows on a running system.
To do so, start the file explorer, select the CDROM drive with the VirtIO iso image mounted and browse to the folder folder of the desired component. Some often needed, using the virtio-win-0.1.105 version, are:
- Ethernet Adapter: NetKVM\w8.1\amd64 here right-click the setup information file "netkvm" and select install.
- Virtual Memory Balloon Driver: Balloon\w8.1\amd64 here right-click the setup information file "balloon" and select install.
- Hard disk: viostor\w8.1\amd64 here right-click the setup information file "viostor" and select install.
After the installation process the device should work as expected.
For more information and configuration about ballooning, see Dynamic Memory Management
Disk-Image Format: raw vs qcow2
Raw file format provides slightly better performance while qcow2 offers advanced features such as copy on write and Live_Snapshots. Since V2.3, qcow2 is the default format.
Use VirtIO drivers for best performance. More info: Paravirtualized Block Drivers for Windows
Make it really easy: Build your ISO with drivers already included: Windows guests - build ISOs including VirtIO drivers
Latest iso with VirtIO drivers : https://fedoraproject.org/wiki/Windows_Virtio_Drivers