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