Linux для пользователя
Шрифт:
Дадим некоторые пояснения к этому примеру.
Строка boot указывает загрузочное устройство.
Строка compact включает режим сжатия map-файла, содержащего характеристики загрузочных ядер; это ускоряет начальную
С помощью команды message можно заставить загрузчик выдавать при загрузке произвольное сообщение.
Начиная со строки image, идут секции конфигурационного файла, соответствующие разным операционным системам, которые должны загружаться по выбору пользователя. В каждой такой секции имеется строка label. В этой строке записывается имя, которое вводится в ответ на приглашение LILO или является командой меню и служит для выбора пользователем загружаемой ОС. Если имя не введено по истечении времени, заданного строкой delay (задается в десятых долях секунды), будет загружена ОС, выбираемая по умолчанию. В данном случае по умолчанию будет загружаться Linux, поскольку соответствующая ей секция стоит первой в файле. Можно указать загружаемую по умолчанию систему с помощью строки вида default=dos (т. е., используя метку из соответствующей строки label).
Строка table=‹device› содержит указание на устройство, на котором находится таблица разбиения диска. LILO не передает информацию о разбиении загружаемой операционной системе, если эта переменная не задана. (Некоторые операционные системы имеют другие средства для определения того, из какого раздела они загружены.) Не забывайте, что необходимо выполнить команду /sbin/lilo, если вы изменили ссылку на таблицу разбиения, задаваемую переменной table.
Если вы задали строку (лучше сказать, секцию) other = /dev/hda1 в файле /etc/lilo.conf, то в корневом каталоге диска /dev/hda1 (диска C: в терминологии Microsoft) должен находиться вторичный загрузчик. У меня, например, на одном из компьютеров с многовариантной загрузкой там находится NT Loader (поскольку Windows NT была установлена до Linux), и LILO успешно загружает Windows NT. Только надо установить в файле boot.ini задержку времени равной нулю, чтобы не получать собственного меню загрузки NT Loader. Впрочем, если вы хотите по каким-то причинам видеть это меню, то значение timeout в файле boot.ini надо задать отличным от нуля (задается в секундах). Это может понадобиться, например, для обеспечения возможности загружать Windows 98 как еще один вариант ОС.
Если вы хотите грузить Windows непосредственно из LILO, то добавьте в /etc/lilo.conf еще одну секцию:
где файл bootsect.dos берется из корневого каталога того диска, на котором стоит NT Loader.
5. После того, как вы откорректировали файл /etc/lilo.conf, необходимо выполнить команду /sbin/lilo, чтобы изменения вступили в силу. Эта команда (которая в руководстве называется map-installer) устанавливает вторичный загрузчик системы, который будет активизирован во время следующей загрузки машины. Прежде, чем запускать /sbin/lilo для модификации загрузочных процедур, выполните эту команду с параметром -t. При этом будет выполнена вся процедура инсталляции загрузчика, кроме изменения map-файла, записи модифицированного загрузочного сектора и изменения таблицы разбиения диска, то есть выполнен тест нового варианта. Если добавить еще опцию -v, вы получите более подробную информацию о том, что будет делать команда /sbin/lilo.
Когда /sbin/lilo перезаписывает загрузочный сектор, старое содержимое этого сектора автоматически сохраняется в файле. По умолчанию это файл /boot/boot.NNNN, где NNNN соответствует номеру устройства, например, 0300 - это /dev/hda, 0800 - это /dev/sda и т. д. Если такой файл уже существует, он не перезаписывается. Но можно задать альтернативный файл для сохранения загрузочного сектора.
Файл /boot/boot.NNNN можно использовать для восстановления старого содержимого загрузочного сектора, если более простой метод его восстановления недоступен. Соответствующие команды имеют вид:
или
(bs=446 потому что восстанавливаем только программу-загрузчик, и не трогаем таблицу разбиения диска).
Копию загрузочного сектора лучше сохранить на дискете. В случае, если неприятности произойдут, вы сможете восстановить старую загрузочную запись MBR, выполнив команду (предполагается, что дискета смонтирована в каталог /mnt):
Восстановить старый MBR при необходимости можно также командой /sbin/lilo с опцией -u. Только надо иметь в виду, что эта команда отрабатывает корректно при условии, что каталог LILO (а именно, /boot) не изменялся со времени инсталляции.
Стандартный MBR от MS-DOS может быть восстановлен также, если воспользоваться загрузочной дискетой системы DOS, восстановив MBR командой fdisk /mbr. Она изменяет только код программы-загрузчика в MBR, не изменяя таблицу разбиения диска.
6. После переустановки загрузчика надо перезагрузить компьютер, опробовав разные варианты загрузки.
В заключение подраздела приведем некоторые сведения о том, какие затруднения могут возникать при использовании LILO.
Когда LILO загружается, он выводит на дисплей слово "LILO". При этом вывод каждой буквы обозначает завершение определенного действия или этапа загрузки LILO. Если загрузка сорвется, то по числу выведенных букв можно судить о причине возникновения проблемы.
• Ничего не выведено– никакая часть LILO не была загружена. Либо LILO не был установлен, либо раздел, на котором он находится, не является активным.
• L [код ошибки] - первичный загрузчик загрузился и стартовал (на него передано управление), но он не сумел загрузить вторичный загрузчик. Двухзначный код ошибки указывает на конкретную причину проблемы (расшифровку кодов надо искать в технической документации на LILO). Обычно это связано с дефектами носителя или неправильно заданной геометрией диска. Если только LILO не остановился на этом этапе, выдавая бесконечную последовательность кодов ошибки, проблема обычно легко решаема.
• LI– первичный загрузчик сумел загрузить вторичный загрузчик, но не сумел запустить его на выполнение. Это может быть вызвано ошибкой в задании геометрии диска или тем, файл /boot/boot.b был перемещен без перезапуска /sbin/lilo.
• LIL– вторичный загрузчик запустился, но не смог загрузить таблицу дескрипторов из map-файла. Причина обычно состоит в наличии дефектов на диске или неправильно заданной геометрией диска.
• LIL?
– вторичный загрузчик был загружен по неправильному адресу. Обычно вызвано ошибкой в задании геометрии диска или тем, что файл /boot/boot.b был перемещен без перезапуска /sbin/lilo.