LILO

LILO
Menu pro výběr operačních systémů
Menu pro výběr operačních systémů
VývojářWerner Almesberger
Aktuální verze24.2 (22. listopadu 2015)
Vyvíjeno vC a jazyk symbolických adres
Typ softwarubootloader, bootování a svobodný software
Licence3-clause BSD License
Webwww.joonet.de/lilo/
Některá data mohou pocházet z datové položky.

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.

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 programu lilo, 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 programu lilo, 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/mapbez spuštění instalačního programu lilo, který vytváří soubor s mapou.
LILO
Všechny části LILO byly úspěšně načteny.

Kódy chyb

Kód chybyNázevPopis
0x00Internal ErrorTento 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.
0x01Illegal CommandNemě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.
0x02Address mark not foundToto obvykle značí problém s médiem. Zkuste znovu několikrát.
0x03Write-protected diskMůže se objevit při operacích zápisu.
0x04Sector not foundTato 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.
0x06Change line activeMělo by se jednat o přechodnou chybu. Zkuste znovu spustit bootování.
0x07Invalid initializationSysté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.)
0x08DMA overrunNemělo by se stávat. Zkuste znovu nabootovat.
0x09DMA attempt across 64k boundaryMůže značit špatné parametry disku BIOS. Možná budete nuceni přepsat některé parametry ručně.
0x0CInvalid mediaMůže být způsobena chybou média. Zkuste znovu spustit bootování.
0x10CRC errorChyba 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.
0x11ECC correction successfulDoš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ý.
0x20Controller errorTato chyba by se neměla stávat.
0x40Seek failureVětšinou se jedná o problém média. Zkuste znovu spustit bootování.
0x80Disk timeoutDisk 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.
0x99Invalid Second StageChyba v souboru map, nebo nesoulad v parametrech systému BIOS.
0x9ACan't Find Second StageZkontrolujte, jestli máte správně vybrané zařízení pro bootování.
0xBBBIOS errorZkuste znovu nabootovat. Pokud problém přetrvává, může pomoci odstranění volby compact nebo přidání/odstranění linear nebo lba32.

Související články

Externí odkazy

Média použitá na této stránce

Lilo.png
Screenshot of LILO. Simply taking by invoking QEMU with this: qemu -snapshot -hda /dev/hda