LILO

Hur en PC bootar

Från Diskett

BIOS läser in den första sektorn på disketten, den sk. bootsektorn denna sektorn innehåller ett litet program som laddar operativsystemet, sektorn innehåller också en data area där information om disketten och filsystemet finns (cluster storlek, antal sektorer, antal huvuden ...)

Från Hårdisk

BIOS läser första sektorn från hårddisken (den sk. MBR, Master Boot Record). Denna sektorn innehåller ett litet program och en tabell över vilka partitioner som finns på disken. Programmet laddar kerneln för resp. operativsystem via anrop till BIOS (ex. io.sys för MSDOS/Windows) från den aktiva partitionen (MSDOS) eller den kernel man angivit från den boot partition man angivit (Linux)) och efterom BIOS endast kan adressera sektorer som ligger på cylinder 0-1023 så måste dessa filer helt ligga under cylinder 1024. När sedan operativsystemet är laddat så kan det accessa hela disken.

Vad betyder bokstäverna LILO som syns först vid boot?

Det första steget är när bootsektorn har laddas.
Det andra steget är när kerneln för resp. operativsystem laddas.

(ingenting syns)Ingen del av LILO har laddats in. Antingen är inte LILO installerad eller inte finns på boot sectorn på den aktiva partitionen
L <error>Den första delen av LILO har laddats och startat men kan inte ladda den andra delen, den 2 siffriga felkoden talar om varför, oftast tyder det på ett media fel, eller disk geometri fel.
LIDen första delen av LILO har lyckats ladda den andra delen men misslyckas med att köra den. Kan bero på geometrifel eller att filen /boot/boot.b utan att köra "map installer", prova att boota up på rescue disken (du har väl en sådan!) och kör LILO.
LILAndra delen av LILO har startat men kan inte läsa "descriptor" tabelen från map filen. Kan bero på mediafel eller att filen /boot/boot.b utan att köra "map installer", prova att boota up på rescue disken (du har väl en sådan!) och kör LILO.
LIL?Andra delen av LILO har laddats på en felaktig adress. Kan bero på geometrifel eller att filen /boot/boot.b utan att köra "map installer", prova att boota up på rescue disken (du har väl en sådan!) och kör LILO.
LIL-Description tabellen är korrupt. Kan bero på geometrifel eller att filen /boot/boot.b utan att köra "map installer", prova att boota up på rescue disken (du har väl en sådan!) och kör LILO.
LILOAlla delar av LILO har blivit laddade.
Om du får disk geometri fel, så kan det bero på att en del av kerneln (eller hela ligger ovanför cylinder 1024 på disken. Detta är ingen fel i LILO utan en begränsning i BIOSet på datorn, BIOSet kan inte accessa cylindrar ovanför 1024. Lösningen till detta problemet är att lägga kernel på en partition som helt ligger under cylinder 1024.

Hur kan /etc/lilo.conf se ut

Så här ser min /etc/lilo.conf ut
# Start LILO global Section
#
# Installer på MBR på första disken
boot=/dev/hda
read-only
# Gör så att du har möjliget att välja hur du vill boota
prompt
# Gå vidare om det inte skrivs något inom 5 sekunder.
timeout=50
# Default om du inte skriver något
default=linux
# Vilken grafikmode, skriv in "ask" istället för att välja.
vga=normal
# End LILO global section
# Linux bootable partition config begins
# Variant 1 standard kernel.
image = /vmlinuz
root = /dev/sda1
label = linux
# Variant 2 föregående kernel, bra att ha när jag installerar ny kernel!
image = /vmlinuz.old
root = /dev/sda1
label = linux.old
# Variant 3 SuSE's orginal kernel
image = /boot/vmlinuz
root = /dev/sda1
label = linux.org
# Variant 4 MSDOS, ta bort kommentar tecknen för att aktivera. dos partitionen
# ligger på första ide disken och på första partitionen
#  other=/dev/hda1
#  label=dos
#  table=/dev/hda
# Variant 5 FreeBSD, ta bort kommentar tecknen för att aktivera. FreeBSD
# partitionen ligger på första ide disken och på andra partitionen
#  other=/dev/hda2
#  label=freebsd
#  table=/dev/hda
# Linux bootable partition config ends

19990720