• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie Grub 2 reparieren?

mojo

Member
Hallo,

ich habe Opensuse 12.1 (dev/sda4) mit Ext4 und Grub2 installiert.
Irgendwie hat es mein Windows 7 (dev/sda1) zerlegt, wodurch eine Neuinstallation fällig war.

Dabei wurde ja der Bootloader überschrieben.
Sollte ja eigentlich kein Problem sein (dachte ich), bei Grub(1) bis Opensuse 11.4 wusste ich mir ja zu helfen (mittels Super-Grub).

Nun bekomme ich aber Grub2 nicht mehr "reinstalliert". Auf der Suse-Installations-CD gibt es ja keine Möglichkeit (i.e. Systemreparatur) mehr.

Also habe ich meine Grub2 Super-Disk eingeworfen. Damit kann ich die installierte Opensuse starten. Aber wenn ich in Yast -> System -> Bootloader irgendetwas ändere (in der Hoffnung, dass der Bootloader neu geschrieben wird), schreibt er keinen neuen Bootloader auf die Platte.

Wie bekomme ich denn nun Grub 2 wieder so installiert, wie er vor der Neuinstallation von Windows war?

Alles was ich bisher dazu gefunden habe, bezieht sich entweder auf Grub 1 oder Ubuntu. Und die Anleitungen wollen alle den Bootloader in den MBR schreiben. Laut Yast ist Grub aber in der Root-Partition installiert.

Eigentlich will ich nichts anderes, als Grub wieder so installiert zu haben, wie er ursprünglch installiert war.

Ist dazu diese Vorgehensweise richtig ?:
- Opensuse 12.1 mit SuperGrub2-Disk starten
- in der Konsole mit Root-Rechten "grub-install /dev/sda" eingeben
???

Bevor ich jetzt irgendeiner falschen Anleitung aufsitze, wollte ich da lieber mal nachgefgragt haben ;) .

mojo
 

josef-wien

Ultimate Guru
Wenn GRUB2 tatsächlich im Boot-Sektor der Systempartition installiert wurde, dann ist er dort noch immer vorhanden. In diesem Fall mußt du nur die Systempartition wieder auf aktiv setzen: http://www.linupedia.org/opensuse/GRUB_wiederherstellen#GRUB_im_Boot-Sektor_einer_Partition
 
OP
M

mojo

Member
Habe mit Yast nochmal nachgesehen, wo der Bootloader installiert ist: in der Root-Partition.

Habe dann gparted gebootet und gesehen, dass die Windows-Partition aktiv gesetzt war. Das Umsetzen des Aktiv-Flag auf die Linux-Partiton brachte dann die Lösung:
Grub2 startet wieder wie gewohnt. Vielen Dank an josef-wien.

Wenn aber Grub mal total "zerlegt" ist, dann ist die Installation aber ziemlich aufwändig (nach der Anleitung von Geier0815). Schade, dass es nicht einfacher geht, zumal die Konfigrationsdateien in der Linux-Partition noch vorhanden sind. Bei Grub1 reichte da doch ein grub-install /dev/sdx.

mojo
 

admine

Ultimate Guru
Es hindert dich niemand wieder auf Grub zu gehen.
Als default wurde bei mir kein Grub2 installiert (und das werde ich so lange, wie möglich beibehalten ;) )
 
OP
M

mojo

Member
Doch: die Installationsroutine von Suse. Obwohl..., ich habe gar nicht nachgesehen, ob bei der Installation in der Softwareauswahl Grub2 abgewählt und Grub(1) ausgewählt werden kann.
Ist das etwa der "Trick", um Grub(1) defaultmäßig zu installieren?

Wenn ja, hab' ich es wohl vergeigt :( .

Lässt sich das nachträglich - mit schon installiertem Grub2 - noch ändern ohne Gefahr zu laufen, die gesamte Installation zu beschädigen?

mojo
 

josef-wien

Ultimate Guru
Rein formal kannst Du durchaus mehrere Boot-Manager im Einsatz haben. Zusätzlich zu GRUB2 im Boot-Sektor Deiner Systempartition kannst Du GRUB im Boot-Sektor einer anderen Partition installieren und dann durch Aktivieren der jeweiligen Partition den gewünschen Boot-Manager starten. Du kannst aber auch im Boot-Menü einen chainloader-Eintrag auf den Boot-Sektor, der den anderen Boot-Manager enthält, vornehmen. Wenn mehrere Linux-Systeme installiert sind, mag so etwas durchaus Sinn machen, bei Dir trifft das aber nicht zu.

Was YaST macht, wenn die Pakete grub und grub2 installiert sind, wage ich nicht zu prophezeien, vielleicht weigert sich YaST auch, beide gleichzeitig installiert zu haben.

Entferne das Paket grub2 und installiere das Paket grub, danach sollte die YaST-Bootloader-Einrichtung den Rest besorgen. Bei Problemen (oder vorsorglich gleich) kannst Du GRUB auch manuell installieren (in Deinem Fall ist bei setup dasselbe anzugeben wie bei root). Vor dem Neustart solltest Du sicherstellen, daß Du eine brauchbare menu.lst hast.

mojo schrieb:
grub-install /dev/sdx
Bei openSUSE bekommt Du hier nur eine Fehlermeldung. Das Programm muß ohne Parameter aufgerufen werden und führt (gegebenenfalls nach Aufruf der YaST-Bootloader-Einrichtung) die in /etc/grub.conf enthaltenen GRUB-Befehle aus.
 

admine

Ultimate Guru
@mojo

ich staune nur, dass bei dir scheinbar ohne Nachfrage Grub2 installiert wurde.
Mein 12.1 wurde, ohne das ich dazu etwas angeben musste, mit Grub installiert :roll:

Aber wie du zu Grub kommst, hat dir ja josef-wien schon erklärt.
 
OP
M

mojo

Member
admine schrieb:
@mojo

ich staune nur, dass bei dir scheinbar ohne Nachfrage Grub2 installiert wurde.
Mein 12.1 wurde, ohne das ich dazu etwas angeben musste, mit Grub installiert :roll:

Ja leck mich doch ... :schockiert:

Ich hab' eben mal nachgesehen: es ist tatsächlich Grub installiert - und nicht Grub 2!!!

Dabei könnt ich Stein auf Bein schwören, dass ich nach der Installation in der menu.lst nachschauen wollte und diese leer war. Aha, dachte ich mir, ist dann wohl Grub2 installiert (wurde ja auch als neues Feature für Opensuse 12.1 angekündigt).
Keine Ahnung, was ich da gesehen habe. Vielleicht werde ich auch nur langsam zu alt für den Sch... ;)

Mea culpa, mea maxima culpa :D

mojo
 
Oben