Ubuntu 搞乱了我的 Grub

Ubuntu 搞乱了我的 Grub

可能重复:
Ubuntu 不会将 Fedora 放入 GRUB 菜单

我安装了 Windows XP,昨天安装了 Fedora 15。今天将其更新到 17,并安装了 Ubuntu。安装 ubuntu 后,它搞乱了 grub。Grub再也找不到 fedora 了。我尝试从 Live CD 启动并安装Boot-Repair。它找到一个Raid单元,要求mdadm。尝试使用mdadm,但没有dmraid。没有进展。当我转到我的文件时,在 live cd 中,会出现 fedora 单元。我做错了什么?哈哈,我想,这是关于这个 raid 单元的问题。

答案1

使用 检查该包是否os-prober已安装在 Ubuntu 中dpkg -l os-prober

如果未安装,则:

sudo apt-get install os-prober
sudo update-grub

顺便说一句,Ubuntu 12.04 对 grub 菜单做了一些可怕的事情/etc/default/grub。您可能需要编辑它以注释掉以下几行:

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

并在其位置添加这些内容:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_TIMEOUT=5

这将阻止 grub 菜单在启动时被隐藏,并将您从菜单中选择的任何内容作为下一个默认设置。它还允许grub-set-defaultgrub-reboot工作(当 GRUB_DEFAULT 硬编码为 0 时,它们不起作用)。

编辑后不要忘记运行sudo update-grub,然后sudo grub-set-default 0确保它具有合理的默认值。

另外,如果你不喜欢它用来隐藏旧内核的子菜单,那么请/etc/grub.d/10_linux像这样修补:

--- 10_linux.orig 2012-05-17 07:07:17.000000000 +0000
+++10_linux 2012-08-27 03:46:54.803088897 +0000
@@ -254,12 +254,12 @@

   列表 = `echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`

- 如果 [ "$list" ] && !$in_submenu; 那么
- echo "子菜单 \"以前的 Linux 版本\" {"
- 子菜单=:
- 菲
 完毕

-如果 $in_submenu; 那么
-回声“}”
-fi

然后再次运行sudo update-grub

相关内容