Linux und Windows HelpDesk

Linux MBR (grub, lilo) mit Live-CD/DVD reparieren.

Was man nimmt bleibt jedem selbst überlassen. Die Architektur (x86 oder x64) sollte dem installierten System entsprechen.
Ich persönlich benutze in solchen Fällen seit jeher eine Knoppix-CD/DVD, da hat man so ziemlich alles dabei, was man zur Not-Rettung braucht.

Hat man mit der Live-CD/DVD das System gestartet, sollte man zunächst überprüfen, ob die Festplatten in der gewohnter Reihenfolge im Live-System erkannt wurden. Insbesondere wenn man zusätzliche Festplattencontroller im System verwendet, kann es zu Abweichungen in der gewohnten Reihenfolge (/dev/sda, /dev/sdb, /dev/sdc,...) kommen.
Oft wird fdisk -l angeraten doch wenn man mehr als eine Festplatte im System hat, kann das schnell sehr hässlich werden und schwer zu überschauen sein.
Ich empfehle lsblk denn so sieht man alles was man benötigt in einer guten Übersicht.

# lsblk
NAME MAJ:MIN RM  SITZE RO TYPE MOUNTPOINT
sda   8:0 0    32G 0 disk
├─sda1   8:1 0   128M 0 part
├─sda2   8:2 0     1G 0 part [SWAP]
└─sda3   8:3 0  30,9G 0 part
sdb   8:16 0  68,2G 0 disk
└─sdb1   8:17 0  68,2G 0 part
sdc   8:32 0 279,4G 0 disk
└─sdc1   8:33 0 279,4G 0 part
sr0  11:0 1   4,3G 0 rom /mnt-system
cloop0 240:0 0     9G 0 disk /KNOPPIX
cloop1 240:1 0   2,2G 0 disk /KNOPPIX1
cloop2 240:2 0 144,8M 0 disk /KNOPPIX2
zram0 253:0 0     4G 0 disk [SWAP]

Mit lsblk -fm wird zusätzlich u.a. das Dateisystem aufgeführt.
Hier ist es also wie gewohnt /dev/sda mit der klassischen Partitionierung Boot-, Swap- und Root-Partition.

Als erstes wird nun die Root Partition des zu reparierenden Systems gemountet. Ich gehe hier mal vom Dateisystem ext4 aus. Wenn dem nicht so ist, muss der Aufruf entsprechend angepasst werden.

# sudo mount -t ext4 /dev/sda3 /mnt

Wenn wie in diesem Beispiel, eine separate Boot-Partition existiert, muss auch diese gemountet werden.

# sudo mount -t ext4 /dev/sda1 /mnt/boot

Nun wird der Wechsel in die chroot-Umgebung vorbereitet und durchgeführt.

# sudo mount -o bind /dev /mnt/dev
# sudo mount -o bind /sys /mnt/sys
# sudo mount -t proc none /mnt/proc
# sudo cp /proc/mounts /mnt/etc/mtab
# sudo chroot /mnt /bin/bash

Jetzt hängt es ein wenig vom verwendeten Bootloader ab.
Ich gehe davon aus, dass die entsprechenden Konfigurationsdateien in Ordnung sind. Ist dem nicht so, so müssen die Konfigurationsdateien vor den folgenden Schritten angepasst werden.

Verwendet man Lilo, gibt man folgenden Befehl ein.

# /sbin/lilo

Verwendet man Grub, gibt man diese Befehle ein um Grub neu im MBR der Festplatte zu installieren und zu konfigurieren.
Sollte es bei grub-install zu Fehlermeldungen kommen, dann die Option --recheck hinter grub-install anfügen.

# grub-install /dev/sda
# update-grub

Nun verlässt man die chroot-Umgebung mit [STRG]+[D] und fährt das Live-System herunter.