##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 [: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. 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 laufendem 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[1]. * Die wesentlichen GRUB 2 Dateien '''boot.img''' und '''core.img''' in den MBR oder Bootsektor und den verborgenen Bereich schreiben: {{{#!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: {{{#!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: {{{#!vorlage Befehl sudo grub-mkconfig }}} * Die Konfiguration für das Auswahl-Menü ermitteln und in die Datei '''grub.cfg''' übertragen: {{{#!vorlage Befehl sudo update-grub }}} * Die Datei '''device.map''' neu erstellen lassen: {{{#!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:] von der Desktop-CD mittels des GRUB-2-Scripts ``grub-install`` erneut auf die angegebene Partition bzw. Festplatte installiert. Das Skript ``grub-install`` erlaubt es mit der Option ``--root-directory=`` ein anderes Root-Verzeichnis für GRUB 2, als das des laufenden Systems anzugeben. 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. =Super-GRUB-Disk= Mit der [http://www.supergrubdisk.org/index.php Super-GRUB-Disk] {en} kann man ein nicht mehr startendes System zwar nicht reparieren aber starten. Sie bietet einen GRUB-2 der von CD startet und mit dessen Hilfe man die auf dem Computer installierten Systeme erkennen und dann starten kann. So kann man dann ein nicht mehr startendes Ubuntu starten und von dort aus - ohne den Umweg über eine chroot-Umgebung nehmen zu müssen - direkt die notwendigen Reparatur-Kommandos ausführen. ##nicht auf diesen Artikel zutreffenden Kategorien bitte löschen! ##auf Benutzerseiten sind keine Tags erlaubt! ##tag: Netzwerk, Grafik, GNOME, Hardware, Wiki, Ubuntu, Internet, Emulation und Virtualisierung, System, Sicherheit, Shell, Übersicht, Installation, Community, Hilfsmittel, Einsteiger, Server, Multimedia, Xfce, Editor, unfreie Software, Desktop, KDE3, KDE4, Spiele, Bildung, Edubuntu, Programmierung, Büro, Kommunikation, Paketverwaltung, KDE, LXDE, GPS, DVD