I'm trying to setup a Windows 2016 server under KVM (Virt-Manager) on Debian 9 using the WinSvr_STD_CORE_2016_64Bit_-4_DC_STD_X21-70526 flavored ISO. In the past, virtio drivers from Fedora would usually work to get a Windows VM up and running. The 2016 server edition doesn't seem to be able to use any of the latest Virtio drivers however. Selecting W2k16 (or any other directory) on the mounted Virtio ISO results in "No device drivers were found. Make sure that the installation media contains the correct drivers, and then click OK" Is there some other way to get a Windows 2016 VM up and running under KVM?
-
Eh? It works fine for me and everyone else. How did you configure the virtual disk? What version of virtio-win did you use? – Michael Hampton Apr 26 '19 at 02:28
-
Have you tried it recently? I suspect something has changed in 2016 that made the latest virtio drivers incompatible. Virtual disk was made inside virt-manager. Using virtio 126 and 141. Screencast is here https://www.youtube.com/watch?v=jIz0w6mjDCM – Server Fault Apr 26 '19 at 13:33
-
Um, don't use "IDE" disks. That won't work. Use SCSI, with a Virtio-SCSI Controller added, and SATA CDROM drives. Use Q35 for the machine type, not I440FX. – Michael Hampton Apr 26 '19 at 16:48
-
Changed to SCSI in virt-manager. machine=`pc-q35-2.5` via `virsh edit` I get `error: internal error: PCI bus is not compatible with the device at 0000:00:1e.0. Device requires a PCI Express slot, which is not provided by bus 0000:00 Failed. Try again? [y,n,i,f,?]: ` Is this talking about the virt config, or the metal it's running on? – Server Fault Apr 26 '19 at 18:15
-
You can't change the machine type without a large amount of trouble, so much that it's best to just recreate the VM with the correct machine type to start with. – Michael Hampton Apr 26 '19 at 18:17
-
Recreated the VM. Getting closer. Finding the pass-through driver but still seems wrong. This config look right?: https://www.youtube.com/watch?v=8U7eGY3GoAs – Server Fault Apr 26 '19 at 18:39
-
Are you doing a new installation of Windows? Something appears to be very wrong with your system, as you should have succeeded with choosing the vioscsi driver. It could just be more Debian brokenness. Sigh. – Michael Hampton Apr 26 '19 at 18:58
-
Other than Debian just being crap, I've also seen something like this happen when the ISO image was corrupt. So you might double check that the ISO is good. – Michael Hampton Apr 26 '19 at 19:07
-
Yeah it's a new VM disk. the SHA1SUM for my WinSvr_STD_CORE_2016_64Bit_-4_DC_STD_X21-70526.ISO ISO is `773beb9c4937a85973b1795104d6ef2d5d1d6a57` and MD5SUM is `c67ac28695392537bbf902a0c34071bd`. Neither hit on google so maybe something is up there. Will check into it, thanks. – Server Fault Apr 26 '19 at 19:36
-
@MichaelHampton Just a follow up, you nailed it! It was a bad ISO. – Server Fault Apr 29 '19 at 21:09
1 Answers
This is how I install Windows on KVM with proper virtio storage drivers for best performance.
This example uses Server 2019, but the process is virtually identical for previous versions of Windows back to 2008/Vista.
Select your ISO image and your edition of Windows.
Select to customize the VM before install.
Select the Q35 chipset. It is the default now, but older versions of virt-manager default to I440FX.
You could begin the installation now with SATA drives and no virtio storage drivers, but performance will be poor.
Click Add Hardware. Select Controller on the left. On current virt-manager versions, SCSI and VirtIO SCSI will be preselected. On old versions, select them yourself. Then click Finish.
Click Add Hardware. Add the virtio-win ISO image as an SATA CDROM. Then click Finish.
Now you can click Begin installation. Windows installation starts.
There is no disk shown. Click Load Driver.
Select the virtio-win ISO image and expand it using the arrow.
Select the folder named vioscsi
and expand it using the arrow.
Select the folder named for your Windows edition, then the folder named amd64
(or x86
if you are installing 32-bit Windows). Use win2k16
for both Server 2016 and Server 2019 until a future virtio-win update provides a win2k19
build. Then click OK.
The Red Hat VirtIO SCSI pass-through controller driver appears. Click Next.
The virtual disk now appears. Click Next.

- 244,070
- 43
- 506
- 972