Лиловая грубость Евгений Зобнин aka j1m Хакер, номер #086, стр. 086-104-2 [приручение строптивого] Перед тем как перейти к установке GRUB в MBR, нам нужна хоть какая-то начальная конфигурация. В каталоге /boot/grub создаем файл menu.lst с таким содержимым: # vi /boot/grub/menu.lst title Linux root (hd0,0) kernel /vmlinuz root=/dev/hda2 В GRUB разделы именуются особым образом. Так, (hd0,0) - это первый раздел на первом диске (hda1 в терминологии Linux), а (hd0) - весь диск (то есть hda). Пятый раздел будет обозначаться как (hd0,4), третий на втором диске (IDE-канале) - (hd2,2) и так далее. Приведенного примера достаточно для загрузки Linux. Мы создали один элемент меню под названием Linux, при выборе которого GRUB должен будет перейти на раздел (hd0,0) (здесь и далее по тексту (hd0,0) - это условное обозначение для раздела, содержащего /boot), а затем загрузить образ ядра из файла /vmlinuz (то есть /boot/vmlinuz, если считать от корня) и передать ему параметр "root=/dev/hda2" (укажи свой раздел, на котором расположен корень файловой системы Linux). [методы установки] Все предварительные этапы закончены, начинаем установку GRUB в MBR. Но сначала все же немного теории об архитектурном устройстве загрузчика. GRUB, как и большинство других менеджеров загрузки, представляет собой «многоголовую» программу. Первая ее часть (размером в 512 байт) устанавливается в MBR (загляни в /boot/grub, ее образ хранится в файле stage1). Получив управление, она проводит предварительную инициализацию и передает эстафету второму компоненту (в GRUB он обозначается как 1.5), расположенному в заранее определенном месте (обычно это свободная область рядом с MBR). Все, что должен сделать этот компонент, - загрузить третью и основную часть загрузчика (stage2, она как раз и выведет наше меню) непосредственно из файловой системы. Чтобы проделать это, второй компонент должен понимать структуру файловой системы, на которой расположена основная часть. Поэтому GRUB во время установки определяет тип раздела и выбирает правильный файл с образом второго компонента из имеющихся (они все имеют окончание "_stage1_5"), в нашем случае e2fs_stage1_5 для ext2. Существует два способа установки GRUB: a) простой и правильный и б) сложный и неправильный (как бы парадоксально это не звучало). Пойдем по правильному пути. Запускаем /boot/grub/grub и в ответ на приглашение вводим две команды: root (hd0,0) setup (hd0) Команда root задает раздел, на котором расположен наш каталог grub (/boot/grub), а команда setup устанавливает загрузчик в MBR диска hda. Вот и все, GRUB достаточно интеллектуален, чтобы найти образы всех элементов загрузчика и наш конфиг menu.lst. |