Возможный дубликат:
Ubuntu не помещает Fedora в меню GRUB
У меня установлена Windows XP, а вчера я установил Fedora 15. Обновил его сегодня до 17 и установил Ubuntu. После установки ubuntu он испортил grub. Grub
больше не найдет федору. Я пробовал загрузиться с Live CD и установить Boot-Repair
. Он находит Raid
юнит, запрашивает mdadm
. Пробовал с mdadm
и без dmraid
. Нет прогресса. Когда я перехожу к своим файлам, на живом компакт-диске появляется модуль Fedora. Что я сделал не так? ха-ха
Думаю, дело в этом рейдовом отряде.
Проверьте, установлен ли пакет 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 @@ list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '` - if [ "$list" ] && ! $in_submenu; then - echo "submenu \"Previous Linux versions\" {" - in_submenu=: - fi done -if $in_submenu; then - echo "}" -fi
и снова запустите sudo update-grub
.