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'/>
The error suggests that the boot disk is not found or does not contain a valid boot sector.
I think the problem may be the later, notice that you have:
<source file='/VirtualMachines/testFriApr11092714EDT2014_1'/>
/VirtualMachines/testFriApr11092714EDT2014_1
does not represent an existing file? ..ls -l /VirtualMachines/testFriApr11092714EDT2014_1
show that this file actually is there ?Additional troubleshooting steps: