GRUB — загрузчик Ubuntu и многого другого

По умолчанию для загрузки Ubuntu используется загрузчик GRUB (GRand Unified Boot Loader). Сравниться с ним по популярности в кругу Linux-дистрибутивов для ПК, пожалуй, может только LILO (LInux LOader), а на общесистемной арене — NTLDR, загружающий Windows XP/2000/2003 Server. Всего же загрузчиков существует много, (уж, не меньше, чем архитектур).

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

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

Файл конфигурации GRUB в Ubuntu по умолчанию таков: /boot/grub/menu.lst

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

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

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

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

Как адресуются диски и разделы в GRUB?

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

Альтернативные режимы GRUB

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

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

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

Например, find /boot/vmlinuz покажет в каких разделах располагается ядро (или ядра, если их несколько) Linux на вашей машине.

Что почитать про GRUB?

К счастью, про GRUB и загрузку написано много. Поэтому всем заинтересовавшимся предлагаю небольшую коллекцию ссылок по теме:

  • официальное руководство (на английском);
  • русское FAQ, где затронуты вопросы загрузки с CD/DVD и паролирования определенных пунктов (MD5-хеши хранятся прямо в конфигурационном файле);
  • русская статья, описывающая способы содержания на одном диске нескольких ОС.

Конфигурирование GRUB через GUI-утилиты

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

Установить последний просто:
sudo aptitude install startupmanager

Запустить программу далее можно через меню: Система > Администрирование > StartUp-Manager.

startup_manager-1259880

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

О загрузке Linux в целом

Тех, кто задумал раз и навсегда разобраться с процессом загрузки вообще (а не только над тем, как с помощью GRUB подружить пару систем на своём компьютере) и системы Linux в частности, отправляю к соответствующей главе книги Г. Курячего и К. Маслинского «Введение в ОС Linux» — «Этапы загрузки системы», а с конкретными рецептами по решению проблем с загрузкой можно ознакомится на сайте для системных администраторов.

»

Оцените статью
Про Ubuntu — блог о популярном СПО GNU/Linux-дистрибутиве Ubuntu (Убунту Линукс)