12.9. Создание меню загрузки в GRUB
Проблема
Конечно, искать корневые устройства и ядро в командной консоли GRUB весьма увлекательно, но вы, вероятно, предпочтёте сохранить параметры загрузки в конфигурационном файле и использовать меню загрузки при запуске системы. В этом меню задаются параметры по умолчанию, а также содержится список всех установленных операционных систем.
Решение
Включите загрузочные записи в конфигурационный файл GRUB — это файл /boot/grub/menu.lst
(в Red Hat используется grub.conf
, который является символической ссылкой на menu.lst
). Каждая загрузочная запись в GRUB называется строфой (stanza). Базовая конфигурация строфы выглядит следующим образом:
title Fedora Core
root (hd0,0)
kernel /boot/vmlinuz-2.4.22-1 root=/dev/hda1 ro
initrd /boot/initrd-2.4.22-1.img
Название (title) строфы выбирается произвольно, но его присутствие обязательно, так как оно сообщает GRUB, где начинается каждая строфа, и определяет содержимое пункта меню загрузки. Остальные строки содержат информацию, которая вводится в командной строке GRUB. В отличие от командной строки, команду boot
в файле menu.lst
указывать не нужно — GRUB выполнит загрузку автоматически по указанным параметрам.
В меню можно включить сколько угодно операционных систем, каждая система представляется отдельной строфой, как та, что приведена выше. Важно убедиться, что строка kernel
указывает на правильный раздел и образ ядра. В одном корневом разделе может находиться несколько ядер, и разные конфигурации часто используют один и тот же загрузочный раздел (что даже рекомендуется).
Комментарий
Важно помнить, что корневое устройство, заданное строкой root (hd0,0)
, определяет местонахождение каталога /boot
. Система нумерации дисков и разделов в GRUB отличается от привычной для Linux — первая цифра обозначает диск (hd0 — первый жёсткий диск), вторая — раздел (0 — первый раздел). В строке kernel /boot/vmlinuz-2.4.22-1 root=/dev/hda2 ro
параметр root
указывает на корневую файловую систему с использованием имени устройства ядра (в данном случае — второй раздел на первом жёстком диске).
См. также
The Grub Manual; info grub.