无法将 ubuntu 添加到 suse grub

无法将 ubuntu 添加到 suse grub

我正在运行 SuSE 11.2。我在同一台机器上也有 Windows 和 Ubuntu。问题是我无法让 Ubuntu 在 SuSE 的 grub 上显示为引导选项。 Ubuntu 分区位于/dev/sda5.这是我的/boot/grub/menu.lst

# Modified by YaST2. Last modification on Wed Sep 15 13:08:06 SAST 2010
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,2)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.2 - 2.6.31.12-0.2
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.31.12-0.2-desktop root=/dev/disk/by-id/ata-ST3160815AS_9RX3KRP8-part3 resume=/dev/disk/by-id/ata-ST3160815AS_9RX3KRP8-part2 splash=silent quiet showopts vga=0x31a
    initrd /boot/initrd-2.6.31.12-0.2-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.2 - 2.6.31.12-0.2
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.31.12-0.2-desktop root=/dev/disk/by-id/ata-ST3160815AS_9RX3KRP8-part3 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a
    initrd /boot/initrd-2.6.31.12-0.2-desktop

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows
    rootnoverify (hd0,0)
    chainloader +1

#Don’t change this comment – YaST2 identifier: Original name: none#
title Ubuntu 10.04
    root (hd0,4)
    kernel /vmlinuz root=/dev/sda5 ro quiet splash
    initrd /initrd.img

答案1

尝试链式加载 Ubuntu 附带的 GRUB 版本,而不是使用 SuSE 中的相同 GRUB:

title Ubuntu 10.04
    root (hd0,4)
    chainloader +1

这样 Ubuntu 将在自己的分区上管理自己的 GRUB 配置和内核升级。

答案2

您是否尝试从 YaST->Boot Loader->Choose Image 执行此操作,然后填写所有其他选项(例如内核映像等),然后就完成了:)

答案3

我相信 ubuntu 选项位于/etc/grub.cfg.这需要一些解析;我系统上的该文件看起来像一个完整的 shell 脚本,但尾部看起来您应该能够充分解析它以获得您需要的内容。

答案4

你的语法看起来是正确的。我有一些建议。首先尝试脱掉quiet splash。其次,我将列出内核和 initrd 映像的完整路径。

title Ubuntu
    root (hd0,4)
    kernel /boot/vmlinuz-<ubuntu-kernel-version> root=/dev/sda5 ro
    initrd /boot/initrd-<ubuntu-kernel-version>

最后,请确保更新 grub。

  grub --batch --device-map=/boot/grub/device.map < /etc/grub.conf

警告:我不使用 SUSE,我发现了这个命令这里

相关内容