*** This bug is a duplicate of bug 216176 ***
    https://bugs.launchpad.net/bugs/216176

This SOLVED the problem for me:

For explanation: Please see this "bug" which is actual a "bug fix" in
grub2 making it require a second argument in the multiboot command where
grub-legacy did not.  http://www.mail-archive.com/grub-
devel@xxxxxxx/msg11801.html

This explains the issue with grub2 and multiboot lines seemingly
ignoring the kernel root= command line parameter (xen in particular).

A corrected grub.cfg menuentry section from above would read:

menuentry "Xen 3.5 / Ubuntu, kernel 2.6.31.4-1-xen" {
        recordfail=1
        if [ -n ${have_grubenv} ]; then save_env recordfail; fi
        set quiet=1
        insmod ext2
        set root=(hd0,1)
        search --no-floppy --fs-uuid --set 41102bda-f368-45b9-8066-fa971325b228
multiboot  /xen-3.5-unstable.gz /xen-3.5-unstable..gz
module /vmlinuz-2.6.31.4-1-xen root=/dev/mapper/vg0-root ro quiet splash
module /initrd.img-2.6.31.4-1-xen
}

As you can see, the multiboot argument /xen-3.5-unstable.gz is
duplicated (repeated twice) as it should be to provide a multiboot
kernel filename and name.  This is a new requirement for grub2 (grub-
pc).

--
grub-pc Xen dom0 support
https://bugs.launchpad.net/bugs/461678
You received this bug notification because you are a direct subscriber
of the bug (via bug 216176).