Vielleicht hattest du eine Hardware-Panne, hast versehentlich etwas kaputt gemacht, oder ein fehlerhaftes Update hat das System gestört? Oft können diese Probleme behoben werden, indem du von einem funktionierenden Linux-System aus mit Chroot in das beschädigte System gelangst und die notwendigen Schritte unternimmst (wie z.B. Grub neu installieren, Kernel neu installieren, initramfs neu erstellen etc.).
Um in das defekte System zu gelangen, stelle zuerst sicher, dass dessen Dateisystem von deinem funktionierenden System zugänglich ist. Dies erreichst du oft am besten, indem du von einer Live-CD/USB/ISO bootest. Verwende am besten das gleiche Betriebssystem wie das des defekten Systems.
Vorbereitung
1. Stelle sicher, dass das defekte Dateisystem zugänglich ist, indem du es mit einem laufenden Linux-System verbindest.
2. Identifiziere die richtige erkannte Festplatte und dessen Partitionen zum Mounten. Verwende `fdisk -l`, um alle verbundenen Partitionen mehrerer Festplatten anzuzeigen.
Device Start End Sectors Size Type
/dev/nvme1nXp1 2048 109398015 109395968 52,2G Linux filesystem
/dev/nvme1nXp2 109408256 109524991 116736 57M EFI System
/dev/nvme1nXp3 109406208 109408255 2048 1M BIOS boot
/dev/nvme1nXp4 109524992 126138367 16613376 7,9G Linux swap
/dev/nvme1nXp5 126138368 976773119 850634752 405,6G Linux filesystem
In diesem Beispielfall ist die defekte Platte "/dev/nvme1nX" und das /home-Verzeichnis in der Partition /dev/nvme1nXp5 sowie die restlichen Root-Verzeichnisse in der Partition /dev/nvme1nXp1. Normalerweise sind alle benötigten Root-Verzeichnisse ausschließlich in einer Partition mit dem Typ "Linux filesystem" vorhanden.
Wenn du dir unsicher bist, welche Festplatte die richtige ist, kannst du mit folgendem Befehl herausfinden welche Festplatten bereits gemountet sind:
mount | grep ^/dev
3. Erstelle ein Mount-Verzeichnis und mounte das beschädigte Dateisystem.
mkdir /rescue
mount /dev/nvme1nXp5 /rescue
mount /dev/nvme1nXp1 /rescue
4. Mounte spezielle Verzeichnisse für die Chroot-Umgebung. Hier bitte beachten, dass je nach Live-CD andere Namen der speziellen Verzeichnisse vorhanden sind. (proc, sysfs und devpts)
mount -t proc proc /rescue/proc
mount -t sysfs sys /rescue/sys
mount -o bind /dev /rescue/dev
mount -t devpts pts /rescue/dev/pts
Chroot Ausführen
Greife nun in das defekte System zu
chroot /rescue
Behebe im Anschluss die Probleme nach deinen Möglichkeiten. Sobald du zufrieden bist, verlässt du die Chroot-Umgebung mit folgendem Befehl
exit
Unmounten
Wenn du den Rechner neustartest, ist kein manuelles Unmounten nötig, da alle Mounts beim Herunterfahren automatisch ausgehängt werden sollten. Alternativ hängst du die Verzeichnisse manuell in umgekehrter Reihenfolge aus
umount /rescue/dev/pts
umount /rescue/dev
umount /rescue/sys
umount /rescue/proc
umount /rescue
Ein defektes Linux-System mit Chroot über eine Live-CD/ISO beheben