Das größte Problem beim Booten eines Betriebssystems besteht darin, dass der Kernel eine Datei auf einem Dateisystem auf einer Partition auf einer Festplatte ist. Für das BIOS allerdings sind Dateisysteme und Partitionen völlig unbekannte Konzepte.
Um dieses Problem zu umgehen, wurden so genannte „Maps“ und „Map Files“ eingeführt. In den Maps werden die physikalischen Blöcke auf der Festplatte notiert, die von den logischen Dateien belegt sind. Wenn so eine Map verarbeitet wird, lädt das BIOS die physikalischen Blöcke in der Reihenfolge, wie sie in der Map-Datei angegeben ist, und baut so die logische Datei im Speicher auf.
Im Gegensatz zu LILO, der sich vollständig auf Maps verlässt, versucht GRUB, sich sobald als möglich von den festen Maps zu lösen Dies erreicht GRUB durch File System Code, der es ermöglicht, auf Dateien durch die Pfadangabe zuzugreifen und nicht mehr durch die Blocknummern.
Dieser Unterschied hat historische Gründe. In den frühen Tagen von Linux kämpften viele verschieden Dateisysteme um die Vorherrschaft. Werner Almesberger entwickelte einen Bootloader (LILO), der nicht wissen musste, auf welchem Filesystem der zu bootende Kernel angelegt war. Die Idee hinter GRUB geht sogar noch weiter zurück in die Tage des traditionellen Unix und BSD. Diese hatten sich gewöhnlich auf ein Dateisystem festgelegt und am Anfang desselben einen bestimmten Platz für den Bootloader reserviert. Dieser Bootloader kannte die Struktur des Dateisystems, in das er eingebunden war, und fand dort die Kernel mit ihren Namen im root-Verzeichnis.
![]() | Wann wird welcher Bootloader installiert? |
|---|---|
Wenn Sie ein Update von einer früheren SUSE LINUX Version durchführen, die LILO benutzte, wird auch wieder LILO eingerichtet. Bei einer Neuinstallation wird dagegen GRUB verwendet, außer die Root-Partition wird auf folgenden Raid-Systemen installiert:
Informationen zur Installation und Konfiguration von LILO erhalten Sie unter dem Stichwort „LILO“ in der Support-Datenbank (http://portal.suse.de/sdb/de/index.html). | |