LILO
Getestet mit openSUSE | Empfohlene Artikel | Verwandte Artikel | |||
|
Bootloader
Download für openSUSE:
Hersteller: 1992-2000: Werner Almesberger
seit 2000: John Coffman
Lizenz: BSD
Webseite: LILO Projektseite
Funktion
LILO ist von seinem Layout her in der Lage, alle benötigten Daten auf den "rohen" Festplatten - ohne Informationen zur Partitionierung - zu finden. Deshalb lassen sich auch Betriebssysteme von einer anderen als der primären Festplatte booten. Beim Booten kann zwischen dem Laden verschiedener installierter Betriebssysteme gewählt werden. Nach dem Laden des MBR in den Speicher wird LILO gestartet; LILO bietet nun dem Benutzer die Auswahl aus einer Liste vorinstallierter Systeme an.
Er kann beim Systemstart Bootsektoren von Partitionen laden, um ein Betriebssystem von dieser Partition zu starten, oder den Linux-Kernel laden und Linux starten. Zudem bietet er die wichtige Gelegenheit, dem Linux-Kernel eine Kommandozeile mitzugeben. Zu Sicherheitszwecken kann LILO ganz oder teilweise passwortgeschützt werden.
Die LILO Startmaschinerie umfasst die folgenden Bestandteile:
- LILO-Bootsektor mit einem Anfangsstück ("erste Stufe") des LILO-Codes, das den eigentlichen LILO beim Systemstart aktiviert.
- LILO-Maschinencode, standardmäßig in /boot/boot-menu.b
- Map-Datei (/boot/map), in der LILO bei seiner Installation einträgt, wo die Linux-Kernel und sonstigen Daten, die er braucht, zu finden sind.
- optional: die Message-Datei /boot/message, die standardmäßig eine graphische LILO-Bootauswahl erzeugt.
- die verschiedenen Linux-Kernel und Bootsektoren, die LILO zum Starten anbieten soll.
Anwenden
Für den LILO-Bootsektor stehen folgende Installationsziele zur Auswahl:
- Auf einer Diskette
Dies ist die einfachste, aber auch langsamste Methode, mit LILO zu booten. Wählen Sie diese Methode, wenn Sie den bestehenden Bootsektor nicht überschreiben wollen. - Im Bootsektor einer primären Linux-Partition der ersten Festplatte
Diese Variante lässt den MBR unberührt. Vor dem Booten muss diese Partition mit fdisk als aktiv markiert werden. Rufen Sie dazu als superuser root fdisk </dev/xxx> auf. Für </dev/xxx> setzen Sie die Device-Bezeichnung für Ihre Festplatte ein. fdisk fragt Sie nun nach einer Eingabe. m gibt Ihnen eine Liste der möglichen Eingaben, mit l werden Ihnen alle Partitionen angezeigt und mit a können Sie die primäre Partition startbar machen. - Im Master Boot Record
Diese Variante bietet die größte Flexibilität. Insbesondere ist dies die einzige Möglichkeit, Linux von Festplatte aus zu booten, wenn sämtliche Linux-Partitionen auf einer zweiten Festplatte liegen und auf der ersten keine erweiterte Partition zur Verfügung steht. Ein Veränderung des MBR birgt aber bei unsachgemäßer Installation auch gewisse Risiken. - Wenn Sie bisher einen anderen Bootmanager verwendet haben...
... und ihn weiterverwenden wollen, gibt es, je nach dessen Fähigkeiten, noch weitere Möglichkeiten. Ein häufiger Fall: Sie haben eine primäre Linux-Partition auf der zweiten Platte, von der aus Sie Linux starten wollen. Ihr anderer Bootmanager wäre imstande, diese Partition über den Bootsektor zu starten. Dann können Sie diese Partition startbar machen, indem Sie LILO in deren Bootsektor installieren und Sie dem anderen Bootmanager als startbar melden.
LILO-Konfiguration
Als flexibler Bootmanager bietet LILO zahlreiche Möglichkeiten, seine Konfiguration den individuellen Erfordernissen anzupassen. Die wichtigsten Optionen und ihre Bedeutung werden im Folgenden erläutert.
Die Konfiguration von LILO wird in der Datei '/etc/lilo.conf' eingetragen. Vor manuellen Änderungen ist es ratsam, eine Sicherheitskopie herzustellen. Eine Änderung wird erst wirksam, indem Sie LILO mit der neuesten Fassung der Konfigurationsdatei neu installieren.
Der Aufbau der Datei lilo.conf
Die Datei '/etc/lilo.conf' beginnt mit einem globalen Abschnitt (
(''global options section'') mit allgemeinen Einstellungen, gefolgt von einem oder mehreren System-Abschnitten (''image sections'') für die einzelnen Betriebssysteme, die LILO starten soll. Ein neuer Systemabschnitt wird jeweils durch eine Zeile mit der Option (''image'') oder (''other'') eingeleitet.
Die Reihenfolge der einzelnen Betriebssysteme in der Datei 'lilo.conf' ist nur insofern von Bedeutung, als das zuerst in der Liste aufgeführte System automatisch gebootet wird, wenn keine Benutzereingabe erfolgt - gegebenenfalls nach Ablauf einer vorkonfigurierten Wartezeit.
Die folgende 'lilo.conf' Datei zeigt eine Beispielkonfiguration auf einem Rechner mit Linux und Windows. Beim Booten sollen zur Auswahl stehen:
- Ein neuer Kernel (/boot/vmlinuz)
- Ein Linux-Kernel als Fallback (/boot/vmlinuz.shipped)
- Windows auf /dev/sda1
- Das Speichertest-Programm Memtest86
### LILO global section boot = /dev/sda # LILO installation target: MBR backup = /boot/MBR.sda.990428 # backup file for the old MBR # 1999-04-28 vga = normal # normal text mode (80x25 chars) read-only menu-scheme = Wg:kw:Wg:Wg lba32 # Use BIOS to ignore # 1024 cylinder limit prompt password = q99iwr4 # LILO password (example) timeout = 80 # Wait at prompt for 8 s before # default is booted message = /boot/message # LILO's greeting ### LILO Linux section (default) image = /boot/vmlinuz # Default label = linux root = /dev/sda7 # Root partition for the kernel initrd = /boot/initrd ### LILO Linux section (fallback) image = /boot/vmlinuz.shipped label = Failsafe root = /dev/sda7 initrd = /boot/initrd.suse optional ### LILO other system section (Windows) other = /dev/sda1 # Windows partition label = windows ### LILO Memory Test image = /boot/memtest.bin label = memtest86
In der Datei /etc/lilo.conf ist alles von einem # bis zum Zeilenende Kommentar. Er wird ebenso wie Zwischenraum von LILO ignoriert und kann zur Verbesserung der Lesbarkeit verwendet werden. Im Folgenden werden die einzelnen Einträge beschrieben:
- Globaler Abschnitt (Parameterteil)
- boot=bootdevice
Device, auf dessen erstem Sektor der LILO-Bootsektor installiert werden soll (das Installationsziel). bootdevice kann sein: ein Diskettenlaufwerk (/dev/fd0), eine Partition (z.B. /dev/hdb3), oder eine ganze Platte (z.B. /dev/hda): letzteres bedeutet die Installation im MBR. Voreinstellung: Fehlt diese Angabe, wird LILO auf der gegenwärtigen Linux-Rootpartition installiert. - lba32
Diese Option umgeht die 1024-Zylinder-Grenze von LILO. Dies funktioniert natürlich nur, wenn das BIOS Ihres Rechners dies auch unterstützt. - prompt
Erzwingt das Erscheinen der LILO-Eingabeaufforderung (Prompt). Die Voreinstellung ist: kein Prompt! Empfohlen, sobald LILO mehr als nur ein System starten soll. Zusammen damit sollte auch die timeout-Option gesetzt werden, damit ein automatisches Booten möglich ist, wenn keine Eingabe erfolgt. - timeout=zehntelsekunden
Setzt eine Auszeit für die Wahl des zu startenden Systems und ermöglicht dadurch das automatische Booten, wenn nicht rechtzeitig eine Auswahl erfolgt. zehntelsekunden ist dabei die verbleibende Zeit in Zehntel Sekunden für eine Eingabe. Durch Drücken von Shift wird diese Funktion außer Kraft gesetzt und der Rechner wartet auf Ihre Eingabe. Die Voreinstellung ist 80. - message = /boot/message
Bei früheren Linux Versionen handelte es sich bei dieser Datei um eine Textdatei, in die eine nähere Beschreibung der Namen der Betriebssysteme untergebracht werden konnte. Bei neueren SuSE Linux Versionen wird mit Hilfe dieser Datei der Splash-Screen geladen.
- boot=bootdevice
- Linux-Abschnitt
- image=kernelimage
Hier muss der Name des zu bootenden Kernel-Images stehen. Dies wird in der Regel /boot/vmlinuz sein. - label=<name>
Innerhalb der /etc/lilo.conf eindeutiger, aber sonst frei wählbarer Name für das System (z.B. Linux). Maximale Länge 15 Zeichen: möglichst nur Buchstaben, Ziffern und Unterstrich - keine Leerzeichen, Sonderzeichen wie deutsche Umlaute u.Ä. Die genauen Regeln für erlaubte Zeichen finden Sie in der originalen LILO-Dokumentation. Die Voreinstellung ist Dateiname des Kernel-Images (zum Beispiel /boot/vmlinuz).
Unter diesem Namen wählen Sie beim Systemstart das gewünschte Betriebssystem aus. - root=<rootdevice>
Damit gibt LILO dem Kernel die Rootpartition (z.B. /dev/sda2) des Linux-Systems an.
Wird diese Option weggelassen, nimmt der Kernel die in ihm selbst eingetragene Rootpartition <kernelimage>. - append=<parameter>
Möchten Sie LILO nachträglich weitere Bootoptionen für den Kernel übergeben, fügen Sie der bestehenden lilo.conf eine mit append beginnende Zeile hinzu und geben nach dem = Zeichen die entsprechenden Parameter durch Leerzeichen getrennt und in Anführungsstrichen ein. Nach dieser Änderung muss LILO als Benutzer root mit lilo neu installiert werden, damit beim nächsten Booten Ihre Änderungen übernommen werden.
- image=kernelimage
- Linux-Abschnitt (Linux - Safe Settings)
Dieser Abschnitt ist in neueren SuSE Linux Versionen in dieser Form nicht mehr vorhanden. Auch wenn ein eigener Kernel installiert wurde, ist es immer möglich, auf diesen Kernel zurückzugreifen und das System zu starten.- optional
Sollte /boot/vmlinuz.shipped gelöscht werden (nicht empfehlenswert!), wird bei der LILO-Installation dieser Abschnitt ohne Fehlermeldung übergangen.
- optional
- Anderes System
- other=<partition>
Mit other werden LILO Startpartitionen anderer Systeme zum Booten bekannt gemacht (z.B. /dev/hda1). - label=name
Wählen Sie hier einen Name für dieses System. Die Voreinstellung - der bloße Device-Name der Partition - ist beim Booten nicht sehr aussagekräftig.
- other=<partition>
- Memory Test
Hier ist nur das Programm zum Testen des Speichers eingetragen.
Im diesem Abschnitt wurden nur die in der Datei /etc/lilo.conf minimal nötigen Einträge besprochen. Weitere nützliche Einstellungen entnehmen Sie bitte der Manual-Page von lilo.conf, die Sie mit dem Befehl man lilo.conf erhalten.
Installation und Deinstallation von LILO
Installation nach Änderung der Konfiguration
Wenn sich an den LILO-Komponenten etwas geändert hat oder wenn sie ihre Konfiguration in /etc/lilo.conf>/tt> modifiziert haben, müssen sie LILO neu installieren. Dies geschieht durch einfachen Aufruf des sog. Map-Installers als Benutzer root:
LILO legt daraufhin ein Backup des Ziel-(Boot-)Sektors an, schreibt seine "erste Stufe" in diesen Sektor und erzeugt eine neue Map-Datei. LILO meldet nacheinander die installierten Systeme - z.B. im Fall unser obigen Beispielkonfiguration:
Added linux * Added suse Added windows Added memtest86
Nach abgeschlossener Installation kann der Rechner neu gestartet werden (als Benutzer root):
Nachdem das BIOS seinen Systemtest ausgeführt hat, meldet sich LILO in einem grafischen "Outfit". (Bei älteren SuSE Linux Versionen erscheint eine Eingabeaufforderung, an der Sie LILO Parameter für den Kernel übergeben und das gewünschte Bootimage auswählen können. Mit Tab lassen sich die Bezeichnungen der installierten Konfigurationen auflisten.)
Linux-Bootloader entfernen
Um LILO zu deinstallieren, wird der Bootsektor, in dem der Linux-Bootloader installiert worden ist, mit seinem früheren Inhalt überschrieben. Unter openSuSE ist das kein Problem, wenn ein gültiges Backup vorhanden ist. Die Vorgehensweise ist beschrieben im Artikel SDB:Problemlösungen-Bootloader:LILO-Löschen
Die Partitionstabelle in einem MBR-Backup wird ungültig, wenn die betreffende Festplatte zwischenzeitlich anders partitioniert worden ist.
Solche Backups sind "Zeitbomben": am Besten sofort löschen!
Externe Links