Перевод статьи «LILO and GRUB: Boot Loaders Made Simple» с сайта LinuxDevCenter.com LILO (LInux LOader) и GRUB (GRand Unified Bootloader) оба настраиваются в качестве первичных загрузчиков (устанавливаются в MBR) или вторичных загрузчиков (устанавливаются на загрузочный раздел). Оба работают с поддержкой таких операционных систем, как Linux, FreeBSD, NetBSD и OpenBSD. Они могут работать с неподдерживаемыми операционными системами, например, Microsoft Windows XP, с помощью конфигурационного файла. Оба позволяют суперпользователям загружаться в режиме одного пользователя. LILOLILO — стандарт для всех дистрибутивов Linux. Для работы с LILO, администратор правит файл /etc/lilo.conf, устанавливая раздел для загрузки по умолчанию, значения таймаута, какие пункты должны отображаться в меню, параметры ядра, какой раздел монтировать в качестве корневого, загружать ли первоначально или нет диск RAM, где LILO должен быть установлен и другую информацию. Затем администратор должен обновить загрузчик запустив командой LILO. MBR или Корневой Раздел По умолчанию, файл настроек читает LILO. Файл настроек сообщает LILO, где должен размещаться загрузчик. В общем, вы можете либо указать главную загрузочную запись (MBR) на первом физическом диске (/dev/hda), либо корневой раздел вашей установки Linux (/dev/hda1 или /dev/hda2). Первая стадия загрузки LILO завершена, когда LILO выводит в порядке друг за другом буквы: L-I-L-O. Когда вы увидите приглашение LILO, вы будете на второй стадии. Если у вас есть WINXP, установленная в MBR вашего жесткого диска, устанавливайте LILO в корневой раздел вместо MBR. Если вы хотите загружать Linux, вам надо пометить раздел LILO как загрузочный. Если вы не перезапишете сектор главной загрузочной записи, вам будет проще деинсталлировать Linux и LILO. Если вы начинаете с LILO, вы можете начать правку файла настроек. Для пользователей Linux, переходящих на LILO, вам надо получить последнюю версию LILO. Прежде чем начать работать с LILO, у вас должен быть аварийный загрузочный диск Linux на случай возникновения проблем при загрузке системы с жесткого диска, CD-ROM или другого устройства хранения данных. После того, как вы установите LILO в вашу систему, вы можете перезаписать вашу MBR. Наберите, загрузившись под root: # /sbin/lilo –v -v Файл настроек LILO. Далее приводится пример файла /etc/lilo.conf. Вам необходимо следовать соглашению присваивания имен в стиле Linux (для ядра 2.6.23-13). У вас могут быть много образов ядер на той же системе /boot. Скачайте последнии версии ядра Linux, прежде чем приступите к правке файла настроек. Для изучения других параметров, обратитесь к страницам руководства (man lilo.conf). boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 compact default=Linux image=/boot/vmlinuz-2.6.23-13 label=Linux read-only root=/dev/hdb3 password=Linux image=/boot/vmlinuz-2.4.18-14 label=ker2418 read-only root=/dev/hdb3 other = /dev/hda label = WindowsXP Опция boot сообщает LILO установить загрузчик в MBR первого жесткого диска. Опции map и install указывают файлы, которые LILO использует непосредственно в процессе загрузки. Не меняйте эти строки. При загрузке, загрузчик будет ждать пять секунд нажатия клавиши Shift. Если этого не произошло, первое ядро будет загружено. Если же вы нажали, загрузчик спросит, какой образ грузить. Если вы забыли возможные варианты, нажмите Tab и вам будет предоставлено меню. Теперь у вас есть выбор загрузки Linux, ker2418 или WindowsXP. После того, как вы сделаете выбор, вы увидите, что опция compact ускоряет процесс загрузки. Загрузка Linux запросит у вас ввод пароля к образу. Вы можете добавить опцию fallback= После этого lilo.conf не будет считываться во время загрузки, MBR требуется обновления при изменении. Также как и при записи LILO в MBR, вам нужно выполнить: $ /sbin/lilo –v -v Устранение неполадок Когда вы устанавливаете Microsoft Windows на компьютер, на котором установлена операционная система Linux, Windows может перезаписать или деактивировать менеджер загрузки Linux. И в результате у вас больше не будет доступа к Linux. Вот как можно исправить эту проблему. Если LILO установлен в MBR, перезагрузите компьютер, используя загрузочную дискету Linux, и запустите программу LILOCONF с дискеты. Если LILO был установлен в суперблок, используйте команду FDISK для активации раздела Linux. Другим возможным решением будет удалить разделы Linux на компьютере с Windows, перезагрузить компьютер и затем использовать Partition Magic для создания разделов Linux. Эта утилита идет вместе с BootMagic, которая позволяет вам переключать операционные системы. Для разрешения системных исправлений Linux, вы можете ввести rescue в загрузочной строке для загрузки Linux в режиме одного пользователя. Похожим на rescue образом, вы также можете ввести single, чтобы попробовать загрузиться с вашего жесткого диска. Вы также можете использовать root= GRUBGRUB объединяет установки с помощью одной команды установки и позволяет использовать шифрование MD5 для паролей. Если файл настроек сконфигурирован неправильно, система возвращается в режим командной строки. MBR или Корневой Раздел Если у вас есть WINXP, установленная в MBR на вашем жестком диске, устанавливайте GRUB в корневой раздел вместо MBR. Ещё лучше будет использовать grubinstall.exe, установщик GRUB для Windows. Эта программа конфигурирует GRUB таком образом, что он может быть установлен внутри NTFS или FAT раздела в Windows NT/2k/XP и может загружаться из загрузчика по умолчанию NTLDR. Это значит, что вы можете безопасно установить этот загрузчик и удалить его, не трогая MBR и без риска возникновения проблем с диском. Пользователям Linux, желающим перейти на GRUB, необходимо взять последнюю версию GRUB. Прежде чем начать работать с GRUB, у вас должен быть аварийный загрузочный диск Linux на случай возникновения проблем при загрузке системы с жесткого диска, CD-ROM или другого устройства хранения данных. После того, как вы установите GRUB в вашу систему, вы можете перезаписать вашу MBR. Наберите, загрузившись под root: # /boot/grub/grub Теперь вы можете использовать GRUB: grub> install (hd1,2)/boot/grub/stage1 (hd1) (hd1,2)/boot/grub/stage2 p (hd1,2)/boot/grub/menu.conf В то время, как это может показаться тяжелым для чтения, с первого взгляда, это является более эффективным способом, чем эквивалентные варианты LILO. Установка образов stage1 и stage2 и настройки соединены в одну команду установки. Давайте посмотрим на установку stage1 в этой команде: install (hd1,2)/boot/grub/stage1 (hd1) Здесь прописано, что GRUB устанавливает первый образ на третий раздел второго диска, по аналогии с hdb3 в LILO. Он также прописывается в MBR того же диска. Во второй части команды устанавливается образ stage2: (hd1,2)/boot/grub/stage2 Наконец, установка завершается с указанием расположения файла настроек: p (hd1,2)/boot/grub/menu.conf Файл настроек GRUB Далее следует пример файла /boot/grub/grub.conf. default=0 timeout=10 splashimage=(hd1,2)/grub/splash.xpm.gz password --md5 [зашифрованный пароль] title Linux password --md5 [зашифрованный пароль] root (hd1,2) kernel /vmlinuz-2.6.23-13 ro root=LABEL=/ initrd /initrd-2.6.23-13.img title Windows XP password --md5 [зашифрованный пароль] rootnoverify (hd0,0) chainloader +1 Опция default сообщает GRUB, какой образ загружать по умолчанию по прошествии таймаута. Опция splashimage указывает расположения изображения, которое будет использоваться на заднем плане GRUB GUI. Опция password указывает MD5 пароль, чтобы ограничить доступ к выбору опций GRUB. Для генерирования пароля в MD5, запустите утилиту grub-md5-tool под root. Скопируйте результат в файл настроек GRUB. Вы можете создавать различные пароли для каждой записи в файле. Опция initrd указывает файл, который будет загружен во время загрузки в качестве первоначального диска RAM. Опция rootnoverify просит GRUB не пытаться изменять суперпользователя ОС. chainloader+1 заставляет GRUB использовать последовательность загрузчиков для загрузки Windows на первом разделе жесткого диска. Она использует blocklist notation для считывания первого сектора текущего раздела с '+1'. Для ознакомления с другими параметрами, обратитесь к руководству по GRUB. Использование запасных систем. GRUB поддерживает механизм перехода в аварийный режим, загружая одну или более записей, в случае если запись по умолчанию перестает работать. Предположим, что у вас есть три системы: A, B и C. A — система, загружаемая по умолчанию. B — резервная система; предполагается, что она грузится безопасно. C — другая резервная система, которая используется в случае, если B не работает должным образом. Давайте представим, что вы хотите, чтобы GRUB загружал первую работающую систему среди A, B и C. Чтобы сделать это, напишите файл настроек, подобный этому: default saved timeout 10 fallback 1 2 title A root (hd0,0) kernel /kernel savedefault fallback title B root (hd1,0) kernel /kernel savedefault fallback title C root (hd2,0) kernel /kernel savedefault GRUB будет загружать сохраненную по умолчанию запись и сохранять резервную запись как запись для следующей загрузки. Когда GRUB пытается загрузить A, он сохраняет 1 в качестве следующей загрузочной записи, так как резервная команда указывает, что 1 — это первая резервная запись. Запись 1 — это B, так что GRUB будет пытаться загрузить B, если A перестанет работать. Точно также, когда GRUB пытается загрузить B, он сохраняет 2 в качестве следующей загрузочной записи, так как резервная команда указывает, что 2 — это следующая резервная запись. GRUB будет загружать C после неудачной попытки загрузить B. Вам следует запустить grub-set-default, если A запускается корректно или вы восстановили A после отказа, так как GRUB всегда устанавливает следующую загрузочную запись в качестве резервной. Вам нужно выполнить следующую команду в скрипте загрузки, таком, как rc.local, для загрузки A по умолчанию: # grub-set-default 0 где 0 — номер загрузочной записи для системы A. Устранение проблем. Давайте представим, что вы установили GRUB, сторонний загрузчик на компьютер с Windows XP. Когда вы попытаетесь запустить этот компьютер после неуспешного обновления до Windows Vista, он не запустится. Вместо этого, появится черный экран с мигающим символом подчеркивания. Программа установки Windows Vista не восстанавливает GRUB. Чтобы исправить эту проблему, используйте Консоль Восстановления Windows XP для записи нового загрузочного сектора на системном разделе. Чтобы сделать это, следуйте следующим инструкциям: 1. Запустите компьютер с Windows XP CD. 2. На экране Welcome to Setup, нажмите R для восстановления Windows. 3. Загрузитесь в установку Windows XP, которую вы хотите восстановить. 4. Наберите fixboot и нажмите Enter. 5. Нажмите y и Enter для подтверждения того, что вы хотите записать новый загрузочный сектор на системный раздел. Когда вы сделаете, появится следующая информация: The new bootsector was successfully written. 6. Наберите exit и нажмите Enter для выхода из Консоли Восстановления. 7. Перезагрузите компьютер и закончите операцию обновления до Windows Vista. 8. Переустановите GRUB. Что лучше? GRUB или LILO?LILO старше и менее мощный. В оригинале LILO не включает в себя GUI-меню (но предоставляет текстовый пользовательский интерфейс). Для работы с LILO администратор должен выполнить много задач в дополнение к правке файлов настроек. GRUB немного проще в администрировании, так как GRUB достаточно умен, чтобы определять местоположения файла /boot/grub/grub.conf при загрузке. Администратору надо только один раз установить GRUB, используя утилиту grub-install. Любые изменения, сделанные в grub.conf будут автоматически использоваться при следующей загрузке системы. В отличии от того, что любые изменения в lilo.conf не будут считываться во время загрузки. MBR требуется перезаписать. В отличие от GRUB, LILO не имеет интерактивный командный интерфейс и не поддерживает загрузку из сети. Если MBR LILO настроен неправильно, система LILO становится неспособной к загрузке. Если же файл настроек GRUB сконфигурирован некорректно, по умолчанию запустится интерфейс командной строки GRUB без риска сделать систему неспособой к загрузке. LILO и GRUB позволяют суперпользователям загружаться в режиме одного пользователя. Оба имеют возможность защиты паролем с одним лишь отличием. В то время как GRUB позволяет использовать зашифрованные в MD5 пароли, LILO обрабатывает только текстовые пароли, которые любой может прочитать файл lilo.conf с помощью команды cat /etc/lilo.conf Если вы новичок, начинайте с LILO, а затем переходите на GRUB. |