I tried booting a kvm-machine using libvirt/virsh. Works fine with IDE-disks, but fails if you configure the primary disk to use virtio. To what I've found on the net, it should be possible to boot from a virtio-disk when the "extboot"-option-rom is used. However there seems to be no way to pass an option-rom-parameter using a libvirt-managed configuration (or to use any existing parameter as a workaround). Afaik using virtio instead of ide should offer a fairly good performance-improvement. And my RHEL-guest seems to recognise virtio fine out of the box - if just the bios would try to cleanly boot from the virtio-disk.
It isn't neccessary to set any -option-rom parameter. QEMU will automatically load extboot.bin when needed. If this isn't happening, then there's a bug in some other part of the stack. Please provide details of the actual problem you are having booting with Virtio
Output is: Options: apmbios pcibios eltorito rombios32 [...] Booting from hard disk Boot failed: Could not read the boot disk FATAL: No bootable device When I attach a secondary partition via virtio (not the boot-partiton) that appears fine in my RHEL-guest. So I assume qemu trying to boot without extboot might be the problem. But I don't know how to pursuade it to do so :-)
If you are still hitting this problem, can you provide the guest XML configuration from 'virsh dumpxml GUESTNAME', and the associated log file from the time you attempt to start this. ie /var/log/libvirt/qemu/$GUEST.log
sorry, can't retest that in my current environment anymore
Ok, closing on the basis that I know virtio booting works in general now - all our guests default to virtio these days.