Boot-Optionen

Dr. Linux

01.01.2002
Mit einigen Tricks zum Boot-Manager LILO lässt sich auch im Winter frei nach Terry Jacks singen: "We have joy, we have fun, we'll boot linux in the sun…"

Dr. Linux

Komplizierte Organismen, wie Linux-Systeme es nun einmal sind, haben ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt an dieser Stelle Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.

Kein Kommentar?

Obwohl ich als Superuser (root) in meiner /etc/lilo.conf den Bereich

#image = /boot/memtest.bin
#  label = memtest86

auskommentiert habe, erscheint beim Booten die Auswahl memtest86 weiterhin als Menüpunkt und funktioniert auch. Warum wird meine Änderung nicht angenommen?

Dr. Linux: Offensichtlich haben Sie die administrative Arbeit des Superusers nicht ganz zu Ende geführt. Nicht nur nach der Installation eines neuen Kernels, sondern nach jeder Änderung in der /etc/lilo.conf muss der "Linux Loader" (LILO) neu installiert werden. Dabei überträgt das lilo-Kommando die Änderungen in die map-Datei, die sich bei einer Standard-Installation im /boot-Verzeichnis befindet, und erzeugt eine aktuelle Version von /boot/boot.b. Die Startsektoren dieser beiden Dateien auf der Festplatte und weitere Informationen werden in den Bootsektor geschrieben.

Ein Blick auf die Arbeitsweise von LILO erklärt dieses Vorgehen. Im Bootsektor ist nicht genug Platz, um große Programme zu speichern. Deshalb liegt hier nur der erste Teil des Boot-Managers als kleines Stückchen Code (Start-Progrämmchen), das vom BIOS des Rechners ausgeführt wird. Er hat die Aufgabe, das LILO-Hauptprogramm, die Datei /boot/boot.b, zu laden.

Allerdings läuft zu diesem Zeitpunkt noch überhaupt kein Betriebssystem, das einen Treiber zum Zugriff auf ein Dateisystem zur Verfügung stellen könnte. Daher kann das Start-Programm mit Dateinamen und Pfadangaben nichts anfangen. Im Zusammenspiel mit dem BIOS des Rechners besteht zunächst nur die Möglichkeit, Sektoren von einer Festplatte lesen. Damit der LILO-Startcode das Hauptprogramm findet, greift er auf die ebenfalls von lilo im Bootsektor verzeichneten Sektorennummern zu, unter denen /boot/boot.b zu finden ist.

Nach erfolgreichem Start lässt das Hauptprogramm den Anwender zwischen den verschiedenen Betriebsystemen (sofern vorhanden) auswählen. Ist die Wahl auf Linux gefallen, muss LILO den Kernel laden. Dazu wird die Datei /boot/map ausgewertet, die wiederum die Startsektoren enthält, auf denen die Kernel-Datei plus zusätzliche Daten beginnen, die LILO zum Starten eines Betriebssystems benötigt.

So erklärt sich auch, dass jeder Schreibzugriff auf Dateien unterhalb von /boot und auch das Verschieben von Dateien in oder aus /boot die aktuelle /boot/map unbrauchbar macht. Das gilt selbst dann, wenn Dateien später unter demselben Namen ins /boot-Verzeichnis zurückgeschrieben werden, denn diese landen mit großer Wahrscheinlichkeit auf anderen Sektoren als die alten Daten.

Die Erstellung der nötigen Maps und die Installation des LILO-Bootloaders erledigt man als root:

perle@maxi:~ > su - root
Password: Ihr_root-Passwort
root@maxi:~ # /sbin/lilo

Besser und sicherer ist es aber, das Bootloader-Installationsprogramm lilo auch vor kleinen Veränderungen erstmal "erzählen" zu lassen, was es von der neuen Konfiguration hält. Diesen Satz dürfen Sie ganz wörtlich nehmen: Fügen Sie die Optionen -v (für englisch: "verbose", wortreich) und -t für "Testmodus" an den Installationsbefehl an:

root@maxi:~ # /sbin/lilo -v -t
LILO version 21.6 (test mode), Copyright (C) 1992-1998 Werner
Almesberger Linux Real Mode Interface library Copyright (C) 1998 Josh
Vanderhoof Development beyond version 21 Copyright (C) 1999-2000 John Coffman
Released 04-Oct-2000 and compiled at 21:55:07 on May 15 2001.Warning: COMPACT may conflict with LBA32 on some systems
Reading boot sector from /dev/fd0
Merging with /boot/boot.b
Mapping message file /boot/messageSyntax error near line 20 in file /etc/lilo.conf

Die zum Konflikt führenden Optionen compact und lba32 finden Sie in Listing 1 erklärt. Hingegen demonstriert der Syntax-Fehler, was passiert, wenn man eine neu eingetragene Option falsch (etwa dafault anstatt default) schreibt.

Die Option -v kann bis zu fünfmal in einem Befehl angewandt werden. Da das Niveau "maximale Geschwätzigkeit" aber nur für absolute Experten nutzbar ist, beginnen Sie lieber mit weniger -v-Optionen.

Wenn Sie die lilo-Meldungen brauchen, um unbekannten Fehlermeldungen mit Hilfe der Dokumentation (Kasten 1) auf die Spur zu kommen, lassen Sie sich eine Textdatei mit den Ausgaben erstellen:

root@maxi:/tmp # /sbin/lilo -v -v -v -t > Liloauskunft.txt
The boot sector and the map file have *NOT* been altered.

Im Beispiel werden lilos Meldungen in Liloauskunft.txt im aktuellen Verzeichnis (hier: /tmp) abgelegt.

Da im Testmodus – wie die Fehlermeldungszeile " Der Bootsektor und die Map-Datei wurden *NICHT* verändert." beruhigend mitteilt – nichts verändert wird, verliert die Arbeit mit lilo deutlich an Schrecken.

Kasten 1: LILO-Dokumentation

Mit lilo wird auch die umfangreiche englischsprachige Dokumentation User's guide von Werner Almesberger auf Ihrem System installiert. Sie finden sie meist unter /usr/share/doc/packages/lilo oder auch in /usr/doc/lilo. Die Datei heißt oft user.ps.gz, auf einigen Systemen auch user.tex oder user.div.

Alles, was Ihr eigenes System zum Thema lilo liefern kann – Verzeichnisse dieses Namens, Dokumentationsdateien oder das Binärprogramm selbst –, finden Sie, wenn Sie auf einer Kommandozeile den Befehl

perle@maxi:~ > locate lilo

absetzen.

Genaue Informationen zum lilo-Programm und zur Konfigurationsdatei lilo.conf bieten die Manpages ("Handbuchseiten"), aus denen auch die hier vorgestellten Optionen stammen. Falls Ihnen die deutschsprachigen Manpages fehlen, finden Sie diese auch im WWW unter http://www.infodrom.org/projects/manpages-de/: Die lilo-Hilfe steht unter http://www.infodrom.north.de/cgi-bin/man2html?page=lilo§ion=8&language=de bereit, das Äquivalent zu man lilo.conf unter http://www.infodrom.north.de/cgi-bin/man2html?page=lilo.conf§ion=5&language=de.

Das LILO-Mini-Howto liefert Hintergrund-Informationen und beschreibt die Standard-Installation des LILO-Bootloaders. Für die deutsche Fassung (http://www.tu-harburg.de/dlhp/HOWTO/mini/DE-LILO-HOWTO.html) zeichnet das Deutsche Linux-Howto-Projekt (DLHP) verantwortlich.

Das Linux-Boot-Prompt-Howto (deutschsprachig unter http://www.tu-harburg.de/dlhp/HOWTO/DE-BootPrompt-HOWTO.html) enthält eine Zusammenstellung aller Boot-Parameter, die Sie mit Hilfe von LILO während des Bootvorgangs an den Linux-Kernel schicken können.

Wenn beim Booten mit LILO gar nichts erscheint oder nur ein Teil des Wortes wie LI oder gar L01010101, ist die (deutschsprachige) SuSE-Datenbank nicht nur für Nutzer von SuSE Linux interessant (http://sdb.suse.de/de/sdb/html/kgw_lilo_errmsg.html). Weitere Support-Datenbankeinträge zum Thema LILO finden Sie unter http://sdb.suse.de/cgi-bin/sdbsearch.cgi?stichwort=lilo.

Abbildung 1: Ohne Passwort wird nicht gebootet

Passwort für Linux

Auf meinem Rechner läuft Windows (mit der Spiel- und Lernsoftware meiner Kinder) und Linux, das die Internet-Einwahl ermöglicht. Ich würde gern verhindern, dass meine Kinder Linux booten, da sie das Internet im jetzigen Alter nur kontrolliert nutzen sollen. Außerdem möchte ich versehentliches "unsachgemäßes" Ausschalten des Rechners vermeiden, sollte Linux versehentlich starten. Um die vorhandene Spiel- und Lernsoftware zu nutzen, sollten die Kinder selbstständig Windows booten dürfen, Linux aber nicht. Sind solche Vorstellungen realistisch?

Dr. Linux: Mit einer Vielzahl Optionen lässt sich das Boot-Verhalten von LILO individuell definieren. Grundsätzlich gelten Optionen, die in der globalen Sektion am Dateianfang der lilo.conf stehen und in der (englischen) Manpage unter GLOBAL OPTIONS verzeichnet sind, als allgemeine Einstellung.

Mit einer image- oder einer other-Zeile beginnt ein System-Abschnitt ("per-image section"), der für jeweils eines der Betriebssysteme gilt, die LILO booten soll. Hier lassen sich einige der globalen Optionen auf Fallbasis überschreiben.

Durch die globale Option default legen Sie fest, welches Betriebssystem nach Einschalten (ggf. nach Ablauf einer konfigurierten Wartezeit) des Rechners startet, sofern keine Benutzereingabe erfolgt. Ist diese Option nicht vorhanden, bootet normalerweise das Betriebssystem im ersten System-Abschnitt.

Die Option password lässt sich sowohl in der globalen Sektion, als auch in den System-Abschnitten der einzelnen Betriebssysteme einsetzen. In der Beispielkonfiguration in Listing 1 enthält der System-Abschnitt für Linux einen entsprechenden Eintrag. Auf diese Weise wird Linux nur gebootet, wenn das richtige Passwort eingegeben wird.

Listing 1

Windows automatisch und Linux nur mit Passwort

# LILO-Konfigurationsdatei /etc/lilo.conf
#
# Beginn der globalen Sektion
boot=/dev/fd0
# "boot" bezeichnet das Gerät (Device), in dessen erstem Sektor
# der LILO-Bootloader installiert ist: hier das Floppy-Laufwerk /dev/fd0.
#
compact
# "compact" bootet (wenige Sekunden) schneller, arbeitet aber nicht
# mit allen Systemen erfolgreich und ist (in der Regel) nur sinnvoll,
# wenn eine Bootdiskette zum Systemstart benutzt wird.
#
lba32
# Stichwort zur Umgehung der 1024-Zylinder-Grenze. Funktioniert nur,
# wenn das BIOS die Option unterstützt und kann zu Konflikten mit
# der Option "compact" führen.
#
vga=normal
# "vga" stellt beim Start den VGA-Textmodus ein.
#
message=/boot/message
# Hinter dieser Option findet LILO die Datei, die beim Laden am Bild-
# schirm ausgegeben werden soll, z. B. ein Bild oder einen Text.
#
read-only
# Die Root-Partition wird für die Dateisystemprüfung nur lesbar
# gemountet und erst anschließend in den endgültigen Lesen- und
# Schreiben-Modus versetzt.
#
prompt
# Eingabeaufforderung, die bei mehr als einem bootbarem Betriebssystem
# auf der Festplatte die Auswahl des gewünschten Systems ermöglicht.
timeout=100
# Festlegung der Wartezeit in Zehntelsekunden für Tastatureingaben
# an der Eingabeaufforderung (Prompt). Erfolgt keine Eingabe, wird
# nach Ablauf der Zeit das erste Image im System-Abschnitt gebootet,
# wenn nicht durch die Option "default" ein anderes vorgeschrieben ist.
#default=windows
# Ende der globalen Sektion
#
#
# System-Abschnitt Linux
image = /boot/vmlinuz
  root = /dev/hda7
  label = Linuxpassword=Ihr_Passwort
# Um das Passwort vor unbefugten Augen zu schützen, löschen Sie es
# nach der Installation einfach aus der /etc/lilo.conf. Alternativ
# ändern Sie die Dateirechte so, dass nur root die Konfigurationsdatei
# lesen kann.
#
#append="<parameter>"
# Zur Übergabe von Kernel-Parametern wie z. B. Hardwarekomponenten.
# Hier nicht gesetzt.
# System-Abschnitt Windows
other = /dev/hda1
  label = windows
  table = /dev/hda

Glossar

auskommentiert

In Skripten und vielen Konfigurationsdateien besteht die Möglichkeit, Zeilen vom einlesenden Programm ignorieren zu lassen, indem das Zeichen # an den Anfang einer Zeile gesetzt wird. Damit können Sie Erklärungen in eine Datei einfügen, ohne dass ihre Funktion beeinträchtigt wird. Die Zusatzinformationen bleiben für den Menschen sichtbar, werden bei der "maschinellen" Auswertung der Datei aber ignoriert. Vor allem in Konfigurationsdateien ist dies eine nützliche Möglichkeit, eine Original-Konfiguration zu sichern und neue Konfigurationen zu testen.

Bootsektor

Bei Datenträgern wie Disketten oder Partitionen einer Festplatte bezeichnet man deren ersten Sektor als Bootsektor. Bei Festplatten benutzt man für den ersten Sektor den Begriff "Master Boot Record" (kurz MBR).

BIOS

"Basic Input/Output System", die Basis-Software des Computers. Beim Hochfahren des Rechners führt dieses Programm einen Selbsttest durch, der u. a. den Grafikmodus feststellt, das Motherboard und den Hauptspeicher überprüft. Anwender können Veränderungen an den BIOS-Einstellungen vornehmen. Genaue Informationen liefern die Broschüren, die beim Kauf eines Computers bzw. Motherboards beiliegen. Auf der Web-Seite http://www.bios-info.de/ finden Sie weitergehende Informationen.

Kernel

Der Betriebssystem-Kern ("Kernel") besteht aus den Komponenten, die das eigentliche Betriebssystem ausmachen. Nur er hat direkten Zugriff auf die Ressourcen des Computers, also auf Plattenplatz, Speicher und Rechenzeit, Tastatur usw. Wird ein Kommando abgeschickt oder ein Programm aufgerufen, so lädt er den benötigten Programmcode in den Hauptspeicher und startet den entsprechenden Prozess (englisch "task"). Prozesse haben keinen Zugriff auf die Ressourcen, sie fordern diese jeweils vom Kernel an. Der Linux-Betriebssystem-Kern verteilt die nötige Rechenzeit und den Speicher so blitzschnell, dass der Eindruck entsteht, Programme könnten gleichzeitig ablaufen.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Allround-Konfigurations-Tools
    Wer als normaler Anwender aus der Mac- oder Windows-Welt kommt, der findet das unter Linux nicht unübliche manuelle Editieren von Konfigurationsdateien zum Zwecke der Systemkonfiguration häufig erst einmal befremdlich. Mit Linuxconf und Webmin existieren zwei distributionsübergreifende Tools, die für einen Großteil der in der Praxis relevanten Systemkonfigurationsarbeiten komfortable Frontends bieten. LinuxUser zeigt Ihnen im folgenden am Beispiel der Neukonfiguration des Bootmanagers Lilo und der Einbindung neuer Dateisysteme, wie sich diese Allround-Konfigurationstools für die grundlegende Systemkonfiguration einsetzen lassen.
  • Der "Grand Unified Boot Loader" GRUB
    Der für GNU/Hurd entwickelte Boot-Manager GRUB stellt dank vieler Features eine wirkliche Alternative zum Linux-Standard-Boot-Manager LILO dar. Wir zeigen, wie der Umstieg funktioniert.
  • Dr. Linux
    Komplizierte Organismen, wie Linux-Systeme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt an dieser Stelle Rezepte für aktuelle Kernel-Probleme aus und Heilmethoden für Beschwerden mit dem Linux-Betriebssystemkern vor.
  • Videos auf der Konsole - Framebuffer im Einsatz
    Das Framebuffer Device erlaubt es, Bilder und Videos auf der Konsole darzustellen. Wir zeigen, wie Sie den Framebuffer aktivieren und sinnvoll nutzen können.
  • Systemstart
    Wie funktioniert eigentlich der Systemstart? Wir erklären, woher Ihr Computer weiß, welches Betriebssystem er starten soll, und wie sich die gängigen Bootloader von Linux und Windows unterscheiden.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...