12.2. Переход с LILO на GRUB

Проблема
Вы ознакомились с преимуществами GRUB, описанными в предыдущем разделе.
Сейчас вы используете LILO, но хотите перейти на GRUB, причем так, чтобы не
переделывать всю систему.
Решение
Переход на GRUB не нарушает работоспособности системы.
Прежде всего установите GRUB или обновите программу до последней вер сии. Номер версии определяется командой
$ grub --version
grub (GNU GRUB 0.94)
Затем выполните ряд подготовительных действий:
1. Распечатайте таблицу разделов (fdisk -I | Ipr).
2. Распечатайте файл lilo.conf.
3. Создайте резервную копию данных и держите под рукой диск аварийного вос становления (загрузочную дискету LILO или диск Knoppix).
4. Оставьте установку LILO на случай, если вы захотите вернуться к ней.
Затем выполните следующие действия:
1. Создайте загрузочную дискету GRUB.
2. Установите GRUB в MBR.
3. Загрузите систему.
4. Отредактируйте конфигурационный файл GRUB, menu.1st.
Чтобы создать загрузочную дискету, найдите каталог/grub/i386. Его «офици альное» местонахождение — /urs/lib/grub/i386-pc, но в Red Hat используется ка талог/usr/share/grub/i386-pc. В других дистрибутивах также могут существовать
различия. Скопируйте файлы stagel и stage2 на дискету командой dd:
$ dd if-stagel of=/dev/fdO bs=512 count=l
1+0 records in
1+0 records out
512 bytes transferred in 0.550740 seconds (930 bytes/sec)
$ dd if=stage2 of=/dev/fd0 bs=512 seek=l
209+1 records in
12.2. Переход с LILO на GRUB 195
209+1 records out
107250 bytes transferred in 6.889581 seconds (15567 bytes/sec)
Загрузите систему с дискеты. Теперь необходимо найти корневое устройство,
то есть раздел с загрузочными фаршами GRUB первой и второй стадии загрузки:
grub> find /boot/grub/stagel
(hdO.O)
Задайте корневое устройство:
grub> root (hdO.O)
Обратите внимание: в GRUB используется собственная схема нумерации раз делов. Запись hdO,O соответствует/dev/hdal (см. подраздел «Комментарий»),
Теперь установите GRUB в MBR (первый сектор первого диска):
grub> setup (hdO)
Пора завершить загрузку. Снова задайте корневое устройство:
grub> root (hdO.O)
Введите путь к ядру и корневой файловой системе. Данные берутся из файла
lilo.conf. Обязательно присоедините ключ го, чтобы ядро и корневая файловая
система монтировались только для чтения:
grub> kernel /boot/vmlinuz-2.4.21 root=/dev/hdal ro
He путайте root в строке kernel с корневым устройством. Root в строке kernel
идентифицирует корневую файловую систему, тогда как корневым устройством
называется раздел, содержащий каталог /boot.
Вероятно, теперь стоит создать меню загрузки GRUB. За подробностями об ращайтесь к рецепту 12.9.
Комментарий
Всегда проверяйте диски аварийного восстановления перед тем, как их использо вать.
GRUB использует собственную схему нумерации разделов; отсчет начинается
с 0, а не с 1. Диски IDE и SCSI обозначаются hd, а флоппи-дисководы обознача ются fd.
Таблица разделов Linux:
О 1-4-первичныеразделы;
О 5 и выше — расширенные разделы.
В GRUB она принимает следующий вид:
О 0-3 — первичные разделы;
О 4 и выше — расширенные разделы
Дополнительные диски обозначаются hdl, hd2 и т. д. Таким образом, hdO,3 —
то же самое, что /dev/hda4, a hdl,5 соответствует /dev/hdb6.
также
Раздел «Введение» настоящей главы; раздел 12.7; раздел 12.9; The Grub Manual
(http://www.gnu.org/software/manual/grub.html); info grub.