+++ This bug was initially created as a clone of Bug #728947 +++
Description of problem:
A guest has 2 virtio disks: vda and vdb. /boot resides on /dev/vdb1. Grub is installed on /dev/vda, which is also where the guest is configured to boot from.
Firstly, a fresh installation in the above configuration will cause the boot to fail with 'Hard Disk Error' (screenshot rhel6-grub-hd_error).
If you attempt to fix the problem by manually running 'grub-install /dev/vda' from the rescue environment you get Error 21 trying to load stage 1.5 (screenshot rhel6-error_21).
The above configuration works fine if the disks are IDE. It also works fine if the drives are swapped so that /dev/vdb1 becomes /dev/vda1 and grub is manually installed on the new /dev/vda. The problem seems to be specific to attempting to read /boot from a drive other than the first one.
I have replicated this problem on RHEL 4.8, RHEL 5.4 and RHEL 6.0, all of which support VirtIO. I have also replicated the problem on a RHEL 5 KVM host, which uses Bochs BIOS, and an F14 host, which uses SeaBIOS. The behaviour is the same in all cases, although the error messages from RHEL 4 and RHEL 5 grub are slightly more verbose.
 I'd expect the behaviour to be identical immediately after installation to behaviour after running 'grub-install /dev/vda', so could this indicate a secondary problem in anaconda?
Due to lack of response in original report bz #728947 closing as insufficient_data.