LILO является отдельным загрузчиком (separate boot loader) и располагается на жестком диске. Эта программа исполняется при загрузке системы с жесткого диска и загружает ядро Linux, расположенное также на жестком диске.
LILO также может быть использован на первой стадии загрузки нескольких операционных систем, что позволяет выбирать ту систему (например, MS-DOS или Linux), которую нужно в этот раз загружать. Загрузчик LILO автоматически загружает ту операционную систему, которая указана как загружаемая по умолчанию, если только во время запуска загрузчика (boot-up sequence) не будет нажата клавиши Shift, или в файле lilo.conf не указана директива prompt. В каждом из этих двух случаев будет выдано приглашение загрузчика, в котором надо ввести имя той системы, которую надо загружать (например, "linux" или "msdos". Если в этот момент нажать клавишу Tab, то система выдаст список известных ей операционных систем.
Сконфигурировать загрузчик LILO просто, отредактировав конфигурационный файл /etc/lilo.conf. Команда
\# \tinput{/sbin/lilo}записывает отредактированный конфигурационный файл lilo.conf в загрузочный сектор жесткого диска. Эту команду надо запускать всякий раз после изменения файла lilo.conf.
Для каждой загружаемой операционной системы файл lilo.conf содержит строфу (stanza -- группа строк), относящуюся к этой системе. Удобнее всего продемонстрировать это на примере. Приведенный ниже файл lilo.conf относится к случаю, когда корневым разделом системы Linux является /dev/hda1, а разделом системы MS-DOS -- /dev/hda2.
# Загрузчику LILO дается команда изменить загрузочный сектор
# (boot record) диска /dev/hda (первого не-SCSI жесткого диска).
# Если загрузка производится не из /dev/hda, следующую строку
# надо изменить.
boot = /dev/hda
# Установка режима видеоадаптера "с запасом"
vga = normal
# Установка задержки (в миллисекундах). В течение такого времени
# нужно нажимать клавишу 'SHIFT', чтобы вызвать приглашение LILO:
# если не указана директива 'prompt'.
delay = 60
# Название загрузчика. Нет смысла изменять эту строку, только
# если вы не собираетесь серьезно перепрограммировать загрузчик LILO.
install = /boot/boot.b
# Следующая строка указывает загрузчику, что надо выдать приглашение
# ввести имя загружаемой операционной системы. Список возможных
# для загрузки систем выдается нажатием клавиши 'TAB' на
# приглашение LILO: (этот список выдается согласно директивам
# 'label=' ниже.
prompt
# Произвести некоторую оптимизацию LILO
compact
# Строфа (stanza) для корневого раздела системы Linux в /dev/hda1
image = /vmlinuz # Местоположение ядра
label = linux # Название ОС (для меню загрузчика LILO)
root = /dev/hda1 # Местоположение корневого раздела
read-only # Монтировать в режиме 'только чтение'
# (read only)
# Строфа (stanza) для раздела системы MS-DOS в /dev/hda2
other = /dev/hda2 # Местоположение раздела
table = /dev/hda # Местоположение таблицы раздела для /dev/hda2
label = msdos # Название ОС (для меню загрузчика LILO)
Первая строфа определяет операционную систему, загружаемую по умолчанию. Следует заметить, что если используется строка "root =" (как в этом примере), то не имеет смысла использовать команду dev для монтирования корневого раздела для образа ядра, поскольку загрузчик LILO сделает это во время загрузки.
Загрузчик операционной системы Microsoft Windows 95 стирает загрузчик LILO, поэтому если система Windows 95 будет устанавливаться после установки LILO, то прежде надо изготовить загрузочную дискету (см. разд. 4.2.1). С помощью этой дискеты после установки системы Windows 95 можно будет загрузить систему Linux и заново установить загрузчик LILO. Для этого надо, являясь пользователем root, просто ввести команду /sbin/lilo (как это делалось выше). Разделы диска системы Windows 95 могут быть конфигурированы в файле lilo.conf аналогично разделам системы MS-DOS.
Более подробно загрузчик LILO рассматривается в документе Linux FAQ (см. приложение A), где, среди прочего, описывается совместная работа загрузчика LILO и диспетчера загрузки системы OS/2 (OS/2 Boot Manager).