KVM: Machines unbootable after host reboot

bootkvm-virtualization

Im finding that my KVM guests are unusable after i reboot my host. Specifically, I always get this error:

Booting from hard disk

Boot failed: not a bootable disk

What causes this error? I've tried toggling the VM disk type between qcow2 and raw, because a few articles online mentioned that this can happen if virt doesnt know the type of image to load, but that did not help.

** some more details **

I create My VMs from source using a command somewhat like this:

    base="http://mirror.pnl.gov/fedora/linux/releases/20/Fedora/x86_64/os/"
nohup sudo virt-install --hvm --name $vm_name$i --ram 4000 \
--disk path=/VirtualMachines/$vm_name$i,size=30 \
--location $base -x  "ks=http://xxx.os21.ks$kx"&

My virsh file looks like this:

      1 <domain type='kvm'>
  2   <name>testFriApr11092714EDT2014_1</name>
  3   <uuid>d4c86892-fb15-04ed-f4ab-7e3c76974ffc</uuid>
  4   <memory unit='KiB'>4096000</memory>
  5   <currentMemory unit='KiB'>4096000</currentMemory>
  6   <vcpu placement='static'>1</vcpu>
  7   <os>
  8     <type arch='x86_64' machine='rhel6.4.0'>hvm</type>
  9     <boot dev='hd'/>
 10   </os>
 11   <features>
 12     <acpi/>
 13     <apic/>
 14     <pae/>
 15   </features>
 16   <clock offset='utc'/>
 17   <on_poweroff>destroy</on_poweroff>
 18   <on_reboot>restart</on_reboot>
 19   <on_crash>restart</on_crash>
 20   <devices>
 21     <emulator>/usr/libexec/qemu-kvm</emulator>
 22     <disk type='file' device='disk'>
 23       <driver name='qemu' type='raw' cache='none'/>
 24       <source file='/VirtualMachines/testFriApr11092714EDT2014_1'/>
 25       <target dev='hda' bus='ide'/>
 26       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
 27     </disk>
 28     <controller type='usb' index='0'>
 29       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
 30     </controller>
 31     <controller type='ide' index='0'>
 32       <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
 33     </controller>
 34     <interface type='network'>
 35       <mac address='52:54:00:81:bd:fe'/>
 36       <source network='default'/>

Best Answer

The error suggests that the boot disk is not found or does not contain a valid boot sector.

  • Are you writing the boot image on this disk during the OS install ?
  • is the path specified in the VM file the correct disk image?

I think the problem may be the later, notice that you have:

<source file='/VirtualMachines/testFriApr11092714EDT2014_1'/>

  • Is it possible that /VirtualMachines/testFriApr11092714EDT2014_1 does not represent an existing file? ..
  • Does an ls -l /VirtualMachines/testFriApr11092714EDT2014_1 show that this file actually is there ?
  • If the file is there, then KVM probably needs a file that ends in .img (for raw format) or .qcow2 (for qcow format).

Additional troubleshooting steps:

  • attach a {CD,DVD}-ROM device (via virt-manager or virsh)
  • enable boot-menu
  • boot from CD/DVD when unable to boot, and actually look at the disk