1

I'm trying to install Windows Server 2012 R2 on a Debian KVM host, but it does not seem to find the drivers.

The guest has two drives attached: an install disk and the latest Windows virtio drivers ISO (from here). I succesfully installed other operating systems (including Windows Server 2008 and Windows 8.1) using the same set-up.

The drive I'm trying to install to is a qcow2 thin provisioned file. When installing, Windows doesn't recognize this and presents the "Select drivers to install box". I select the AMD64 folder in the WIN8 directory and it shows me four installable drivers, of which two pertaining to storage: Red Hat VirtIO SCSI controller and Red Hat VirtIO pass-through controller.

But when I try to install either of these, it gives me a No new devices drivers were found and it won't let me continue. I tried using different disk buses (SCSI, IDE, SATA and even USB), but nothing works - No new devices drivers were found all the way.

What's going on?

Here's the domain XML:

virsh # dumpxml win2k12
<domain type='kvm'>
  <name>win2k12</name>
  <uuid>f33b0f87-567c-4494-ab5b-80856447ddba</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Westmere</model>
  </cpu>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/thomas/kvm/storage_pool/windows2012-test-3.qcow2'/>
      <target dev='sda' bus='usb'/>
      <boot order='1'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/thomas/tmp/en_windows_server_2012_r2_x64_dvd_2707946.iso'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <boot order='3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/thomas/tmp/virtio-win-0.1-100.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='scsi' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </controller>
    <controller type='scsi' index='1' model='virtio-scsi'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </controller>
    <interface type='network'>
      <mac address='52:54:00:06:5a:31'/>
      <source network='default'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='spice' autoport='yes'/>
    <sound model='ich6'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
</domain>
  • Please post the domxml for the VM you are installing. – dyasny Mar 26 '15 at 0:29
  • Hi @dyasny, I updated my answer with the domain XML – Thomas T. Mar 26 '15 at 15:15
  • @MichaelHampton : I was able to install Windows Server 2008 without any issues, this question is about Windows Server 2012 – Thomas T. Mar 26 '15 at 15:45
  • 1
    The process is exactly the same. – Michael Hampton Mar 26 '15 at 19:03
2
<disk type='file' device='disk'>
  <driver name='qemu' type='qcow2'/>
  <source file='/home/thomas/kvm/storage_pool/windows2012-test-3.qcow2'/>
  <target dev='vda' bus='virtio'/>
</disk>

This is what it should look like. BTW, yout NIC is also RTL and not virtio, tsk tsk tsk.

| improve this answer | |
1

The problem was using a disk image from DreamSpark/OnTheHub. I downloaded a new image, and it worked out of the box.

The old image name was en_windows_server_2012_r2_x64_dvd_2707946.iso.

I "ordered" a new free Windows Server 2012 of DreamSpark. I believe redownloading using Secure Download Manager will download the old image again, but I haven't tested this.

As for the settings, I suggest you use those provided in dyasny's answer below.

| improve this answer | |
  • The filename is correct (except that it's been superseded by en_windows_server_2012_r2_with_update_x64_dvd_4065220.iso). It sounds like your original download was probably corrupted in some way. – Michael Hampton Mar 27 '15 at 17:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.