Der aktuelle Linux-Kernel:
Stabil: 6.11.3
Longterm: 6.6.56
Longterm 5.x: 5.15.167
Longterm 4.x: 4.19.322
LINUX-Infopage

Was ist LINUX?
Distributionen
Impressum
Datenschutz

Informationen

Einführung
Berichte
Befehle
Begriffe

Anwendungen

Multimedia
Browser
Allgemein

News

News-Archiv



Der Bootloader LILO

LINUX-Infopage > Berichte: Der Bootloader LILO

Der Bootloader LILO:

1. Allgemeines

LILO ist die Abkürzung für Linux Loader, dem vielleicht populärsten Bootmanager für Linux. Die Hauptaufgabe von LILO ist es, den Linux-Kernel in den Arbeitsspeicher zu laden und das Betriebssystem zu starten. LILO kann aber auch für andere Betriebssysteme wie z.B. DOS oder Windows benutzt werden und ermöglicht es somit, mehere Betriebssysteme von einer Festplatte zu starten.

2. Konfiguration

Der Bootmanager LILO lässt sich am einfachsten über die Konfigurationsdatei lilo.conf im Verzeichnis /etc konfigurieren. Wichtig: Nach dem Bearbeiten der Konfigurationsdatei muss als nächster Schritt unbedingt 'lilo' ausgeführt werden, damit der Bootloader auch wirklich installiert wird. Ansonsten verbleiben die Änderungen nur in der Konfigurationsdatei und werden nicht aktiv. Die Dokumentation dieser Datei lässt sich als Manpage mit dem Befehl 'man lilo.conf' aufrufen. Mit 'man lilo' erhält man allgemeine Hinweise für die Benutzung von LILO. Um die Konfiguration zu vereinfachen, existiert oft schon die Datei 'lilo.conf' mit einer Beispielkonfiguration, die nur noch an die persönlichen Erfordernisse angepasst werden muss.

3. Beispiel 1: LILO mit textbasiertem Bootmenü

In diesem Beispiel wird der Bootloader LILO so konfiguriert, dass ein Text erscheint und ein Eintrag durch Eingabe dessen Namens oder Aliases gebootet werden kann. Wenn Sie am LILO-Prompt eine Liste der möglichen Einträge sehen möchten, die Sie booten können, drücken Sie dort die Tabulator-Taste.
lilo.conf - Beispieldatei mit Erläuterungen:
Anweisung Bedeutung
boot = /dev/hda Enthält den Namen des Gerätes, welches den Bootsektor enthält (in diesem Fall die 1. IDE-Festplatte)
lba32 Ermöglicht es, dass auch Partitionen über die 1024-Zylindergrenze hinaus gebootet werden können. Dies ist in neueren LILO-Versionen bereits die Standardeinstellung, muss aber bei einigen älteren Versionen noch angegeben werden, da LILO sonst mit der Ausgabe 'LI' anhält.
delay = 40 Die Zeit in Zehntelsekunden, die LILO warten soll, bis der erste Eintrag gebootet wird. Fehlt die Zeile, oder wird delay auf 0 gesetzt, wird der Bootloader nicht warten.
compact Erhöht die Geschwindigkeit, mit der LILO geladen wird
prompt Die LILO-Kommandozeile wird angezeigt, ohne dass dafür eine Taste gedrückt werden muss.
message = /boot/boot-msg Enthält Pfad und Namen einer Textdatei, welche als Meldung vor dem Boot-Prompt ausgegeben werden soll.
vga = normal Enthält den Bildschirmmodus, mit dem gebootet werden soll, es gibt 'normal' (= 80 Zeichen u. 25 Zeilen), 'extended' (= 80 Zeichen u. 50 Zeilen), sowie 'ask', wo bei jedem Booten nach dem gewünschten Modus gefragt wird. Es kann auch direkt die Nummer angegeben werden, die man bei 'vga = ask' erhält.
root = /dev/hda7 Enthält das Gerät, welches als 'root' gemounted werden soll, und auf dem das Linux-Betriebssystem enthalten ist.
read-only Das Root-Dateisystem wird zunächst aus Sicherheitsgründen schreibgeschützt gemounted, normalerweise wird es dann später noch einmal mit Schreibzugriff gemounted. Durch Ändern dieser Zeile auf 'read-write' wird das Dateisystem direkt ohne Schreibschutz gemounted.
image = /boot/zImage-2.4.18 Enthält Pfad und Dateiname des Linux-Kernels. Wird diese Zeile mehrfach angegeben, so können alternativ mehrere Kernel gebootet werden.
   label = linux Enthält den Namen des Kernels oder Betriebssystems, wie er im Auswahlmenü von LILO ausgegeben wird, bzw. bei der Kommandozeilenversion eingegeben werden muss.
   optional Lässt diesen Eintrag aus, wenn er beim Ausführen von 'lilo' noch nicht zur Verfügung steht. Wenn dieser Eintrag fehlt und der weiter oben mit 'image' angegebene Kernel nicht vorhanden ist, so bricht 'lilo' mit einer Fehlermeldung ab.
image = /boot/zImage-1.0.9 siehe oben
   label = 1.0.9 siehe oben
   alias = try Weist dem Eintrag einen zweiten Namen zu. So kann dieser Eintrag von der LILO-Kommandozeile auch durch Eingabe von 'lin' gebooted werden.
   append = "hdd=scsi" Enthält Parameter, die dem Kernel automatisch übergeben werden. Das Beispiel "hdd=scsi" bedeutet, dass der Kernel das zweite Gerät am zweiten IDE-Port wie ein SCSI-Laufwerk behandeln soll. Dies kann beispielsweise dann erforderlich sein, wenn ein IDE-Brenner unter Linux betrieben werden soll.
image = /boot/vmlinuz Enthält einen weiteren Kernel
   label = standard Weist diesem Eintrag die Beschriftung 'tamu' zu
   root = /dev/hdb2 Das Root-Verzeichnis dieses Kernels liegt auf Partition 2 (=/dev/hdb2) der zweiten (=/dev/hdb2) Festplatte am ersten (primären) IDE-Port.
   vga = ask Für diesen Eintrag soll der Benutzer aufgefordert werden, einen Bildschirmmodus auszuwählen.
other = /dev/hda1 Mit 'other =' beginnt ein Eintrag, der die Partition (in diesem Fall die 3. Partition auf der ersten IDE-Festplatte) zu einem anderen Betriebssystem als Linux enthält, z.B. Windows, DOS usw.
   label = dos Weist diesem Eintrag den Namen 'dos' zu.
   table = /dev/hda Bestimmt das Laufwerk, welches die Partitionstabelle enthält.
   password = geheim Legt für diesen Eintrag ein Passwort fest, welches eingegeben werden muss, damit der Eintrag gebootet werden kann. Wenn noch die Anweisung 'restricted' in eine neue Zeile eingegeben wird, ist das Passwort nur dann erforderlich, wenn der Eintrag mit Parametern von der Kommandozeile (z.B. bestimmte Kernel-Paramter) gebootet werden soll.

4. Beispiel 2: LILO mit grafischem Menü

Bei LILO haben Sie auch die Möglichkeit, sich ein grafisches Bootmenü mit Auswahlmöglichkeiten anzeigen zu lassen. Als (Hintergrund-)Bild können Sie hierzu eine beliebige BMP-Datei im Format 640x480 Pixel und 16 Farben verwenden. Das folgende Beispiel zeigt, wie ein grafisches Bootmenü konfiguriert werden kann: (die wichtigsten Zeilen sind hier rot hervorgehoben)
Beispiel einer lilo.conf - Datei, bei der ein grafisches Bootmenü ausgegeben werden soll:
Anweisung Bedeutung
boot = /dev/hda Enthält den Namen des Gerätes, welches den Bootsektor enthält (in diesem Fall die 1. IDE-Festplatte)
lba32 Ermöglicht es, dass auch Partitionen über die 1024-Zylindergrenze hinaus gebootet werden können. Dies ist in neueren LILO-Versionen bereits die Standardeinstellung, muss aber bei einigen älteren Versionen noch angegeben werden, da LILO sonst mit der Ausgabe 'LI' anhält.
delay = 40 Die Zeit in Zehntelsekunden, die LILO warten soll, bis der erste Eintrag gebootet wird. Fehlt die Zeile, oder wird delay auf 0 gesetzt, wird der Bootloader nicht warten.
compact Erhöht die Geschwindigkeit, mit der LILO geladen wird
prompt Die LILO-Eingabeaufforderung wird angezeigt, ohne dass dafür eine Taste gedrückt werden muss.
timeout = 150 Zeit in Zehntelsekunden (hier 15 sec), die abgewartet werden soll, ob eine Taste gedrückt wird. Wird in der angegebenen Zeit keine Taste gedrückt, so wird automatisch der erste Eintrag gebootet.
install = /boot/boot-bmp.b Gibt an, dass der Bootloader 'boot-bmp.b' verwendet werden soll, welcher eine Bitmap-Grafik anzeigen kann.
bitmap = /boot/menu.bmp Enthält Pfad und Dateinamen einer Bitmap-Grafik, in der Größe von 640 mal 480 Bildpunkten und 256 Farben.
bmp-colors = 14,11,,15,9,0 Enthält die Farben für das Menü in folgender Reihenfolge: Vordergrundfarbe, Hintergrundfarbe, Schattenfarbe, sowie Vordergrund-, Hintergrund- und Schattenfarbe des ausgewählten Eintrags. Wird keine Schattenfarbe angegeben, so erscheint auch kein Schatten. Fehlt eine Hintergrundfarbe, so erscheint der Hintergrund transparent.
bmp-table = 21,284p,2,7,175p,4 Bestimmt die Position und das Aussehen der Auswahlliste des Bootloaders. Die ersten beiden Werte enthalten die Koordinaten der oberen linken Ecke des Menüs und die nächsten beiden enthalten dessen Breite und die Länge in Form von Zeichenkoordinaten. Die Anfangskoordinaten können auch als Pixelwerte eingegeben werden, wenn der Zahl der Buchstabe 'p' folgt. Der fünfte Wert bestimmt den Abstand, wenn das Menü in mehreren Spalten erscheint. Auch dieser Wert kann als Pixelwert eingegeben werden. Der letzte Wert bedeutet, dass hier die erste Spalte vier Einträge enthalten muss, damit der nächste Eintrag in einer neuen Spalte erscheint.
bmp-timer = 73,29,12,8,0 Enthält Position und Farbe des Countdown-Zählers, welcher erscheint, wenn die 'timeout =' Zeile angegeben wird. Die ersten beiden Werte enthalten die Zeichenkoordinaten des Zählers, welche auch als Pixelwerte mit angehängtem 'p' angegeben werden können. Die letzten drei Zahlen enthalten Vordergrund-, Hintergrund- und Schattenfarbe des Zählers. Wird diese Zeile nicht angegeben, so wird auch kein Countdown angezeigt.
vga = normal Enthält den Bildschirmmodus, mit dem gebootet werden soll, es gibt 'normal' (= 80 Zeichen u. 25 Zeilen), 'extended' (= 80 Zeichen u. 50 Zeilen), sowie 'ask', womit bei jedem Booten nach dem gewünschten Modus gefragt wird. Es kann auch direkt die Nummer angegeben werden, die man bei 'vga = ask' erhält.
root = /dev/hda1 Enthält das Gerät, welches als 'root' gemounted werden soll, und auf dem das Linux-Betriebssystem enthalten ist.
read-only Das Root-Dateisystem wird zunächst aus Sicherheitsgründen schreibgeschützt gemounted, normalerweise wird es dann später noch einmal mit Schreibzugriff gemounted. Durch Ändern dieser Zeile auf 'read-write' wird das Dateisystem direkt ohne Schreibschutz gemounted.
image = /boot/zImage-2.4.18 Enthält Pfad und Dateiname des Linux-Kernels. Wird diese Zeile mehrfach angegeben, so können alternativ mehrere Kernel gebootet werden.
   label = linux Enthält den Namen des Kernels oder Betriebssystems, wie er im Auswahlmenü von LILO ausgegeben wird, bzw. bei der Kommandozeilenversion eingegeben werden muss.

5. LILO entfernen

Um LILO wieder vom Bootsektor zu entfernen, gibt es den Befehl 'lilo -u'. Wenn Sie mit Microsoft Windows oder DOS arbeiten, können Sie den Bootsektor auch von einer Startdiskette aus mit 'fdisk /mbr' wiederherstellen.

Fragen und Anregungen zu diesem Bericht? Schreiben Sie mir eine E-Mail!




nach oben
nach oben

Tipp


Wussten Sie schon?

Das Kommando 'cal' gibt an der Linux-Konsole einen kleinen Kalender mit dem aktuellen Monat aus.