GRUB Bootmanager
Willemers Informatik-Ecke
Das GRUB-Bootmenü wird in den Master-Boot-Record geschrieben. Der Code, der dort steht, wird vor dem Start eines Betriebssystems ausgeführt. Mancher erinnert sich vielleicht noch an die Boot-Record-Viren zu MS-DOS-Zeiten. Der Nachfolger Windows benutzt den Boot-Record nicht.

GRUB schreibt dort den Code für sein Boot-Menü hinein. Existiert auf der Platte ein Windows, findet der GRUB-Ersteller dieses und trägt es in das Menü ein.

Bei einer Neuinstallation von Windows wird der Master-Boot-Record gelöscht. Das erweckt den Eindruck, als ob Windows Linux entfernt habe. Das ist aber nicht richtig. Nur das Boot-Menü ist weg. Gelingt es, das Boot-Menü wieder herzustellen, ist Linux mit allen Daten wieder zugreifbar.

Wiederherstellung des GRUB Bootloaders

Es gibt bestimmte Situationen, in denen der Bootloader plötzlich nicht mehr funktioniert. Es passiert beispielsweise immer dann, wenn ein Windows auf dem System nachinstalliert werden musste.

Booten Sie mit einer Linux-CD. Es muss keine Live-CD wie Knoppix sein. Es funktioniert auch mit einer normalen Installations-CD. Nach dem erfolgreichen Start wechseln Sie auf eine Kommandozeile. Das gelingt durch die Tastenkombination Alt-Strg-F2. Sie erhalten einen Login. Melden Sie sich als root an oder rufen Sie sudo -s.

Original mounten

Nun muss die Partition, auf der sich ihre Linux-Installation befindet, per mount auf das Verzeichnis /mnt.

Dazu muss man wissen, auf welcher Partition die zu bootende Linux-Umgebung steht. Das ermittelt man beispielsweise durch den Befehl fdisk -l /dev/sda. Ist bekannt, dass beispielsweise diese unter /dev/sda5 eingerichtet ist, wird sie per mount auf den Standard-Mount-Pfad /mnt eingehängt. Der Befehl lautet bei /dev/sda5:

mount /dev/sda5 /mnt
Wechseln Sie in das Verzeichnis, indem sich grub befindet. Das dürfte nun /mnt/boot/grub sein. Das ist nicht wirklich erforderlich, aber Sie merken spätestens jetzt, ob Sie die richtige Partition eingebunden haben.

Plan A: Grub installieren

Auf jeden Fall befindet sich auf der Partition die bislang funktionierende GRUB-Konfiguration, die nur noch mit grub-install neu geschrieben werden muss.
grub-install --root-directory=/mnt /dev/sda
Die Option --root-directory ist erforderlich, weil die GRUB-Konfiguration an anderer Stelle im Verzeichnisbaum eingehängt ist.

Das war's. Nun muss nur noch gebootet werden.

Oder auch nicht? Plan B

grub-install funktioniert nicht in jedem Fall. Gibt es eine Fehlermeldung, dürfte der folgende Weg Erfolg haben:

Zunächst gehen wir von der obigen Situation aus. Sie haben die zukünftige Bootpartition gefunden und haben sie mit dem Mount-Befehl eingehängt:

mount /dev/sda5 /mnt

Nun wird das Verzeichnis /mnt durch den Befehl chroot zum Basisverzeichnis gemacht. Allerdings müssen vorher die Verzeichnisse /proc, /dev und /sys im Bereich hinter /mnt zugreifbar gemacht werden. Dazu verwendet man den Befehl mount --bind.

mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt
grub-install /dev/sda
update-grub
Wenn es keine Fehlermeldungen gab, müsste nun ein Reboot einwandfrei funktionieren.

GRUB Bootloader: Einträge reduzieren

Bei den Kernel-Updates sammeln sich in den Menüs immer mehr Kernel-Images. Um diese zu reduzieren, kann man beispielsweise über die Paketverwaltung Synaptic die alten Kernel-Images deinstallieren. Dabei werden sie auch automatisch aus dem GRUB-Menü entfernt. Unter der Schnellsuche gibt man linux-image generic ein und bekommt angezeigt, welche Kernels installiert sind. Mindestens die aktuellste Kernel-Version sollte man behalten. Bei älteren Kernels, die als installiert markiert sind, klickt man auf die Markierung und wählt Zum vollständigen Entfernen vormerken. Abschließend führt ein Klick auf Anwenden zur Deinstallation.

Hintergründe finden sich auf auf http://wiki.ubuntuusers.de/Kernel#Kernel-deinstallieren.