##Bitte hier den eigenen Benutzernamen und das geplante Fertigstellungsdatum eintragen [[Vorlage(InArbeit, 15.04.2010, newubunti)]] [[Vorlage(Getestet, Hardy, Intrepid, Jaunty, Karmic, Lucid)]] {{{#!vorlage Wissen [http://wiki.ubuntuusers.de/Baustelle/GRUB_Umgebung_analysieren GRUB Umgebung analysieren] [:Terminal: Ein Terminal öffnen] [:chroot: Das Wechseln in eine chroot-Umgebung mittels Desktop-CD] }}} ## eine vollständige Befehlsübersicht befindet sich im Wiki unter http://wiki.ubuntuusers.de/Wiki/Syntax ## eine Kopiervorlage für viele Syntaxelemente findet man unter http://wiki.ubuntuusers.de/Vorlage/Schnellstart [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/config.png, 60, align=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. =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 es - falls verfügbar - über die [:GRUB Shell:] oder auch die [#Super-GRUB-Disk] probieren. Alle nachfolgenden Befehle werden über das Terminal eingegeben[2]. * Die wesentlichen GRUB 2 Dateien '''boot.img''' und '''core.img''' in den MBR oder Bootsektor und den verborgenen Bereich schreiben ([http://wiki.ubuntuusers.de/Baustelle/GRUB_2_Linux_Befehle#grub-setup mehr zu grub-setup]): {{{#!vorlage Befehl sudo grub-setup /dev/sdX }}} * Die wesentlichen GRUB 2 Dateien in den MBR oder Bootsektor und verborgenen Bereich schreiben und zusätzlich die GRUB 2 Dateien erneut in das Verzeichnis '''/boot/grub''' installieren ([http://wiki.ubuntuusers.de/Baustelle/GRUB_2_Linux_Befehle#grub-install mehr zu grub-install]): {{{#!vorlage Befehl sudo grub-install /dev/sdX }}} * Die aktuelle Konfiguration für das Auswahl-Menü ermitteln und im Terminal ausgeben - die Datei '''grub.cfg''' bleibt dabei unverändert ([http://wiki.ubuntuusers.de/Baustelle/GRUB_2_Linux_Befehle#grub-mkconfig mehr zu grub-mkconfig]): {{{#!vorlage Befehl sudo grub-mkconfig }}} * Die Konfiguration für das Auswahl-Menü ermitteln und in die Datei '''grub.cfg''' übertragen ([http://wiki.ubuntuusers.de/Baustelle/GRUB_2_Linux_Befehle#update-grub mehr zu update-grub]): {{{#!vorlage Befehl sudo update-grub }}} * Die Datei '''device.map''' neu erstellen lassen ([http://wiki.ubuntuusers.de/Baustelle/GRUB_2_Linux_Befehle#grub-mkdevicemap mehr zu grub-mkdevicemap]): {{{#!vorlage Befehl grub-mkdevicemap }}} =Reparatur mittels Desktop-CD= {{{#!vorlage Hinweis Im folgenden wird davon ausgegangen, dass die verwendeten Desktop-CD's 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-Scripts [http://wiki.ubuntuusers.de/Baustelle/GRUB_2_Linux_Befehle#grub-install grub-install] erneut auf die angegebene Partition bzw. Festplatte installiert: 1. Booten von einer LiveCD. 1. Ein Terminal[3] öffen. 1. Lokalisieren des Datenträgers[2]. {{{#!vorlage Befehl sudo fdisk -l # l wie listen }}} 1. Einhängen der Partition, in die GRUB installiert werden soll. Dabei muss ``X`` durch die Plattenbezeichnung und ``Y`` durch die Partition ersetzt werden:{{{#!vorlage Befehl sudo mount /dev/sdXY /mnt}}}{{{Beispielanweisung: 1.Platte - 2. Partition sudo mount /dev/sda2 /mnt }}} 1. (Optionaler Schritt) Nutzt man auf dem System eine separate Boot-Partition, so muss diese ebenfalls eingehängt werden:{{{#!vorlage Befehl sudo mount /dev/sdXY /mnt/boot}}} 1. Jetzt reinstalliert man die GRUB-Dateien und schreibt GRUB in den MBR des entsprechenden Datenträgers:{{{#!vorlage Befehl sudo grub-install --root-directory=/mnt /dev/sdX }}} 1. Nach dem Neustarten des Systems sollte GRUB korrekt arbeiten. Um die Datei '''grub.cfg''' auf den neuesten Stand zu bringen, empfiehlt sich noch ein{{{#!vorlage Befehl sudo update-grub }}} ==chroot-Methode== * Mittels Desktop-CD booten. * Ein Terminal öffnen [2] und die folgenden Befehle ausführen: * Zunächst sollte man sich einen Überblick über die Partitionen auf dem System verschaffen, um bei den nachfolgenden Befehlen die richtige Ubuntu-Partition und eine eventuell vorhandene Boot-Partition in das Live-System einbinden zu können:{{{#!vorlage Befehl sudo fdisk -l }}} * Im weiteren Verlauf wird exemplarisch davon ausgegangen, dass die Ubuntu-Partition auf '''/dev/sda2''' liegt und eine Bootpartition auf '''/dev/sda3''' und GRUB 2 ursprünglich in den MBR installiert wurde. * Nun muss die Partition mit dem installierten Ubuntu in das Verzeichnis '''/mnt''' eingebunden werden:{{{#!vorlage Befehl sudo mount /dev/sda2 /mnt }}} * Nutzt das System eine separate boot-Partition, so muss diese mit{{{#!vorlage Befehl sudo mount /dev/sda3 /mnt/boot }}}ebenfalls eingehängt werden. Bei einer normalen Installation ist diese Partition nicht vorhanden, und somit dieser letzte Befehl nicht erforderlich. * Vor dem Wechsel in das installierte System muss diesem der Zugriff auf wichtige Systeminformationen zugesichert werden. Man bindet dazu das Verzeichnis mit den Gerätedateien innerhalb des installierten Systems ein: {{{#!vorlage Befehl sudo mount -o bind /dev /mnt/dev }}} * Ähnlich verfährt man mit dem Schnittstellendateisystem '''/proc'''. Dieses wird mit {{{#!vorlage Befehl sudo mount -t proc /proc /mnt/proc }}}eingebunden. * Dito für '''/sys''': {{{#!vorlage Befehl sudo mount -o bind /sys /mnt/sys }}}Ohne diese Zeile kann es dazu kommen, dass Grub den Fehler ``Cannot find list of partitions!`` meldet. * Nun erfolgt der Wechsel in das installierte System:{{{#!vorlage Befehl sudo chroot /mnt /bin/bash }}} * 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:{{{#!vorlage Befehl grub-install /dev/sda }}} * Sollte es dabei zu Fehlern kommen, probiert man es mit:{{{#!vorlage Befehl grub-install --recheck /dev/sda }}} * Anschließend erstellt man auf Grundlage der neu installierten Dateien die Datei '''/boot/grub/grub.cfg''' neu:{{{#!vorlage Befehl update-grub }}} * Anschließend kann man die chroot-Umgebung mit{{{#!vorlage Befehl exit }}}verlassen. * Abschließend hängt man zunächst '''/dev''', '''/proc''' und '''/sys'''{{{#!vorlage Befehl sudo umount /mnt/dev sudo umount /mnt/proc sudo umount /mnt/sys }}}und darauf hin das root-System wieder aus:{{{#!vorlage Befehl sudo umount /mnt }}} * 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. ==Wann welche Methode?== Die [#Root-Directory-Methode] kann man immer dann wählen, wenn man sicher ist, dass die Datei '''grub.cfg''' richtig ist 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. Die [#chroot-Methode] verwendet man immer dann, wenn man nur oder auch die gurb.cfg neu erstellen lassen will. Außerdem sollte sie auch immer bei komplizierteren Systemkonstellationen wie [:LUKS:]- oder [:LVM: LV]-Partitionen sowie [:Software-RAID: 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 Root-Directory-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. ##nicht auf diesen Artikel zutreffenden Kategorien bitte löschen! ##auf Benutzerseiten sind keine Tags erlaubt! ##tag: System, Bootloader