![Ubuntu 搞乱了我的 Grub](https://linux22.com/image/963227/Ubuntu%20%E6%90%9E%E4%B9%B1%E4%BA%86%E6%88%91%E7%9A%84%20Grub%20.png)
我安装了 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-default
和grub-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
。