Приветствую тебя о линуксоид. Я надеюсь ты примерно догадываешься для чего может понадобиться LILO =] .Но давай определимся для начала в чем
отличии между LILO и /sbin/lilo.
LILO - это прога , записанная в бут секторе твоего харда , которая загружает твои ОС и запускает их на выполнение. Прога /sbin/lilo представляет собой утилиту , которая анализирует /etc/lilo.conf , именно она устанавливает загрузчик в бут сектор и создает map-файл , содержащий необходимую инфу для загрузчика.
Теперь намного расслабься , выпей пиффка , ведь дальше самое интересное , редактирование файла /etc/lilo.conf .
Этот файл делится на два раздела . Один из них - раздел глобальных ключевых слов. Вот несколько из них :
backup=filename при выполнении lilo резервная копия сохраняется в filename .
boot=boot_dev позволяет задать раздел, в который lilo запишет код загрузчика .
compact требует выполнить оптимизацию , уменьшающую время загрузки.
default=name загружаемая ОС по умолчанию.
delay=n принуждает загрузчик ожидать n/10сек .
ignore-table позволяет LILO забить на поврежденную таблицу разделов.
install=boot_sector файл, используемый в качестве нового загрузочного сектора, умолчание /boot/boot.b
map=filename использование данного файла как map-файла, умолчание /boot/map
message=filename содержание этого файла будет показано перед приглашением загрузки системы.
verbose=level значение level определяется сколько инфы ты увидишь при загрузке системы, чем больше число , тем больше инфы, допустимы так же и отрицательные значения.
Второй раздел этого файла - это раздел ключевых слов образов
LILO.
alias= name задаёт второе имя для текущего образа.
failback=command_line если текущий образ выполняется и происходит сбой , то данная командная стока передается LILO при след. загрузке.
label=name присваиваем имя текущему образу.
password=pass запрос пароля перед загрузкой текущего образа.
single-key выбираем образ одной клавишей.
read-only во время загрузки корневая файловая система будет смонтирована только для чтения, для проверки прогой fsck и последующим remount'ом
read-write корневая файловая система монтируется для чтения и записи.
root=устройство задает устройство , содержащее корневую файловую систему.
Все тоже самое ты можешь сделать в командной строке, с помощью lilo. Вот опции командной строки и соответствующее слово в файле lilo.conf
-b устройство_загрузки | boot=boot_dev |
-c | compact |
-d n | delay=n |
-D name | default=name |
-i загруз.сектор | install=boot_sector |
-m filename | map=filename |
-P ignore | ignore-table |
-s filename | backup=filename |
-v | verbose=level |
Теперь еще немного дополнительных опций для того же map-инсталлятора:
-C filename использует filename вместо /etc/lilo.conf
-r каталог устанавливает указанный каталог вместо /root , с помощью chroot
-t режим тестирования
-u [устройство] восстанавливает загрузочный сектор с указанного устройства.
Вот теперь ты уже немного знаком с LILO , пора выпить еще пива , и я покажу тебе конкретный пример. Допустим, нужно загрузить несколько ОС'ей с помощью LILO. На первом разделе (/dev/hda1) установлен небезызвестный выньдовс , второй раздел содержит SlackWare(/dev/hda5) и наконец на третьем стоит RedHat(/dev/hda6). Итак , приступаем
/etc/lilo.conf
--------------------------------------
#Общий раздел
boot=/dev/hda
compact
install=/boot/boot.b
message=/etc/lilo.msg
verbose=2
promt
timeout=100
#Загружаем Слаку с ядром 2.2.5 с раздела /dev/hda5
#При загрузке требуется ввести пасс.
Image = /boot/vmlinuz-2.2.5
label=SlackWare
alias=1
single-key
root=/dev/hda5
read-only
password=n0t4LaMerZz
initrd = /boot/initrd.gz
#Загружаем винду с раздела /dev/hda1
other = /dev/hda1
label=MustDie
alias=2
single-key
table=/dev/hda
#Загружаем RedHat с раздела /dev/hda6
other = /dev/hda7
label=RedHat
alias=3
single-key
table=/dev/hda
#EOF
--------------------------------------
Теперь посмотрим на этот файл более детально. Сначала идет глобальный раздел, и как видно из опции boot загрузчик будет установлен вместо главной загрузочной записи диска (MBR). Далее мы оптимизируем процесс загрузки опцией compact. Затем мы задаем файл , который будет использоваться в качестве загрузочного сектора . Далее идет опция задающее сообщение выдаваемое при загрузке и берется из /etc/lilo.msg . Вот этот файл:
^L
-----| cH00se tHe OS To rUn |-----
1. SlackWare Linux
2. Windows aka MustDie
3. RedHat Linux
--------| hAVe a NicE dAy |--------
Этот файл начинается с символа очистки экрана . Его можно получить в vi с помощью комбинации Ctrl+V
Ctrl+L.
Следующая опция в нашем файле говорит об уровне детализации сообщений. Следующие два ключевых слова желательно всегда включать в lilo.conf , это promt и
timeout.
Перейдем к определению образов , в нашем файле все начинается с определения образа ядра Linux, использующего файл ядра /boot/vmlinuz-2.2.5. С помощью ключевых слов label и alias для этого образа заданы имена SlackWare и 1 (теперь при загрузке системы тебе не обязательно писать slackware , ты должен просто жать
1. Ключевое слово root указывает, что корневой файловой системой для этого ядра , используется устройство /dev/hda5. При загрузке файловая система будет сначала смонтирована только для чтения , а чтобы система начала загрузку требуется ввести пароль. Следующий образ юзаем для загрузки винды. Нетрудно догадаться что эту систему мы считаем посторонней т.к. используем слово
other , которым указываем где искать эту Ось. Словом table мы определяем необходимую инфу таблицы разделов. Думаю, дальше сам разберешься =]
После этого сохраняй /etc/lilo.conf /и etc/lilo.msg, теперь пиши в консоле lilo и перегружай систему.
Наслаждайся!
P.S. Не забудь маленькую деталь, если собираешься юзать пасс, то укажи соответствующие права на файл /etc/lilo.conf , а то твой пасс лежит в незашифрованном виде.