[[Vorlage(getestet, xenial, trusty)]] {{{#!vorlage Wissen [:GRUB_Umgebung_analysieren: GRUB Umgebung analysieren] [:Terminal: Ein Terminal öffnen] [:chroot/Live-CD: Mittels Desktop-CD in ein installiertes System wechseln] [:Systeminformationen_ermitteln#Festplatten:Systeminformationen ermitteln] }}} [[Inhaltsverzeichnis(2)]] {{{#!vorlage Warnung Der GRUB 2 Bootloader in der Version 2.0 (stable) ist weiter in der Entwicklung. Hinweise auf tatsächliche Gegebenheiten können daher noch fehlen bzw. nach einem Update nicht mehr zutreffen. Wesentliche Abweichungen sind gekennzeichnet und wenn erforderlich, auch beschrieben. }}} [[Bild(Wiki/Icons/Oxygen/preferences-other.png, 48, left)]] Dieser 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. {{{#!vorlage Experten Für Reparaturen am "EFI-System" muss die Live-CD/DVD bzw. der Live-USB-Stick im ''"EFI-Modus"'' gestartet werden! Weitergehende Hinweise zur Reparatur in einem EFI-System siehe diese [:EFI_Nachbearbeitung#EFI-Eintrag-neu-erstellen:Ausführungen]. }}} {{{#!vorlage Experten Falls man bei der Installation nicht nur das [:Homeverzeichnis:] verschlüsselt, sondern stattdessen die [:LUKS:Systemverschlüsselung (LUKS)] aktiviert hat, muss man das System nun vor allen weiterführenden Schritten zunächst [:LUKS#ffnen-von-LUKS-Geraeten-mit-Passwortabfrage:entschlüsseln]. Wenn man nun {{{#!vorlage Befehl sudo parted -l \}}} ausführt, erkennt man eine oder mehrere Ausgaben wie `Festplatte /dev/mapper/mnt`, wobei zusätzlich `vgubuntu` (sowie `vgubuntu-root` und `vgubuntu-swap`) erscheinen, wenn der Installer die Verschlüsselung mit [:LVM:] ergänzt. Im Folgenden weicht die Anleitung dann nur noch dadurch ab, dass nun anstelle von `/dev/sdXY` stattdessen das entsprechende `/dev/mapper/vgubuntu-root` (LUKS mit LVM) bzw. direkt das soeben durch die Entsperrung erzeugte `/dev/mapper/mnt` (Beispiel ohne LVM) genutzt werden muss. }}} = 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/Shell#Auswahlmenue-Modus: GRUB 2 Auswahl-Menü], so kann man die [:GRUB_2/Reparatur#Reparatur-mittels-Desktop-CD: Reparatur mittels Desktop-CD] versuchen, oder es - falls verfügbar - über die [:GRUB_2/Shell#Kommandozeile: GRUB-Kommandozeile], den [:GRUB_2/Shell#Rettungs-Modus: GRUB-Rettungs-Modus] oder auch die [:GRUB_2/Shell#Alternativer-Systemstart-mit-Hilfe-der-Super-GRUB2-Disk: Super-GRUB-Disk] probieren. Alle nachfolgenden Befehle werden über das Terminal[2] eingegeben: == 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 schreiben (mehr zu [:GRUB_2/Terminalbefehle#grub-install:grub-install]). {{{#!vorlage Befehl sudo grub-install /dev/sdX }}} `sdX` ist dabei an das [:GRUB_Umgebung_analysieren#Festplatten-Aufteilung-und-UUID: eigene System] anzupassen. == GRUB 2 Pakete reinstallieren == Hat man Probleme, die sich durch Neuinstallation von GRUB 2 nicht beheben lassen, so kann man zudem 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: {{{#!vorlage Befehl sudo apt-get update }}} Anschließend abhängig vom System: === BIOS-Installatio n=== {{{#!vorlage Befehl sudo apt-get --reinstall install grub-common grub-pc os-prober # grub-gfxpayload-lists }}} Das Paket '''grub-gfxpayload-lists''' wird nur bei älteren System mit Grub 1.9 benötigt! ===EFI-Installation=== {{{#!vorlage Befehl sudo apt-get --reinstall install grub-common grub-efi-amd64 os-prober }}} 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 ([:GRUB_2/Terminalbefehle#update-grub: mehr zu update-grub]): {{{#!vorlage Befehl 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 ([:GRUB_2/Terminalbefehle#grub-mkconfig: mehr zu grub-mkconfig]): {{{#!vorlage Befehl 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. = Reparatur mittels Desktop-CD = {{{#!vorlage Hinweis Im Folgenden wird davon ausgegangen, dass die verwendete [:Desktop-CD:] dem zu reparierenden System in seiner Architektur, also z.B. 32- oder 64-Bit, entspricht. Wählt man die [#Root-Directory-Methode Root-Directory-Methode], so ist noch auf die selbe GRUB-2-Version zu achten. }}} == chroot-Methode == Hinweis: Nachdem der Ubuntu "alternate" Installer weggefallen ist, bieten die original Debian Installationsmedien mit ihrem Rescue-Modus weiterhin eine bequemere Möglichkeit zu booten, das Wurzeldateisystem auszuwählen, und in eine chroot-Umgebung zu kommen, um `grub-install` ausführen zu können. === Standard Desktop-System === 1. Bootet man mit der [:Desktop-CD:], müssen die relevanten Partitionen [:mount:eingehängt] werden. Man öffnet dazu am Live-Desktop ein Terminal[2] und gibt dort ein: [[Vorlage(Befehl,'sudo mount /dev/sdXY /mnt')]] `sdXY` ist dabei die Rootpartition, die an das [:GRUB_Umgebung_analysieren#Festplatten-Aufteilung-und-UUID: eigene System] anzupassen ist (z. B.: '''/dev/sda5''')! [[Vorlage(Hinweis,"Bei einem [:Btrfs-Dateisystem:] setzt man statt dessen ein: [[Vorlage(Befehl,'sudo mount -o subvol=@ /dev/sdXY /mnt')]]")]] 1. Optionale Schritte * Nutzt man auf dem System eine separate Boot-Partition, so muss diese ebenfalls vorab eingehängt werden: [[Vorlage(Befehl,'sudo mount /dev/sdXY /mnt/boot')]] * Nutzt man auf seinem Rechner das [wikipedia:UEFI:]-Bootverfahren, so muss die relevante Bootpartition vorab eingehängt werden mit: [[Vorlage(Befehl,'sudo mount /dev/sdXY /mnt/boot/efi')]] 1. Vorbereitung und Wechsel in die chroot-Umgebung: * [[Vorlage(Befehl,'sudo mount -o bind /dev /mnt/dev')]] * [[Vorlage(Befehl,'sudo mount -o bind /sys /mnt/sys')]] * [[Vorlage(Befehl,'sudo mount -t proc /proc /mnt/proc')]] * [[Vorlage(Befehl,'sudo cp /proc/mounts /mnt/etc/mtab')]] * [[Vorlage(Befehl,'sudo chroot /mnt /bin/bash')]] 1. Danach führt man die folgenden Befehle (ohne `sudo`) aus: * Zunächst installiert man die GRUB-2-Dateien neu in das Verzeichnis '''/boot/grub''' und schreibt GRUB 2 in den MBR des betreffenden Datenträgers. Dies erledigt der folgende Befehl:[[Vorlage(Befehl,'grub-install /dev/sdX')]] [[Vorlage(Hinweis,"Nutzt man auf seinem Rechner das [wikipedia:UEFI:]-Bootverfahren, so kann man auf die Zuordnung zur Festplatte / Partition ('''/dev/sdXY''') verzichten.")]] * Sollte es dabei zu Fehlern kommen, probiert man es mit: [[Vorlage(Befehl,'grub-install --recheck /dev/sdX')]] * Anschließend erstellt man auf Grundlage der neu installierten Dateien die Datei '''/boot/grub/grub.cfg''' neu: [[Vorlage(Befehl,'update-grub')]] 1. Abschließend muss man die chroot-Umgebung wieder mit [[Vorlage(Tasten, strg+D)]] [:chroot/Live-CD#Beenden: verlassen]. === RAID-System === 1. Zunächst mittels [:Desktop-CD:] booten und sicherstellen, dass die mdadm-Tools installiert und assembliert sind: * [[Vorlage (Befehl, "sudo apt-get install mdadm")]] * [[Vorlage (Befehl, "sudo mdadm --assemble --scan")]] 1. [:mount:Einhängen] der Systempartition: * [[Vorlage (Befehl, "sudo mount /dev/mdX /mnt")]] `mdX` ist dabei an das [:GRUB_Umgebung_analysieren#Festplatten-Aufteilung-und-UUID: eigene System] anzupassen! * Überprüfen der [:Software-RAID#mdadm-conf:mdadm.conf]-Einträge mit Ausgabe von: * [[Vorlage (Befehl, "sudo mdadm --examine --scan")]] * (Optionaler Schritt) Nutzt man auf dem System eine separate Boot-Partition, so muss diese ebenfalls eingehängt werden:{{{#!vorlage Befehl sudo mount /dev/mdX /mnt/boot}}} 1. Vorbereitung und Wechsel in die chroot-Umgebung: * [[Vorlage(Befehl,'sudo mount -o bind /dev /mnt/dev')]] * [[Vorlage(Befehl,'sudo mount -o bind /sys /mnt/sys')]] * [[Vorlage(Befehl,'sudo mount -t proc /proc /mnt/proc')]] * [[Vorlage(Befehl,'sudo cp /proc/mounts /mnt/etc/mtab')]] * [[Vorlage(Befehl,'sudo chroot /mnt /bin/bash')]] 1. Danach führt man die folgenden Befehle aus: * GRUB 2 neu in den MBR des betreffenden Datenträgers installieren: [[Vorlage(Befehl,'grub-install /dev/sdX')]] Installation auf allen teilnehmenden Platten ('''/dev/sda''', '''/dev/sdb''' ...) empfohlen! * Sollte es dabei zu Fehlern kommen, probiert man es mit: [[Vorlage(Befehl,'grub-install --recheck /dev/sdX')]] * Anschließend erstellt man auf Grundlage der neu installierten Dateien die Datei '''/boot/grub/grub.cfg''' neu: [[Vorlage(Befehl,'update-grub')]] 1. Abschließend muss man die chroot-Umgebung wieder mit [[Vorlage(Tasten, 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. {{{#!vorlage Hinweis Neben den hier verwendeten Befehlen `grub-install` und `update-grub` lassen sich in der chroot-Umgebung alle Befehle anwenden, die auch im [#Reparatur-im-laufenden-System laufenden System] verwendet werden können. }}} == Root-Directory-Methode == {{{#!vorlage Experten Nutzt man auf seinem Rechner das [wikipedia:UEFI:]-Bootverfahren, so ist die "Root-Directory-Methode" nicht anwendbar! }}} Bei dieser Variante wird GRUB 2 einfach in einem Terminal[2] von der Desktop-CD mittels des GRUB-2-Skripts [:GRUB_2/Terminalbefehle#grub-install: grub-install] erneut auf der Festplatte installiert: 1. Booten von einer [:Desktop-CD:]. 1. Ein Terminal öffnen. 1. Lokalisieren des Datenträgers, sowie der Root- und gegebenenfalls Bootpartition (siehe [:GRUB_Umgebung_analysieren#Festplatten-Aufteilung-und-UUID: GRUB Umgebung analysieren]). 1. Einhängen der zuvor unter 3. ermittelten Rootpartition:[[Vorlage(Befehl,"sudo mount /dev/sdXY /mnt")]] {{{Beispielanweisung: 1.Platte - 2. Partition sudo mount /dev/sda2 /mnt}}} [[Vorlage(Hinweis,"Bei einem [:Btrfs-Dateisystem:] setzt man statt dessen ein: [[Vorlage(Befehl,'sudo mount -o subvol=@ /dev/sdXY /mnt')]]")]] 1. Optionale Schritte * Nutzt man auf dem System eine separate Boot-Partition, so muss diese ebenfalls vorab eingehängt werden:{{{#!vorlage Befehl sudo mount /dev/sdXY /mnt/boot}}} 1. Devices von USB/CD einbinden Live-System [[Vorlage(Befehl,"sudo mount --bind /dev/ /mnt/dev")]] 1. Jetzt reinstalliert man die GRUB-2-Dateien und schreibt GRUB 2 in den MBR des entsprechenden Datenträgers: * GRUB 1.99 und später:{{{#!vorlage Befehl sudo grub-install --boot-directory=/mnt/boot /dev/sdX }}} 1. Nach dem Neustarten des Systems sollte GRUB 2 korrekt arbeiten. Um die Datei '''grub.cfg''' auf den neuesten Stand zu bringen, empfiehlt sich noch ein{{{#!vorlage Befehl sudo update-grub }}} == Wann welche Methode? == Die [#chroot-Methode chroot-Methode] verwendet man immer dann, wenn man nur oder auch die '''grub.cfg''' neu erstellen lassen will. Außerdem sollte sie immer bei komplizierteren Systemkonstellationen wie [:LUKS:]- oder [:LVM: LV]-Partitionen sowie [:Software-RAID:Raid]-Verbünden und beim Wiederherstellen des Bootloaders eines [:Dualboot:Dualboot-Systems] angewendet werden. Die [#Root-Directory-Methode 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. Diese Methode erfordert zwar weniger Einzelschritte, ist dabei aber auch weniger flexibel und erlaubt nicht so viele Reparaturoptionen 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. Grub kann alternativ auch im Bootsektor einer Partition installiert werden. Wird in den oben genannten Methoden beim Befehl [:GRUB_2/Terminalbefehle#grub-install: grub-install] statt einer Festplattenbezeichnung die einer Partition angegeben, so erfolgt die Installation dort. Diese Art der Installation ist aber nur für fortgeschrittene Anwender ratsam. = Links = * [:GRUB_2:] {Übersicht} Übersichtsseite * [:GRUB_2/Problembehebung: GRUB 2 Probleme und Lösungen] * [:GRUB_2/Installation: GRUB 2 Installation] * [:GRUB_2/Konfiguration: GRUB 2 Konfiguration] * [:GRUB_2/Skripte: GRUB 2 Skripte] * [:GRUB_Umgebung_analysieren: GRUB 2 Umgebung analysieren] * [:GRUB_2/Shell: GRUB 2 Shell] * [:GRUB_2/Aussehen: GRUB 2 optisch anpassen] * [:GRUB_2/Terminalbefehle: GRUB 2 Terminalbefehle] * [:GRUB_2/Grundlagen: GRUB 2 Grundlagen] * [ubuntu_doc:community/Grub2/Installing:Grub2/Installing] auf Ubuntu.com {en} #tag: System, Bootloader/boot/grub