lilo(8)

LILO(8) System Manager's Manual LILO(8)

НАЗВАНИЕ

lilo - устанавливает загрузчик операционных систем

СИНТАКСИС

Основная функция:

/sbin/lilo - установить загрузчик

Часто используемые функции (более подробно см. ниже):

/sbin/lilo -q - запрос списка ядер операционных систем
/sbin/lilo -T - вывод подробной системной информации по интересующей теме
/sbin/lilo -R - для следующей загрузки системы одноразово установить, используемую по умолчанию строчку команды
/sbin/lilo -A - сделать активным или показать активный раздел диска
/sbin/lilo -E - редактировать заголовок или обновить растровый (bitmap) файл
/sbin/lilo -M - установить Главную Загрузочную Запись (MBR) на диск
/sbin/lilo -I - запросить название пути текущего ядра
/sbin/lilo {-u|-U} - убрать загрузчик LILO из MBR и восстановить прежний загрузчик

ОПИСАНИЕ

lilo устанавливает загрузчик (boot-менеджер) общего назначения под названием LILO, который при последующей перезагрузке компьютера позволит загрузить из разных разделов жесткого (жестких) дисков различные операционные системы (если они имеются): Linux, BSD, Unixware, OS/2, Windows 9x/Me/NT/2000/XP, PC/MS DOS :) и т.д. Обычно установка LILO осуществляется во время инсталляции ОС Linux. После следующего включения компьютера и соответственно старта LILO, классическим вариантом является появление приглашения boot:, которое ожидает, когда пользователь введёт имя загружаемого образа. Если в течении некоторого периода времени (это значение хранится в файле /etc/lilo.conf) пользователь не отвечает, загружается образ, принятый по умолчанию (также указан в /etc/lilo.conf). Если LILO применяется для загрузки OC Linux, можно указать одну или более опций для передачи их ядру Linux. Обычно в качестве опций указывают характеристики контроллера жесткого диска: адрес порта ввода/вывода,IRQ, DMA. Вообще команда lilo имеет огромное число опций.

ОПЦИИ

-A мастер-диск [ N ]
Определяет какой раздел является активным на устройстве мастер-диск. Например:

# lilo -A /dev/hda

/dev/hda1

# lilo -A /dev/hdb

/dev/hdb1
Опция, содержащая номер N от 1 до 4, делает активным соответствующий раздел на ведущем (master) устройстве. Например:
# lilo -A '/dev/hda 2'

# lilo -A /dev/hda

/dev/hda2
-b bootdev
Задает имя устройства загрузки, т.е. куда будет установлен загрузчик. Например, "-b /dev/hda" задает Главную Загрузочную Запись (MBR); "-b /dev/sdb5" задает первый расширенный раздел на втором SCSI диске.
-B bitmap-файл
Задает растровый образ в виде bitmap-файл, который появляется на мониторе в графическом режиме при включении компьютера.
-c
Включить сжатие карты ОС. Это позволит объединить несколько запросов чтения из смежных секторов, что должно ускорить процесс загрузки (особенно с дискет).
-C файл-настройки
Использует указанный файл-настройки в качестве файла конфигурации. По умолчанию lilo читает инструкции и список ядер операционных систем из файла /etc/lilo.conf.
-d задержка
Задает задержку в децисекундах (20 = 2 сек) перед автоматической загрузкой первой операционной системы. Это позволит вам, в случае необходимости (когда имеется несколько операционных систем), прервать автозагрузку нажатием клавиши <Shift>, <Alt>, <Ctrl>, <ScrollLock> или <CapsLock> и задать иную ОС. После прерывания автозагрузки должно появится приглашение вида boot:, которое будет ожидать от пользователя ввода имени загружаемого образа. Этот аргумент замещается установкой директивы prompt в файле-настройки (по умолчанию это /etc/lilo.conf).
-D метка
При загрузке по умолчанию, использовать ядро с заданной меткой вместо ядра, которое указано первым в списке.
-E имя_файла.тип
Если .тип является .bmp, тогда указанный файл рассматривается как растровый графический файл, который используется в директиве "bitmap=" файла-настроек. С помощью любого удобного графического редактора можно создать или изменить информацию в растровом (bitmap) файле для заголовка LILO.

Если .тип является .dat, тогда указанный файл рассматривается как конфигурационный файл, задающий параметры растровой графики, которые трансформируются для заголовка LILO в растровый файл с тем же именем_файла.

-f disk-tab
Задаёт файл параметров геометрии диска. (По умолчанию это /etc/disktab.)
-F
Отключить проверку загрузочного сектора для некоторых файловых систем (например, swap, XFS, ...), которые могут быть повреждены установкой LILO в первый сектор раздела. Дело в том, что эти файловые системы используют первый сектор как суперблок. См. также описание опции "-P ignore", которая позволяет пропустить проверку данной таблицы разделов.
-g
Указывает использовать геометрический адрес в виде цилиндр/головка/сектор диска. Её применение ограничено 1023 цилиндром включительно. Эта опция оставлена для совместимости со старыми версиями LILO.
-i boot-loader
В качестве загрузочного сектора использовать содержимое указанного файла boot-loader. (По умолчанию это /boot/boot.b.)
-I метка
Идентифицирует текущий образ ядра, заданный меткой. Метку запущенного (после загрузки системы) ядра можно найти в переменной окружения BOOT_IMAGE или в псевдо-файле `/proc/cmdline'. Команда с этой опцией выведет соответствующий полный путь и имя файла с ядром, файл раскладки (keytable) или инициализируемый в начале загрузки файл виртуального диска (ramdisk) (соответственно через опции "i", "k", "r"). Например:

# lilo -I 'linux-up i'

/boot/vmlinuz-up

# lilo -I 'linux-up k'

us.ktl

# lilo -I 'linux-up r'

/boot/initrd-up.img
-l
Указывает использовать 24-битную логическую (линейную) адресацию секторов вместо традиционной геометрической адресации цилиндр/головка/сектор диска.
-L
Указывает использовать 32-битные Логические Адреса Блоков (LBA) вместо традиционных геометрических адресов в виде цилиндр/головка/сектор диска, тем самым, предоставляя доступ ко всем разделам диска с более чем 1024 цилиндрами.
-m файл-карты
Использовать альтернативный файл-карту, содержащий список ядер операционных систем, вместо используемого по умолчанию.
-M мастер-диск [ mbr-файл ]
Установить Главную Загрузочную Запись (MBR) на указанное устройство мастер-диск. В том случае, если не задан второй аргумент mbr-файл, новый MBR, по умолчанию, копируется из "mbr.b", который содержится внутри файла /sbin/lilo (версия 22.3). Основная таблица разделов на мастер-диске не изменяется. Если никакой серийный номер диска не указан, тогда создаётся произвольный номер, который и записывается в MBR.
-p
Требует интерактивного ввода всей паролей, которые определены как "" в файле конфигурации.
-P {fix|ignore}
Исправить (fix) или пропустить (ignore) `поврежденные' таблицы разделов, т.е. таблицы с несоответствующими одна другой линейными адресами и адресами в виде цилиндр/головка/сектор. Вначале всегда пытайтесь выполнить -P ignore поскольку команда с опцией -P fix перезаписывает таблицу разделов, что при неблагоприятном исходе может привести к разрушению всех таблиц разделов на диске. Опция -P ignore используется также для отмены процедуры тестирования тех типов разделов, которые не допускают установку LILO в загрузочный сектор. Эта опция часто используется с опцией "-F", которая позволяет отключить проверку загрузочного сектора для некоторых файловых систем (например, swap, XFS, ...).
-q
Выводить список ядер операционных систем (не только Linux), которые можно загрузить во время включения компьютера. Например:

# lilo -q

linux-up *
failsafe
Windows
floppy
Этот список обычно хранится в файле /boot/map, который для lilo является основным и содержит названия и расположение ядра(ер) загрузки. Эта опция выводит только список названий. Для получения более детальной информации об установленном загрузчике используйте эту опцию с опцией -v.
-r корневой-каталог
Выполняет команду chroot, передавая ей в качестве аргумента указанный корневой-каталог. Необходимость в этом может возникнуть при загрузке с компакт-диска или дискеты в случае восстановления операционной системы. Новый корневой-каталог должен содержать каталог /dev, а также может нуждаться в /boot каталоге. Ему также может понадобится файл /etc/lilo.conf.

Эта опция используется сценарием mkbootdisk для создания загрузочной дискеты.

-R строка команды
Эта опция позволяет указать определенную строку команды, которая сработает при следующем запуске загрузчика. Потом загрузчик удалит эту строку. Фактически это одноразовая команда. lilo с этой опцией обычно используется в сценариях перезагрузки системы, сразу перед вызовом `shutdown -r'. Эта опция, указанная без аргументов, отменяет строки, помеченные как lock или fallback.
-s save-file
Когда команда lilo перезаписывает загрузочный сектор, она сохраняет резервную копию его прежнего содержимого в файле, имя которого обычно /boot/boot.NNNN, где NNNN означает соответствующее устройство. Эта опция позволяет указать альтернативный файл для резервной копии загрузочного сектора (или, вместе с опцией -u, позволяет указать из какого файла восстановить загрузочный сектор).
-S save-file
Обычно команда lilo не перезаписывает существующий файл резервной копии загрузочного сектора. Эта опция позволяет перезаписать его.
-t
Выполняет только проверку (тест), не записывая реально вновь созданный загрузочный сектор или файл карты. Используйте совместно с опцией -v чтобы узнать, что в действительности lilo собирается сделать.
-T опция
Выводит системную информацию, часть которой берётся из системного BIOS. Эта возможность более удобна по сравнению с загрузкой диагностической дискеты LILO на проблемной системе. опция может принимать одно из следующих значений:

help - вывести список доступных опций диагностики
ChRul - вывести список типов разделов в зависимости от
правил смены (Change-Rules)
EBDA - вывод информации об Extended BIOS Data Area
geom=<диск> вывод информации о геометрии диска, содержащейся в BIOS;
например, geom=0x80
geom - вывести список о геометрии всех дисков
table=<диск> вывод информации об основной таблице разделов диска;
например, table=/dev/sda
video - вывести список графических режимов, которые доступны для
загрузчика
-u [название-диска]
Убрать загрузчик lilo из главной загрузочной записи и восстановить прежний загрузчик. С этой опцией могут использоваться опции '-s' и '-C'. Указывать название-диска не обязательно. Дополнительно происходит проверка временной метки.
-U [название-диска]
Действует аналогично предыдущей опции, но не делается проверка временных меток.
-v
Подробно информирует о происходящем. Указание от одно до пяти опций -v увеличивает уровень информативности. Можно использовать и такой вариант: -v n (где уровень информативности n=1..5).
-V
Выводит информацию о номере версии программы.
-w
Подавляет предупреждающие сообщения.
-x опция
Только для установленных RAID массивов. Для опции могут быть использованы следующие ключевые слова: none, auto, mbr-only или список дополнительных устройств загрузки (без пробелов между ними), указанных через запятую.
-X
Зарезервировано LILO для внутреннего использования. Может приводить к различным результатам в зависимости от используемой версии LILO. Строка начинающаяся с "CFLAGS=" будет содержать опции компилирования, которые были использованы для сборки данной версии LILO.
-z
Когда используется совместно с опцией -M, выполняет очистку серийного номера устройства. Обычно используется при создании нового серийного номера устройства, как например:

lilo -z -M /dev/hda
lilo -M /dev/hda

Приведенные выше опции командной строки соответствуют следующим ключевым словам файла конфигурации, которые показаны ниже.

-b устройство_загрузки boot=устройство_загрузки
-B файл.bmp bitmap=файл.bmp
-c compact
-d dsec delay=dsec
-D метка default=метка
-i загрузчик install=загрузчик
-f файл disktab=файл
-g geometric
-l linear
-L lba32
-m файл_карты map=файл_карты
-P fix fix-table
-P ignore ignore-table
-s файл backup=файл
-S файл force-backup=файл
-v [N] verbose=N
-w nowarn
-x опция raid-extra-boot=опция

ОПЦИИ ЗАГРУЗКИ

Опции описанные здесь могут быть указаны в командной строке во время загрузки образа ядра (OC Linux). Эти опции обрабатываются LILO, а после передачи ядру (за исключением некоторых) удаляются из командной строки.

lock
Блокирует использование командной строки, аналогично директиве 'lock', которую можно указать в файле конфигурации 'lilo.conf.'
mem=###[,K,M]
Определяет максимальный объём оперативной памяти в системе. Объём указывается в байтах, килобайтах или мегабайтах. Эта опция не удаляется из командной строки и всегда передаётся в ядро.
nobd
Не производить чтение данных о параметрах из BIOS. Эта опция зарезервирована для использования с не IBM-совместимыми BIOS-ми, которые "зависают" в начале загрузки после выдачи строк:


Loading...............
BIOS data check
vga=[ASK,EXT,EXTENDED,NORMAL]
Позволяет переназначить (используемый по умолчанию) видео режим при загрузке ядра.

ОШИБКИ ЗАГРУЗКИ

Процесс загрузки происходит в две стадии. Начальная стадия загрузки первого сектора осуществляется или средствами BIOS, или загрузчиком, который находится в MBR. В дальнейшем программный код (содержащийся в этом секторе) уже сам выполняет загрузку ограниченного количества секторов загрузчика для второй стадии. Когда первая стадия загрузки LILO получает управление, на мониторе появляется первая буква "L". Затем он считывает сектора и настраивает их для передачи управления второй стадии загрузки. Здесь появляется буква "I". Если обнаруживается какой-нибудь сбой, например, ошибка чтения диска, будет выдан шестнадцатеричный код ошибки и предпринята попытка повторить операцию. Все шестнадцатеричные коды ошибок являются значениями, которые возвращает BIOS. Ошибки обнаруживаемые и связанные с lilo это - 40, 99 и 9A. Ниже приведена часть списка с некоторыми кодами ошибок:

00 ошибок нет
01 неверная дисковая команда
0A признак "битого" сектора
0B признак "битой" дорожки
20 ошибка контроллера устройства
40 сбой позиционирования головки диска (BIOS)
40 номер цилиндра >1023 (LILO)
99 недопустимый индексный сектора на второй стадии загрузки (LILO)
9A не обнаружена загружаемая сигнатура на второй стадии загрузки (LILO)
AA невозможно прочитать устройство
FF заданное действие завершилось с ошибкой

Ошибку с кодом 40 генерирует BIOS или LILO в процессе преобразования линейных (24-битовых) адресов дискового пространства в геометрические (C:H:S) адреса. Эта ошибка также может появится на старых системах, которые не поддерживают адресацию lba32 (32-битные адреса). Ошибки 99 и 9A обычно означают невозможность чтения файла карты (map-file, -m или map=), обычно из-за того, что LILO не был перезапущен после некоторых изменений в системе или из-за несогласованности в параметрах геометрии устройства, которые использует LILO (см. вывод команды lilo -v3) с реально установленными в BIOS (для устранения этой проблемы вам, возможно, понадобится один из дисков диагностики lilo, распространяемых с исходным кодом lilo).

Когда происходит передача управления от первой стадии загрузки второй, это сопровождается появлением на мониторе второй буквы "L". Последующая инициализация второй стадии, включая проверку "Таблицы Дескрипторов" - списка ядер или других загружаемых компонентов - сопровождается появлением завершающей буквы "O", в форме целого слова "LILO", которое состоит только из заглавных букв.

В течении всей второй стадии загрузки, сообщения об ошибках выводятся на английском языке, с помощью которых более или менее точно можно попытаться найти источник их появления.

НЕСОВМЕСТИМОСТИ

lilo имеет проблемы с файловой системой reiserfs представленной в ядрах серии 2.2.x в том случае, когда файловая система монтируется без опции 'notail'. Эта несовместимость устранена в файловых системах reiserfs начиная с версии 3.6.18 и lilo версии 21.6.

Начиная с версии 22.0, устройства RAID массивов записывают загрузочную запись в таблицу разделов RAID. Во время записи MBR может возникнуть необходимость оставить RAID загружаемым при последующем восстановлении, однако, все предпринятые по умолчанию действия могут быть изменены. В такой ситуации, для создания архива совместимого с предыдущими версиями, используйте опцию `-x mbr-only'.

ОШИБКИ

Опции `backup' и `force-backup' файла конфигурации ещё не полностью реализованы правильно для установленных RAID массивов. Используйте стандартный механизм резервного копирования загрузочной записи, кажется, он работает без ошибок, и поэтому он должен быть использован.

СМ. ТАКЖЕ

fdisk(8), lilo.conf(5), mkrescue(8), mkinitrd(8).

В целом программа lilo сопровождается очень подробной документацией. (lilo 21)

АВТОРЫ

Werner Almesberger <almesber@lrc.epfl.ch> (версии с 0 по 21)
John Coffman <johninsd@san.rr.com> (версии с 21.2 по настоящую)

ПЕРЕВОД

оригинального файла на английском lilo.8.gz (5524 байт от 25.06.2004) (+примеры) выполнен Aleksander N.Gorohovski <angel@feht.dgtu.donetsk.ua> 06.12.2005. Уточнения и правка Andrey Rahmatullin <wrar-alt@mail.ru>, Vitaly Lipatov <lav@altlinux.ru>

09 Июнь 2002