ERCC (http://eriedel.info)

Linux: Grub-Reparaturinstallation ganz einfach


Die Notwendigkeit, Grub erneut zu installieren, ergibt sich eher selten und unter besonderen Umständen. Die nachträgliche Veränderung einer Festplattenpartition kann so ein Anlass sein, was durchaus auch im Zuge eines Betriebssystem-Upgrades geschehen kann.

In einem konkreten Fall wurde (auf einem Multiboot-System) ein vorhandenes Xubuntu 10.4 via Live-CD mit Version 12.4 überschrieben, also letztlich eine Neuinstallation durchgeführt, was eine der Upgrade-Optionen darstellt.
Danach konnte kein Betriebssystem mehr gestartet werden. Der Bootloader Grub beschränkte sich auf die Ausgabe einer Fehlermeldung und verharrte im Eingabemodus seiner rescue shell.

error: no such device: 259570cd-8aac-4815-a7e9-76c0f6ff1b71
grub rescue>_

Dies zeigt, dass Grub der angegebenen Kennung (UUID) keine vorhandene Partition zuordnen kann. Somit ist es nicht möglich, den Bootprozess fortzuführen und die Grub-Konfigurationsdatei /boot/grub/grub.cfg zu laden.

Die Ursache hierfür liegt natürlich im vorgenommenen Upgrade. Dabei hat der Installationsprozess die entsprechende Partition auch neu formatiert. Offensichtlich erhielt Grub jedoch noch die alte UUID oder, was wahrscheinlicher ist, wurde überhaupt nicht aktualisiert. Es muss dies als Fehler des Installationsprogramms angesehen werden.


Korrektur

Prinzipiell ist es möglich, Grub über dessen Befehlszeilen-Interface zu »reparieren«. Die einfachere Vorgehensweise besteht darin, Grub schlichtweg neu zu installieren. (Dies hilft auch in Fällen, wo Grub überhaupt nicht mehr startet, z.B. weil der MBR verändert/überschrieben wurde.) Allerdings muss dafür erst einmal ein passendes Betriebssystem gebootet werden, man benötigt also eine Live-CD mit entsprechender GNU/Linux-Version. 1 

Um die Grub-Konfiguration nach Booten des Live-Systems zu aktualisieren, kann man – nach einigen vorbereitenden Anweisungen – mittels chroot in das installierte Linux-System wechseln. 2 
Eine andere Möglichkeit besteht darin, Grub unmittelbar durch das Live-System zu installieren. Bei Anwendung einer Beschreibung hierzu  3  zeigte sich, dass sich der Vorgang sogar noch deutlich vereinfachen lässt. Dieses Verfahren wird nachfolgend dargestellt.

Das System der (oben erwähnten) Xubuntu-CD mountet die gefundenen Laufwerke automatisch. Man erhält diese daher im Dateimanager angezeigt, so auch die Partition des installierten Linux-Systems. Hier zum Bsp.:
/media/a945ab63-7455-41fe-b3f6-a54700d8afa5

Als weitere Variable benötigt man nur noch die Bezeichnung der Festplatte, auf der sich der MBR mit Grub befindet (oder befinden soll). In aller Regel ist das die erste Festplatte, typischerweise mit /dev/sda bezeichnet. 4  Dies lässt sich leicht mit GParted sowie diversen Terminalprogrammen überprüfen.

Die Befehlseingaben im Terminal beschränken sich dann auf:

sudo grub-install --root-directory=/media/a945ab63-7455-41fe-b3f6-a54700d8afa5 /dev/sda

wobei man den Mountpoint-Namen einfach vom Dateimanager kopieren kann.
Danach sollte das Booten von der Festplatte wieder möglich sein.



1 Auch andere Live-Systeme können hierfür geeignet sein, z.B. die BSD-Varianten.

2 Das ist hier beispielhaft erklärt:
http://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windows

3 Re-Installation von Grub mithilfe einer Live-CD:
http://askubuntu.com/questions/143667/boot-error-no-such-device-grub-rescue

4 Sollte es sich um eine andere Festplatte handeln, so müsste in der Systemkonfiguration (BIOS/Firmware) auch eine entsprechend abweichende Boot-Reihenfolge festgelegt sein.



http://eriedel.info/info/div/grub2.html


ERCC (http://eriedel.info)  07/2013   © Erhard Riedel Computer Consulting (ERCC)


Link zur ERCC-Hauptseite   Link zur Info-Übersicht