Що таке LILO (Linux Loader)?
LILO (Linux Loader ) – це завантажувач для Linux та інших Unix-подібних операційних систем. Це був один з перших завантажувачів, який використовувався для Linux, в основному в 1990-х і на початку 2000-х років, перш ніж був значною мірою замінений більш сучасними альтернативами, такими як GRUB (Великий уніфікований завантажувач). Основною функцією LILO є завантаження ядра Linux в пам’ять і запуск операційної системи при завантаженні комп’ютера.
Основні можливості LILO
- Керування завантаженням: LILO дозволяє користувачам керувати кількома операційними системами на одному комп’ютері. Він може завантажувати Linux, а також інші операційні системи, такі як Windows, що дає можливість створити подвійне завантаження.
- Настроювані параметри завантаження: Конфігураційний файл LILO дозволяє користувачам вказувати різні параметри завантаження, такі як ОС за замовчуванням, параметри ядра і значення таймауту перед завантаженням в ОС за замовчуванням.
- Завантаження зMBR або розділу: LILO можна встановити у головний завантажувальний запис (MBR ) або у завантажувальний сектор певного розділу, залежно від уподобань користувача.
Як працює LILO
Коли комп’ютер вмикається, BIOS виконує POST (самотестування при ввімкненні) і шукає завантажувальний пристрій, наприклад, жорсткий диск. Якщо LILO встановлено на MBR або завантажувальний сектор розділу, BIOS завантажує LILO як завантажувач. Після цього LILO виконує наступні дії:
- Завантажує меню завантаження: LILO представляє користувачеві меню завантаження, яке показує доступні операційні системи або ядра для завантаження.
- Завантажує ядро: На основі вибору користувача або вибору за замовчуванням, LILO завантажує ядро Linux або обраної операційної системи у пам’ять.
- Запуск операційної системи: Після завантаження ядра LILO передає керування ядру, яке ініціалізує систему і завершує процес завантаження.
Конфігурація LILO
LILO налаштовується за допомогою звичайного текстового файлу, який зазвичай знаходиться у каталозі /etc/lilo.conf. Ось приклад того, як може виглядати файл lilo.conf:
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
запит
timeout=50
default=linuximage=/boot/vmlinuz
label=linux
тільки для читання
root=/dev/sda1
other=/dev/sdb1label=windows
- boot=/dev/sda: Вказує, куди слід встановити LILO. У цьому прикладі LILO буде встановлено на MBR першого жорсткого диска.
- timeout=50: Вказує час (у десятих долях секунди), який LILO чекає перед завантаженням за замовчуванням.
- default=linux: Встановлює ОС за замовчуванням для завантаження, якщо не буде виявлено жодних дій користувача.
- image=/boot/vmlinuz: Визначає місце розташування образу ядра Linux.
- label=linux: Призначає мітку для цього пункту у меню завантаження LILO.
- other=/dev/sdb1: Вказує на іншу операційну систему (наприклад, Windows), встановлену на іншому розділі.
Після внесення змін до lilo.conf вам необхідно запустити команду lilo, щоб застосувати зміни:
sudo /sbin/lilo
Ця команда оновить LILO до нової конфігурації.
Переваги та недоліки використання LILO
Плюси:
- Простота: LILO відносно проста у налаштуванні і не займає багато місця на диску.
- Не потребує підтримки файлової системи: LILO безпосередньо зчитує ядро з відомого місця на диску, тому не потребує підтримки файлової системи під час завантаження.
- Сумісність: LILO може завантажувати різні типи операційних систем, що робить його корисним для старих систем з подвійним завантаженням.
Недоліки:
- Ручне оновлення: Щоразу, коли ви оновлюєте ядро або вносите зміни до конфігураційного файлу, ви повинні вручну запустити lilo для оновлення завантажувача. Якщо цього не зробити, це може призвести до помилок під час завантаження.
- Обмежені можливості: У порівнянні з сучасними завантажувачами, такими як GRUB, LILO не має деяких розширених можливостей, таких як можливість редагування параметрів завантаження під час завантаження.
- Відсутність вбудованого режиму відновлення: Якщо конфігурацію LILO пошкоджено, відновлення після проблем із завантаженням може бути складнішим, ніж у випадку з GRUB, який має вбудовані можливості відновлення.
LILO проти GRUB
- Гнучкість: GRUB гнучкіший за LILO і підтримує більше можливостей, таких як редагування параметрів завантаження безпосередньо з меню завантаження, автоматичне виявлення нових ядер та краща підтримка різних файлових систем.
- Простота використання: GRUB зазвичай вважається простішим у використанні, оскільки він може автоматично виявляти нові операційні системи та ядра без необхідності переналаштовувати та оновлювати їх вручну.
- Конфігурація: GRUB використовує більш зручний конфігураційний файл (grub.cfg), який не потребує запуску додаткових команд для застосування змін, в той час як LILO вимагає оновлення за допомогою команди lilo.
Завдяки цим перевагам GRUB став стандартним завантажувачем для більшості сучасних дистрибутивів Linux, тоді як LILO сьогодні використовується рідко.
Висновок
LILO (Linux Loader) відігравав значну роль на початку розвитку Linux як надійний завантажувач. Хоча він був значною мірою замінений більш функціональними альтернативами, такими як GRUB, LILO все ще корисний у певних сценаріях, таких як застарілі системи або коли перевага надається простому завантажувачу. Розуміння того, як працює LILO і як його налаштувати, може бути корисним для тих, хто обслуговує старіші системи Linux або хоче вивчити історію завантажувачів Linux.