Grub 找不到 Xen 多重引导文件

Grub 找不到 Xen 多重引导文件

我在带有 LVM 的软件 RAID 0 上运行 Debian Wheezy。我试图让 Xen 工作,但 grub 拒绝在其中启动。我按照以下说明安装了 Xen:http://wiki.debian.org/Xen

到达后

multiboot       /boot/xen-4.1-amd64.gz placeholder dom0_mem=4096M

我明白了

error: couldn't open file

其次是

error: you need to load the multiboot kernel first

不过文件没有任何问题。以下是 Xen 的 grub.cfg 条目:

menuentry 'Debian GNU/Linux, with Xen 4.1-amd64 and Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os --class xen {
        insmod raid
        insmod mdraid1x
        insmod lvm
        insmod part_msdos
        insmod part_msdos
        insmod ext2
        set root='(vg00-dom0-root)'
        search --no-floppy --fs-uuid --set=root 681448b8-7afb-4a25-9830-490dfc0f29a3
        echo    'Loading Xen 4.1-amd64 ...'
        multiboot       /boot/xen-4.1-amd64.gz placeholder dom0_mem=4096M
        echo    'Loading Linux 3.2.0-4-amd64 ...'
        module  /boot/vmlinuz-3.2.0-4-amd64 placeholder root=/dev/mapper/vg00-dom0--root ro initrd=/install/initrd.gz quiet
        echo    'Loading initial ramdisk ...'
        module  /boot/initrd.img-3.2.0-4-amd64
}

下面是我的常规启动项。它非常相似,并且运行完美。

menuentry 'Debian GNU/Linux, with Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os {
        load_video
        insmod gzio
        insmod raid
        insmod mdraid1x
        insmod lvm
        insmod part_msdos
        insmod part_msdos
        insmod ext2
        set root='(vg00-dom0-root)'
        search --no-floppy --fs-uuid --set=root 681448b8-7afb-4a25-9830-490dfc0f29a3
        echo    'Loading Linux 3.2.0-4-amd64 ...'
        linux   /boot/vmlinuz-3.2.0-4-amd64 root=/dev/mapper/vg00-dom0--root ro initrd=/install/initrd.gz quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-3.2.0-4-amd64
}

我知道这看起来像是“请帮我解决我的问题”之类的问题,但这根本不是我的本意。我已经花了几个小时在谷歌上搜索和尝试各种方法,但我找不到任何能让我更接近答案的东西。我在网上找到的最接近答案的答案是某人忘记在 grub.cfg 中添加“搜索”行。在我看来,这似乎不是问题所在,因为“搜索”似乎对我的常规启动项来说工作正常。

我真的希望有人能给我指明正确的方向,以便我找到解决方案。

谢谢你!

答案1

我在 Google 上搜索了“xen grub2 multiboot”,发现了一个类似的问题超级用户

我认为答案的基础是内核不匹配。解决方案中缺少 /boot 前缀,这让我感到奇怪,但可能是他确实将 /boot 放在了它自己的分区上。

答案2

我遇到过类似的问题。我认为您的问题是由于您的 Xen-Image 已压缩,但您却忘记在 Xen 的菜单项中“insmod gzio”造成的。

相关内容