Lilos Erben
Der "Grand Unified Boot Loader" GRUB
Die Boot-Diskette
Wird der Kernel versehentlich gelöscht oder spielt der Boot-Manager auf der Festplatte verrückt, ist eine Rettungsdiskette die einzige Tür zum System. GRUB eignet sich, nicht zuletzt wegen der eingebauten Mini-Shell, hervorragend für Boot-Disketten.
Wer sich mit einer solchen auf die sichere Seite begeben will, sollte eine komplett neue und damit hoffentlich unbeschädigte Diskette für diesen Zweck zur Hand nehmen. Beachten Sie außerdem, dass sie mit dem VFAT-Dateisystem formatiert ist, denn nur dann können Sie die Daten auch unter Windows lesen, um beispielsweise den Kernel in Notfallsituationen auszutauschen.
Um VFAT unter Linux benutzen zu können, benötigen Sie entsprechende Unterstützung im Kernel. Dies ist bei allen Distributionen im Standardkernel der Fall; das entsprechende Modul kann mittels modprobe vfat geladen werden.
Um eine Diskette unter Linux mit einem VFAT-Dateisystem zu versehen, nehmen Sie das Programm mkfs zur Hand, welches bei jeder Distribution zum Lieferumfang gehört. Der nötige Befehl lautet
mkfs -V -t vfat /dev/fd0
und muss, wie alle weiteren Befehle ebenfalls, als Benutzer root ausgeführt werden. Als nächstes legen Sie auf Ihrem Linux-System das Verzeichnis /mnt/grub-floppy an und mountendas Diskettenlaufwerk dorthin: mkdir /mnt/grub-floppy und mount -t vfat /dev/fd0 /mnt/grub-floppy erledigen diese Aufgaben. Danach erstellen Sie das Verzeichnis /mnt/grub-floppy/boot/grub und kopieren alle von GRUB benötigten Dateien dort hinein. Bei Debian geht das folgendermaßen:
mkdir /mnt/grub-floppy/boot mkdir /mnt/grub-floppy/boot/grub cp -ax /usr/lib/grub/i386-pc/* /mnt/grub-floppy/boot/grub/
Unter Red Hat Linux lautet das Kopierkommando hingegen
cp -ax /usr/share/grub/i386-redhat/* /mnt/grub-floppy/boot/grub/
…, während es bei Mandrake und SuSE
cp -ax /boot/grub/*stage* /mnt/grub-floppy/boot/grub/
lautet. Nun müssen Sie den Betriebssystemkern, den Sie später als Rettungskernel benutzen wollen, auf die Diskette schreiben. Ist dieser Kernel unter /boot/vmlinuz-2.4.18 zu finden, lautet der dazugehörige Befehl cp /boot/vmlinuz-2.4.18 /mnt/grub-floppy/. Sollten Sie eine Meldung wie No space left on device bekommen, versuchen Sie bitte, einen speziellen Rettungskernel zu kompilieren, der nur Unterstützung für das enthält, was zum Reparieren des Systems unbedingt notwendig ist (beispielsweise keine Unterstützung für Fernsehkarten).
Zu guter Letzt erstellen Sie noch die Datei /mnt/grub-floppy/boot/grub/menu.lst, die dem GRUB auf der Diskette später als Konfigurationsdatei dient. Sein Inhalt ist dabei weitestgehend identisch mit dem der Konfigurationsdatei, die bei der Festplatteninstallation von GRUB zur Anwendung kommt, es müssen lediglich einige Einträge abgeändert werden. So wird aus
title Linux (2.4.18) kernel (hd0,0)/boot/vmlinuz-2.4.18 root=/dev/hda1
für die GRUB-Floppy-Konfigurationsdatei beispielsweise
title Linux (2.4.18 Rescue Kernel) kernel (fd0)/vmlinuz-2.4.18 root=/dev/hda1
Die Laufwerksbezeichnung ändert sich dabei auf fd0, also auf das Kürze für das Diskettenlaufwerk, und der Pfad zur Kernel-Datei auf dem Laufwerk muss angepasst werden.
Befinden sich alle wichtigen Dateien auf der Diskette, unmounten Sie das Diskettenlaufwerk mittels umount /mnt/grub-floppy/, um mit der GRUB-Installation fortfahren zu können. Begeben Sie sich anschließend durch den Aufruf von grub wiederum auf die GRUB-Shell, um den Boot Loader in den Bootsektor der Diskette zu schreiben. Dazu sind, anders als bei der Festplatteninstallation, nur zwei Befehle nötig:
grub> root (fd0) Filesystem type is fat, using whole disk grub> install /boot/grub/stage1 d (fd0) /boot/grub/stage2 0x8000 p /boot/grub/menu.lst
Zum Schluss sollten Sie sich noch vergewissern, dass beim Erstellen der Rettungsdiskette alles geklappt hat. Stellen Sie dazu im BIOS Ihres Computers die Boot-Reihenfolge so um, dass zuerst versucht wird, von Diskette zu booten und erst danach von der Festplatte. Wenn beim Booten bei eingelegter Rettungsfloppy ein GRUB-Menu mit dem Eintrag für den Rettungskernel auftaucht, hat alles geklappt und die Diskette ist für den nächsten Notfall einsatzbereit.
Glossar
Hurd
Die meisten klassischen Unix-Kommandozeilentools, die bei Linux mitgeliefert werden, damit man mit dem Betriebssystemkern überhaupt etwas anfangen kann, stammen vom GNU-Projekt (http://www.gnu.org/), das sich ursprünglich zum Ziel gesetzt hatte, ein freies Unix-System zu schaffen. Dann kam Linus Torvalds Linux-Kernel, der die Erreichung dieses Ziels in Kombination mit den GNU Utilities schon vorweg nahm. Der Betriebssystem des GNU-Projekt, Hurd, ist bis heute nicht in einem Zustand, der einen produktiven Einsatz empfehlenswert macht.
Boot-Manager
Ein Boot-Manager ist ein kleines Programm, das in den Boot-Sektor einer Festplatte geschrieben wird, eine Reihe von Betriebssystemen zur Auswahl anbietet und das gewählte lädt.
mounten
Das Einhängen eines Datenträgers in die Linux-Verzeichnis-Hierarchie. Die Umkehr des Mounten, also das Aushängen eines Datenträgers aus der Hierarchie, bezeichnet man als Unmounten.
Infos
[1] Das GRUB-Online-Handbuch: http://www.gnu.org/manual/grub-0.90/html_chapter/grub_toc.html
[2] GRUB-Download-Seite: ftp://alpha.gnu.org/gnu/grub/



