ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Reparatur

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Wiki/Icons/Oxygen/preferences-other.pngDieser Artikel beschreibt, wie man GRUB 2 reparieren kann, wenn er nicht oder nicht mehr so funktioniert wie gewünscht. Bevor man zu Reparaturarbeiten an GRUB 2 geht, sollte man sich stets einen Überblick über das System verschaffen[1]. Nur wenn man sicher weiß, wo die GRUB-2-Dateien liegen und wohin GRUB 2 installiert war bzw. wohin man ihn installieren möchte, kann man die erforderlichen Schritte erfolgreich ausführen.

Reparatur im laufenden System

Am einfachsten ist die Reparatur von GRUB 2, wenn man die betreffende Ubuntu Version, mit der er installiert wurde, noch starten kann. Gelingt dies nicht über das eigentliche GRUB 2 Auswahl-Menü, so kann man die Reparatur mittels Desktop-CD versuchen, oder es - falls verfügbar - über die GRUB-Kommandozeile, den GRUB-Rettungs-Modus oder auch die Super-GRUB-Disk probieren.

Alle nachfolgenden Befehle werden über das Terminal[2] eingegeben:

GRUB 2 erneut in den MBR der Festplatte oder Bootsektor einer Partition installieren

Die Kernkomponenten von GRUB 2 - boot.img und core.img - in den MBR und den verborgenen Bereich oder Bootsektor schreiben (mehr zu grub-setup):

sudo grub-setup /dev/sdX 

sdX ist dabei an das eigene System anzupassen.

GRUB 2 vollständig neu installieren

Zunächst die GRUB 2 Dateien erneut in das Verzeichnis /boot/grub installieren und anschließend die Kernkomponenten von GRUB 2 in den MBR und verborgenen Bereich oder Bootsektor schreiben. (mehr zu grub-install):

sudo grub-install /dev/sdX 

sdX ist dabei an das eigene System anzupassen.

GRUB 2 Pakete reinstallieren

Hat man Probleme, die sich durch Neuinstallation von GRUB 2 nicht beheben lassen, so kann man weiterhin versuchen, die GRUB 2 Pakete, die als Grundlage auch für die Neuinstallation von GRUB 2 auf dem System dienen, zu reinstallieren: Dies bewerkstelligt man einfach mit folgendem Befehl:

sudo apt-get install grub-common grub-pc os-prober --reinstall 

Näheres zu dem Befehl erfährt man unter apt-get.

Die Konfigurationsdatei neu erstellen oder aktualisieren

Die Konfiguration für das Auswahl-Menü ermitteln und in die Datei grub.cfg übertragen (mehr zu update-grub):

sudo update-grub 

Eine zusätzliche Konfigurationsdatei erstellen

Die aktuelle Konfiguration für das Auswahl-Menü ermitteln und in eine frei definierbare Datei speichern - die Datei grub.cfg bleibt dabei unverändert (mehr zu grub-mkconfig):

sudo grub-mkconfig --output=/boot/grub/meine.cfg 

schreibt die aktuelle Konfiguration in die Datei meine.cfg im Verzeichnis /boot/grub, die Datei kann dabei an die eigenen Bedürfnisse angepasst werden.

Die Datenträgerreihenfolge in die device.map schreiben

Wiki/Icons/develop.png Abweichung device.map unter Karmic Koala:

Das Anlegen bzw. Erneuern der Datei /boot/grub/device.map, wie es für Karmic Koala zwingend erforderlich ist, wird unter grub-mkdevicemap beschrieben. GRUB 2 erstellt diese Datei für das richtige Setzen des MBR beim Installieren von GRUB 2.

Reparatur mittels Desktop-CD

Hinweis:

Im folgenden wird davon ausgegangen, dass die verwendeten Desktop-CDs dem zu reparierenden System, insbesondere der Version von GRUB entsprechen!

Root-Directory-Methode

Bei dieser Variante wird GRUB 2 einfach in einem Terminal[2] von der Desktop-CD mittels des GRUB-2-Skripts grub-install erneut auf die angegebene Partition bzw. Festplatte installiert:

  1. Booten von einer Desktop-CD.

  2. Ein Terminal[2] öffnen.

  3. Lokalisieren des Datenträgers & der root-Partition mittels

    sudo fdisk -l 

    Standardmäßig wäre das auf einem System mit einer HDD und einem Betriebssystem sda2. Zum Vergleich - ein System mit einer HDD auf die ein Windows- und zwei Linuxsysteme installiert sind

    Gerät  boot.     Anfang        Ende     Blöcke   Id  System
    /dev/sda1               1        1698    13631488   27  Unbekannt
    /dev/sda2   *        1698        1710      102400    7  HPFS/NTFS
    /dev/sda3            1710        9000    58549923+   7  HPFS/NTFS
    /dev/sda4            9000       30402   171913217    5  Erweiterte
    /dev/sda5            9000       19039    80644483+  83  Linux
    /dev/sda6           19039       29200    81610752   83  Linux
    /dev/sda7           29200       29637     3509248   82  Linux Swap / Solaris
    /dev/sda8           29637       30402     6142976   82  Linux Swap / Solaris

    In diesem Fall wäre je ein root-Verzeichnis in sda5 und sda6.

  4. Einhängen der Partition, in die GRUB installiert werden soll. Dabei muss X durch die Plattenbezeichnung und Y durch die Partition ersetzt werden:

    sudo mount /dev/sdXY /mnt 
    Beispielanweisung: 1.Platte - 2. Partition
    sudo mount /dev/sda2 /mnt
  5. (Optionaler Schritt) Nutzt man auf dem System eine separate Boot-Partition, so muss diese ebenfalls eingehängt werden:

    sudo mount /dev/sdXY /mnt/boot 
  6. Devices von USB/CD einbinden

    sudo mount --bind /dev/ /mnt/dev 
  7. Jetzt reinstalliert man die GRUB-Dateien und schreibt GRUB in den MBR des entsprechenden Datenträgers:

    sudo grub-install --root-directory=/mnt /dev/sdX 

    sdX ist dabei an das eigene System anzupassen.

  8. Nach dem Neustarten des Systems sollte GRUB korrekt arbeiten. Um die Datei grub.cfg auf den neuesten Stand zu bringen, empfiehlt sich noch ein

    sudo update-grub 

chroot-Methode

  1. Den Anweisungen der Root-Directory-Methode bis inklusive "Devices von USB/CD einbinden" folgen.

  2. Wechseln in die chroot-Umgebung.

    sudo chroot /mnt 
  3. Dort führt man die folgenden Befehle aus:

    • Zunächst installiert man die GRUB-Dateien neu in das Verzeichnis /boot/grub und schreibt GRUB in den MBR des betreffenden Datenträgers. Dies erledigt der folgende Befehl:

      grub-install /dev/sdX 

      sdX ist dabei an das eigene System anzupassen.

    • Sollte es dabei zu Fehlern kommen, probiert man es mit:

      grub-install --recheck /dev/sdX 
    • Anschließend erstellt man auf Grundlage der neu installierten Dateien die Datei /boot/grub/grub.cfg neu:

      update-grub 
  4. Abschließend muss man die chroot-Umgebung wieder mit Strg + D verlassen.

Nun sollte mindestens Ubuntu wieder über GRUB 2 starten können. Eventuell muss man aber dann die Konfigurations-Skripte noch den eigenen Bedürfnissen anpassen, um beispielsweise auch andere Betriebssysteme wieder wie zuvor starten zu können.

Hinweis:

Neben den hier verwendeten Befehlen grub-install und update-grub lassen sich in der chroot-Umgebung alle Befehle anwenden, die auch im laufenden System verwendet werden können.

Wann welche Methode?

Die Root-Directory-Methode kann man immer dann wählen, wenn man sicher ist, dass die Datei grub.cfg richtig ist und GRUB 2 nur deswegen nicht richtig startet, weil er nicht oder nicht mehr bzw. nicht mehr richtig im Bootsektor oder dem MBR der betreffenden Festplatte installiert ist. Diese Situation hat man z.B. stets, nachdem Windows nach Ubuntu auf dem System installiert wurde.

Die chroot-Methode verwendet man immer dann, wenn man nur oder auch die grub.cfg neu erstellen lassen will. Außerdem sollte sie auch immer bei komplizierteren Systemkonstellationen wie LUKS- oder LV-Partitionen sowie Raid-Verbunden angewendet werden.

Die Root-Directory-Methode erfordert zwar weniger Einzelschritte, ist dabei aber auch weniger flexibel und erlaubt nicht so viele Reparatur-Optionen wie die chroot-Methode. Ist man sich nicht sicher, welche der beiden Methoden auf die eigene Situation anzuwenden ist, sollte man im Zweifel stets die chroot-Methode wählen, weil man mit ihr auf sämtliche GRUB-2-Befehle zurückgreifen kann, die man auch unter einem laufenden Ubuntu zur Verfügung hat.

Diese Revision wurde am 16. Februar 2011 15:26 von DrScott erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, Bootloader