Использование LILO

LInux LOader (LILO) — программа, предназначенная для загрузки Linux и других операционных систем.
Существуют другие загрузчики, например bootlin, bootact, bootstar, но они постепенно вытесняются LILO.
Помимо LILO Linux еще можно загрузить с помощью loadlin, GRUB (загрузчик в Linux Mandrake) или NTLoader.
Подробнее об использовании NTLoader и программы loadlin можно прочитать в моей статье «Многоосность»
LILO состоит из трех частей:
  1. программа записи начального загрузчика lilo
  2. программа конфигурации liloconf
  3. файл конфигурации /etc/lilo.conf
Liloconf создает файл /etc/lilo.conf, который используется программой lilo для записи начального загрузчика.
Обычно LILO помещают в MBR (Master Boot Record). Но иногда LILO устанавливают на первый сектор того раздела, где установлен Linux. Второй способ обычно используется, если нужно обеспечить загрузку Linux:
  1. с помощью другого загрузчика, например NTLoader
  2. на старых машинах без поддержки LBA 
При загрузке компьютера LILO выдает подсказку
LILO
 или
LILO boot:
После чего нужно ввести метку той операционной системы, которую нужно загрузить. Для загрузки Linux обычно следует ввести linux. Для просмотра всех доступных меток, нажмите Tab. Современные версии LILO обычно имеют удобное меню. Выбор меток осуществляется с помощью стрелок.
Иногда на экран только выдается подсказка
LILO
Чтобы выбрать ядро нужно нажать клавишу Shift, после чего появиться подсказка
LILO boot:
и только теперь можно нажать Tab… Если вы введете команду help, то получите список всех команд LILO.
Примечание: поведение LILO зависит от его настройки в файле /etc/lilo.conf.
При запуске Linux можно передать ядру дополнительные параметры, например mem=1024M — устанавливает объем ОЗУ равным 1024MB. Можно сформировать строку параметров и записать ее в lilo.conf — эта строка будет передана ядру при загрузке Linux.
С помощью LILO можно организовать загрузку других операционных систем (Windows, FreeBSD,..) и загрузку разных версий ядра одной ОС (имеется в виду Linux).
Пример конфигурационного файла /etc/lilo.conf
Операционная система: Linux Mandrake 7.2
LILO version: 21.5
# Глобальные опции

# Загрузочное устройство  (MBR на /dev/hda)

boot=/dev/hda

#  «Карта» загрузки.

# Если этот параметр пропущен,

# используется файл /boot/map

map=/boot/map

# Устанавливает заданный файл как новый загрузочный сектор.

# По умолчанию используется /boot/boot.b

install=/boot/boot.b

# compact — не используйте этот режим. Обычно он

# используется при загрузке с дискеты


# Режим VGA: normal — 80x25, ext — 80x50

vga=normal

# Образ ядра по умолчанию. Если не задан, то используется

# первый в списке

default=linux

# Раскладка клавиатуры

keytable=/boot/ru4.klt

# Включен режим LBA32. На некоторых дисках может вызвать проблемы

#  (Обычно проблемы возникают на старых компьютерах без поддержки

# трансляции блоков  (LBA)

lba32

# Включает ввод приглашения без нажатия на какую-нибудь клавишу.

# Автоматическая загрузка невозможна, если prompt установлен,

# а timeout — нет

prompt

# Задержка 5 секунд  (в некоторых версиях используется delay)

timeout=50

# Подсказка, которая выдается при загрузке

message=/boot/message

# Цветовая схема

menu-scheme=wb:bw:wb:bw

# Пароль  (ко всем образам)

# password=54321

# Пароль нужен для загрузки образа, если параметры задаются

# в командной строке  (для всех образов)

# restricted

# Список образов. Максимум 16 вариантов

image=/boot/vmlinuz                      # ядро

label=linux                              # метка  (метки должны быть разными)

root=/dev/hda5==========                 # корневая файловая система

======= append=  «mem=64M»====  # объявление параметров ядра

======= vga=788========

======= read-only======         ======== # монтирование корневой

# файловой системы в режиме

#  «только чтение»

# Параметры vga, password, restricted могут быть как глобальными,

# так и отдельными для каждого образа

# Т.е. вы можете закрыть паролем определенный образ

image=/boot/vmlinuz                      # image — для Linux-систем

label=linux-nonfb

root=/dev/hda5

append=  «mem=64M»

read-only

image=/boot/vmlinuz

label=failsafe

root=/dev/hda5

append=  «mem=64M failsafe»

read-only

other=/dev/hda1                          # other — какая-нибудь другая система

label=windows                         # для не Linux-систем параметр root

# не указывается

table=/dev/hda                        # определяет устройство, содержащее

# таблицу разделов

other=/dev/fd0

label=floppy

unsafe

# не давать доступ к boot сектору во время создания

# карты диска. Запрещает проверку таблицы разделов.

# Параметры table и unsafe несовместимы

Для того, чтобы изменения вступили в силу (если вы изменили файл конфигурации), нужно выполнить команду lilo

Другие возможности настройки LILO

disk=параметрыОпределяет нестандартные параметры для заданного диска
disktab=файл_таблицыЗадает имя таблицы параметров диска. По умолчанию /etc/disktab. Использовать не рекомендуется
ignore-tableИгнорирование ошибочных таблиц разделов
nowarnЗапрещает сообщения о возможных неприятностях
serial=параметрыРазрешает управление с последовательной линии. Загрузчик берет ввод из заданного последовательного порта и из клавиатуры. break по последовательной линии аналогична shift на клавиатуре.
Параметры:
<port>[,bps[parity[bits]]]
port = 0..3 соответствует /dev/ttyS0 — /dev/ttyS3. Могут быть задействованы все 4 порта.
bps: скорость порта в бодах. По умолчанию 2400
Поддерживаются значения: 110, 150, 300, 600, 1200, 2400, 4800, 9600
parity: контроль по четности. n — без четности, e= — по четности, o — по нечетности
bits: число битов в символе — 7 или 8. По умолчанию 8, если нет контроля четности
Параметры по умолчанию
0,2400n8
Параметры append, ramdisk, read-only, read-write, root, vga могут быть заданы в разделе глобальный параметров.
Они будут использованы если они не заданы в конфигурационных секциях.

Параметры командной строки

Здесь описаны самые используемые параметры lilo. Для более подробного описания, введите man lilo
-VНомер версии
-q=Карта запроса
-С conf_fileКонфигурационный файл
-r rootЗадает корневую файловую систему (выполнит chroot перед выполнением каких-нибудь действий)
-uУдаляет lilo