Grub reparieren, installieren

Erstellt: 03.05.2008 13:28

Wenn man hin und wieder das eine oder andere kleine Experiment auf seinem Computer vornimmt, wie testweise ein neues Betriebssystem zu installieren, kann es passieren, dass man seinen Bootmanager Grub vernichtet. cool ist

Mit der Hilfe einer Live-CD, ich nutzte hier die von Ubuntu, kann man relativ einfach Grub wiederherstellen. Ich gehe hier davon aus, dass Grub auf der Live-CD installiert ist, wie es bei Ubuntu und anderen der Fall ist. Falls nicht holt man sich das Paket Grub mit dem passenden Paketmanager nach dem Booten.

Sobald die Live-CD gebootet ist (Man achtet auf die Bootreihenfolge im BIOS) startet man eine Konsole.
Um das Arbeitet zu vereinfachen holt man sich root-Rechte. Auf der Ubuntu-Live-CD geschieht das mit:

$ sudo -s

Wer seine Festplatte mit den Partitionen nicht auswendig kennt, kann sie mit:

# fdisk -l /dev/sda

... nachschauen, ich gehe ab hier davon aus, dass das System mit Grub auf /dev/sda liegt, dies muss man natürlich auf sich anpassen. Eventuell liegt die Schwierigkeit hier die Partitionen den Mountpunkten richtig zuzuordnen. Ein Indiz dabei ist die Grösse. Ein weiterer Hinweis kann die Datei /etc/fstab geben auf der root-Partition des eigenen Systems.

Bei mir sieht die Zuordnung folgend aus:
/dev/sda7 ist /
/dev/sda8 ist /usr
/dev/sda9 ist /var

Die Mountpunkte /home und /tmp sind nicht wichtig. Sollte man /boot oder andere wichtige Verzeichnisse auf eigenen Partitionen haben sowie Unterverzeichnisse von /usr oder /var diese eventuell auch Mounten.
Ein bisschen ungewohnt muss man den Filesystemtyp auf jeden Fall mitgeben.
Zuerst mountet man nun seine wichtigen Partitionen nach (z.B.) /mnt.
Hier sind das /, /usr und /var, danach gegebenen Falles noch andere, wie oben erläutert wurde.

# mount -t ext3 /dev/sda7 /mnt
# mount -t ext3 /dev/sda8 /mnt/usr
# mount -t ext3 /dev/sda9 /mnt/var

Nun mountet man seine restliche Systemumgebung nach /mnt:

# mount -t proc proc /mnt/proc
# mount -t sysfs sys /mnt/sys
# mount -o bind /dev /mnt/dev

Konnte alles erfolgreich gemountet werden, hat man seine aktuelle Installation im Verzeichnis /mnt.
Mit chroot (change root) setzt man man sein aktuelles root-Verzeichnis der Live-CD auf /mnt:

# chroot /mnt /bin/bash

Jetzt lässt sich Grub auf sein Laufwerk neu installieren:

# grub-install /dev/sda

Ist dies erfolgreich beendet die ganze Umgebung noch sauber verlassen:

# cd /
# umount -a
# exit
# cd /
# umount -a
# reboot

Nach dem Reboot ist Grub wieder wie neu sich freut

Tagged: Grub Linux


Ähnliche Artikel:
Hintergrundbild im GRUB-Bootmanager (Bootsplash)
Debian-Grundsystem auf CF-Karte installieren
Bash: Live-Suche nach verwendeten Befehlen
Lese- und Schreibzugriff auf NTFS-Laufwerke
Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'

« Vorheriger Eintrag

Nächster Eintrag »

Kommentare

nadar:

04.05.2008 14:37

Ein wenig umständlich imho. Ich starte die LiveCD; in einer Shell mit root-Rechten gebe ich folgendes ein:
grub> root (hd0,0) (Specify where your /boot partition resides)
grub> setup (hd0) (Install GRUB in the MBR)
grub> quit (Exit the GRUB shell)
(geklaut von gentoo.org)
Mounten braucht man nichts, weil man auf kein FS zugreift.

Kommentar verfassen