LILO
LILO (Linux Loader) je v informatice univerzální zavaděč (boot loader) operačního systému. LILO bylo původně vytvořeno Wernerem Almesbergerem, ale v současnosti je jeho vývojářem John Coffman. V minulosti (kolem roku 2000) byl standardní součástí většiny linuxových distribucí. Původně nahradil zavaděč loadlin a v současnosti (2016) je místo něj používán zavaděč GRUB.
Menu pro výběr operačních systémů | |
Vývojář | Werner Almesberger |
---|---|
Aktuální verze | 24.2 (22. listopadu 2015) |
Vyvíjeno v | C a jazyk symbolických adres |
Typ softwaru | bootloader, bootování a svobodný software |
Licence | 3-clause BSD License |
Web | www |
Některá data mohou pocházet z datové položky. |
Charakteristika
LILO je zavaděč, jehož úkolem je při startu počítače zavést do operační paměti počítače jádro operačního systému a aktivovat ho. Jádro zůstává v paměti počítače aktivní až do jeho vypnutí a řídí chod celého systému. Činnost, při které LILO zavádí jádro do paměti, se nazývá bootování.
Zavaděč LILO není závislý na operačním systému ani systému souborů, ze kterého je jádro systému zaváděno. Je schopen nabootovat Linux, DOS, ale i systém Microsoft Windows a to nejen z pevného disku, ale například i z diskety. Při startu zavaděče je možné zvolit až ze šestnácti různých možností. Pro různé volby pak mohou být nastaveny různé parametry předávané jádru, jako například nastavení kořenového souborového systému. LILO může být umístěno buď v master boot recordu (MBR) nebo v bootovacím sektoru vybraného diskového oddíly (partition). Ve druhém případě musí být v MBR jiný zavaděč, který následně načte LILO.
Při zahájení bootování má LILO pro přístup k pevným diskům k dispozici pouze služby BIOSu. Z tohoto důvodu bývalo na starých počítačích možné zavádět jádro pouze z první části větších disků, protože BIOS míval omezení přístupu v reřimu C-H-S na maximální počet válců (cylindrů) od 0 do 1023. Pokud BIOS nabízel modernější přístup k pevnému disku pomocí adresace LBA, bylo zmíněné omezení C-H-S přístupu překonáno.
lilo.conf
Soubor lilo.conf se většinou nachází v /etc/lilo.conf. Uvnitř lilo.conf se typicky nacházejí dvě sekce. První sekce definuje globální nastavení obsahující parametry, které specifikují místní bootovací atributy. Druhý typ sekce obsahuje parametry spojené s operačním systémem, který má být načten z obrazu. Tento druhý typ sekce může být opakován až pro 16 různých bootovacích výběrů.
Chybové hlášky a jejich interpretace
Když LILO načítá sebe sama, vypíše se na monitor slovo „LILO“. Každé písmeno je zobrazeno před nebo po nějaké specifické akci. Když LILO v nějakém okamžiku selže (nemůže pokračovat), je možné ze zobrazených písmen identifikovat problém.
Start kódu zavaděče LILO se skládá ze dvou částí. „První fáze“ ve spouštěcím sektoru a „druhá fáze“ v souboru /boot/boot.b. Během instalace LILO je vytvořen mapový soubor, obvykle /boot/map, kde LILO nachází potřebné odkazy (adresy sektorů), kde se nacházejí zaváděná jádra operačních systémů (Linux kernel, atd.), které by měly být zavedeny do paměti.
Přehled diagnostiky pomocí vypsaných písmen názvu LILO na monitor:
- Nic
- Ani jedna část z LILO nebyla načtena. Zavaděč LILO buď není nainstalován nebo oddíl, na kterém se nachází jeho spouštěcí sektor, není aktivní. Bootovací médium je nesprávné nebo vadné.
- L
- První část zavaděče byla načtena a začala, avšak nemůže načíst druhou část. Dvojmístné kódy chyb (uvedeny níže) označují typ problému. Tento stav většinou značí selhání média nebo špatné parametry disku v systému BIOS.
- LI
- První etapa zavaděče byla schopna nahrát druhou etapu, ale nedokázala ji vykonat. To může být způsobeno špatnými parametry disku v systému BIOS, přesunutím souboru
boot/boot.b
bez následného spuštění instalačního programulilo
, který vytváří soubor s mapou. - LIL
- Druhá etapa zavaděče byla zahájena, ale nemůže načíst tabulku popisovače ze souboru s mapou. Tato chyba je obvykle způsobena selháním média nebo špatnými parametry disku v systému BIOS.
- LIL?
- Druhá etapa zavaděče byla načtena na špatné adrese. To je obvykle způsobeno špatnými parametry disku v systému BIOS nebo přesunutím souboru
boot/boot.b
bez spuštění instalačního programulilo
, který vytváří soubor s mapou. - LIL-
- Deskriptor tabulky je poškozen. I tato chyba bývá většinou způsobena špatnými parametry disku v systému BIOS nebo přesunutím souboru
/boot/map
bez spuštění instalačního programulilo
, který vytváří soubor s mapou. - LILO
- Všechny části LILO byly úspěšně načteny.
Kódy chyb
Kód chyby | Název | Popis |
---|---|---|
0x00 | Internal Error | Tento kód je generován kdykoli je zjištěna vnitřní nekonzistence. Může být způsobeno poškozenými soubory. Řešením je znovuvytvoření mapového souboru. |
0x01 | Illegal Command | Nemělo by se stát, ale pokud se stane, může značit pokus přístupu na disk, který není podporován BIOSem. Rozhodně zkontrolujte, zda je disk viditelný pro BIOS. |
0x02 | Address mark not found | Toto obvykle značí problém s médiem. Zkuste znovu několikrát. |
0x03 | Write-protected disk | Může se objevit při operacích zápisu. |
0x04 | Sector not found | Tato chyba typicky značí špatné parametry disku v systému BIOS. Pokud bootujete z raw-written disku, ověřte si, že byl vytvořen pro stejné parametry disku, které využíváte. Pokud bootujete z disku SCSI nebo IDE, zkontrolujte, jestli LILO obdržel správné parametry od jádra. |
0x06 | Change line active | Mělo by se jednat o přechodnou chybu. Zkuste znovu spustit bootování. |
0x07 | Invalid initialization | Systému BIOS se nepodařilo správně inicializovat řadič disku. Měli byste zkontrolovat parametry systému BIOS. Také může pomoci „teplý restart“. (Restartovat rescue disk a spustit LILO.) |
0x08 | DMA overrun | Nemělo by se stávat. Zkuste znovu nabootovat. |
0x09 | DMA attempt across 64k boundary | Může značit špatné parametry disku BIOS. Možná budete nuceni přepsat některé parametry ručně. |
0x0C | Invalid media | Může být způsobena chybou média. Zkuste znovu spustit bootování. |
0x10 | CRC error | Chyba média. Zkuste několikrát nabootovat, spusťte podruhé instalátor map, zmapujte vadné sektory. Pokud nic nepomůže, je potřeba nahradit média. |
0x11 | ECC correction successful | Došlo k chybě čtení. Chyba byla sice opravena, avšak LILO toto nerozpozná a přeruší proces načítání. Druhý pokus o načtení by již měl být úspěšný. |
0x20 | Controller error | Tato chyba by se neměla stávat. |
0x40 | Seek failure | Většinou se jedná o problém média. Zkuste znovu spustit bootování. |
0x80 | Disk timeout | Disk nebo jednotka není připravena. Buď je poškozeno médium, nebo se disk neotáčí. Pokud je vše v pořádku, zkuste znovu nabootovat. |
0x99 | Invalid Second Stage | Chyba v souboru map, nebo nesoulad v parametrech systému BIOS. |
0x9A | Can't Find Second Stage | Zkontrolujte, jestli máte správně vybrané zařízení pro bootování. |
0xBB | BIOS error | Zkuste znovu nabootovat. Pokud problém přetrvává, může pomoci odstranění volby compact nebo přidání/odstranění linear nebo lba32. |
Externí odkazy
- Obrázky, zvuky či videa k tématu LILO na Wikimedia Commons
- Oficiální Web (obsahující uživatelského průvodce a technický popis)
- manuálové stránky
- Chybové hlášky