DPotW: grub
grub ist ein Bootmanager für Linux und andere Betriebssysteme mit durchaus bemerkenswerten Features
Bootmanager haben ein unauffälliges Leben. Man nimmt sie normalerweise nur dann wahr, wenn irgendwas schief läuft. Für Linux auf x86-Systemen gibt es zwei, die Linux direkt booten können und die nennenswerte Verbreitung erlangt haben: grub und das ältere lilo. lilo habe ich immer gehaßt - und wenn es auch nur deswegen war, dass ich ständig vergessen habe, nach einem Kernelupdate lilo aufzurufen und deswegen das System nicht mehr startfähig war.
Grub macht das alles viel besser. Grub kann interaktiv sein, hat eine Kommandozeile, und kann Dateisysteme verstehen. Das bedeutet, dass der Blocklisten-Hack bei Grub nur noch zum Tragen kommt, damit er seinen eigenen Code finden und nachladen kann: Der schliesslich zu ladende Kernel kommt schon aus dem Dateisystem, und somit braucht man den Bootmanager nicht mehr anzufassen, wenn man den Kernel getauscht hat. Für Hirnartisten ist das sehr praktisch: Ein Schritt, den man weniger falsch machen kann.
Von einem entfernbaren Medium wie einer Diskette gestartet, wirft grub einen auf eine Kommandozeile, auf der man die wichtigsten Dinge direkt erledigen kann: Man kann grub auf einer Festplatte lauffähig installieren, oder ein Betriebssystem booten. Sehr praktisch. Von einer Festplatte gebootet, liest grub eine Datei mit Kommandos, die z.B. ein Menü verschiedener Optionen aufbauen und präsentieren kann. Per Leuchtbalken kann man dann auswählen, was man booten möchte.
Selbstverständlich kann man auch hier eingreifen, und den konkreten Bootvorgang auf Wunsch sehr komfortabel durch Bearbeiten der in der Menüdatei hinterlegten Kommandos customizen. Besonders in Paniksituationen ist man damit sehr flexibel; dieses Feature hat mir schon mehr als einmal den Arsch gerettet.
Die Debian-Package von grub geht noch einen Schritt weiter: Über Hooks in den Kernel-Paketen wird bei der Installation eines kernel-image.deb sofort ein zum Kernel passender Eintrag im grub-Menü erzeugt, so dass man auch mehr als nur zwei Kernels booten kann.
Grub kann natürlich auch andere Betriebssysteme starten, muss bei den Systemen aus Redmond mangels Standardkonformität dieser Systeme allerdings den Umweg über den eigenen Bootloader der Redmondware gehen.
Unterstützung für serielle Konsole ist natürlich vorhanden und sehr komfortabel: Beim Booten wird zuerst parallel auf "richtiger" und serieller Konsole ein Tastendruck (mit Timeout, versteht sich) erwartet, und dort wo die erste Bedienhandlung erfolgt wird dann auch das grub-Menü gezeigt.
Comments
Display comments as Linear | Threaded
Florian Laws on :
Grub ist übrigens der Standard-Bootmanager von OpenSolaris und dem zukünftigen Solaris 11 (in dessen Previews "Solaris Express" ist er schon integriert).
dustpuppy on :
Jetzt bräuchte er nur noch eine man-page, statt dieser $#%#@ "info" page, die nur die hälfte der optionen im fliesstext, verteilt auf 19 untermenues, beschreibt dann könnte man das teil sogar benutzen.