Введение Grub2

Конфигурация Grub2 хранится в grub.cfg, который создается с помощью различных скриптов выполняемых при запуске команды update-grub. Файлы, в первую очередь отвечающие за содержимое grub.cfg это /etc/default/grub и индивидуальные сценарии в /etc/grub.d/.

Когда выполняется update-grub, Grub2 ищет ядра Linux и другие операционные системы. Что и где он смотрит, зависит от сведений, находящихся в каталоге /etc/grub.d/:

$ ls /etc/grub.d/
00_header  05_debian_theme  10_linux  20_memtest86+  30_os-prober  40_custom  README

. 10_linux ищет установленные ядра Linux на текущем разделе. 30_os-prober ищет другие операционные системы.

Восстановление Grub2

Восстановление Grub2, например после переустановки Windows XP, в случае системы с двойной загрузкой (Windows, Хостинг VPS/VDS на Ubuntu).

Пошаговая инструкция

  • Загружаемся с LiveCD Ubuntu
  • $ sudo bash
    # fdisk -l

    запоминаем, какое устройство в этом списке содержит корневую файловую систему вашей Ubuntu. В нашем примере это sda5. Если загрузочный раздел /boot был вынесен в отдельный раздел его тоже необходимо подмонтировать вместе с корневым разделом.

  • Монтируем корневой раздел, в случае необходимости монтируем и раздел /boot
    # mount /dev/sda5 /mnt
    # mount /dev/sda? /mnt/boot

    замените ? на соответствующий вывод команды Использование fdisk.

  • Смонтируйте оставшиеся устройства
    # mount --bind /dev /mnt/dev

    . На данном этапе разделы Windows не трогать.

  • В терминале выполните Chroot системный вызов и утилита в Linux для установки файловой системы Ubuntu в качестве корневой.
    # chroot /mnt
  • Выполним update-grub и следующей командой установим Grub 2 в основную загрузочную запись (MBR).
    # update-grub
    # grub-install /dev/sda

    Если возникли ошибки можно попробовать такую команду

    # grub-install --recheck /dev/sda
  • Ctrl+D для выхода из Chroot системный вызов и утилита в Linux и отмонтируем разделы
    # umount /mnt/dev
    # umount /mnt
  • После этого перегружаемся.
  • В меню загрузки мы не увидим Windows. Для того чтобы запись появилась нужно загрузиться в Ubuntu и выполнить две команды:
    $ sudo update-grub
    $ sudo grub-install /dev/sda
  • После перезагрузки в меню появится возможность загружать Windows.
Подобную процедуру можно выполнить независимо от вида ОС установленной вторым номером.

Включение безопасного режима в Ubuntu 9.10 в grub2

# cp /etc/default/grub /etc/default/grub.orig
# nano /etc/default/grub
...
#Меняем 3 параметра
GRUB_HIDDEN_TIMEOUT=10 #если оставить по умолчанию 0 - мне пришлось подтверждать загрузку, а так через 10 секунд само загрузится
GRUB_HIDDEN_TIMEOUT_QUIET=false # не уловил - но по видимому работает в связке с параметром GRUB_HIDDEN_TIMEOUT
...
GRUB_DISABLE_LINUX_RECOVERY="false" #чтобы вообще меню появилось как таковое
# update-grub

Рабочий конфиг для Ubuntu 10.10

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=20
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
PQ VPS сервера в 28+ странах.