Argh... And I just figured out how to install GRUB on a clean virtual disk 
Code:
kpartx -l imagefile
kpartx -a imagefile
mount /dev/mapper/loop0pX /mnt/tmp -o loop,rw # replace X with part. nr
chroot /mnt/tmp
#get device type (e.g. hda or sda)
df -h
# look also at "boot=" in /etc/grub.conf
grub-install --recheck --root-directory=/ /dev/sda
umount /mnt/tmp
kpartx -d imagefile
I have never understood why LILO and GRUB have to probe the BIOS just to install a boot loader. And why does it also have to do it for a virtual disk that is mounted?
Maybe Plymouth will clean this up?