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 метка[i|r]
Идентифицирует текущий образ ядра, заданный меткой. Метку запущенного (после загрузки системы)
ядра можно найти в переменной окружения 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
увеличивает уровень информативности. Можно использовать и такой вариант:
-vn (где уровень информативности 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 массивов. Используйте стандартный механизм резервного копирования
загрузочной записи, кажется, он работает без ошибок, и поэтому он должен быть использован.