doc:grub

Это старая версия документа.


Что такое Grub

GNU GRUB (GRand Unified Bootloader) программа-загрузчик операционной системы. В Ubuntu используется по умолчанию.

GRUB может загрузить практически любую ОС, имеющуюся на вашем компьютере, а также в сети и, при некоторых ухищрениях, на CD/DVD (даже если этого не поддерживает BIOS вашего комьютера в виду его почтенного возраста).

GRUB также поддерживает множество файловых систем: BSD FFS, DOS FAT16 и FAT32, Minix, ext2, ext3, ReiserFS, JFS, XFS, VSTa.

/boot/grub/menu.lst

/boot/grub/menu.lst файл конфигурации GRUB в Ubuntu.

В файле описываются пункты загрузучного меню. Каждый пункт начинается ключевым словом title, текст содержащийся после него на той же строке и является названием пункта меню. На следующих строках следует описание действий, выполняемых загрузчиком при выборе соответствующего пункта.

# определяет какой блок title будет загружаться по истечению времени timeout если не нажимать никаких клавиш. Блоки title нумеруются по порядку начиная с 0 (нуля).
default 0

# время для выбора режима загрузки (в секундах).Если пользователь ничего не трогает, по истечении тайм-аута выбирается метка, указанная в поле default.
timeout 10

# Блок, вроде такого, отвечает за загрузку Windows:
# название пункта меню
title Microsoft Windows XP
# определение раздела с ОС
rootnoverify (hd0,0)
# придание разделу статуса активного
makeactive
# передача загрузки NTLDR
chainloader +1

# Linux загружается примерно так:
# название пункта меню
title Ubuntu 7.10 kernel 2.6.22
# определение раздела с ОС
root (hd0,1)
# передача загрузки ядру, возможно, вместе с дополнительными параметрами
kernel /vmlinuz root=/dev/hda2

Самая ответственная операция, как вы, наверное, догадались — правильно указать корневой диск и раздел, с которых продолжится загрузка системы.

Жёсткие диски и разделы на них GRUB именует по-своему, в виде (hdномер_диска,номер_раздела), причём нумеровать начинает с нуля. Тут важно знать вот что: (hdX,Y) — означает Y+1-ый раздел на X+1-ом диске. То есть (hd1,0) — это первый раздел второго диска в вашем компьютере (в нотации GRUB (да и Linux) диски и разделы нумеруются с нуля, только и всего). Тем, кто привык к буквенным обозначениям в Windows, без них будет тяжеловато, но дистанцироваться от них следует хотя бы потому, что они непостоянны и могут изменяться (в результате чего, возникают известные проблемы). Диски нумеруются в соответствии с подключением, разделы — в соответствии с порядком следования на диске. Как правило, (hd0,0) — это первый раздел master-диска подключенного к основному (primary) IDE-контроллеру либо к нулевому SATA порту.

Есть у GRUB и командный режим (попасть в него можно, остановив загрузку клавишей Esc и нажав C). Набрав в командном режиме help, вы получите список всех доступных команд.

help имя_команды  

поможет получить краткую справку по соответствующей команде GRUB.

Если загрузиться вдруг не получается, то вы всегда можете перевести GRUB в режим редактирвоания нажатием клавиши E, после этого вы вручную сможете отредактировать параметры загрузки.

Кроме того, для конфигурирования GRUB есть как минимум две GUI-утилиты для редактирвоания файла menu.lst. Из исходников (не бойтесь, в данном случае это действительно просто) можно установить GRUBed, а в репозитариях есть StartUp-Manager.

C помощью GRUB и Gfxboot можно организовать и графическое загрузочное меню. Сделать это не сложно, к тому же существует много готовых тем.

Похожие программы

LILO (LInux LOader)
Das U-Boot

Ссылки

Как восстановить GRUB после переустановки Windows

официальное руководство (на английском)

русское FAQ, где затронуты вопросы загрузки с CD/DVD и паролирования определенных пунктов (MD5-хеши хранятся прямо в конфигурационном файле);

Самодостаточный GRUB - статья , описывающая способы содержания на одном диске нескольких ОС.