Wenn Linux nicht ordnungsgemäß bootet und während des initramfs-Vorgangs in einer Busybox- Eingabeaufforderung landet, ist das ziemlich frustrierend. Oft liegt die Ursache in einem Problem mit dem Dateisystem – beispielsweise in einem beschädigten Superblock oder einer Diskrepanz der Festplatten-UUIDs. Ja, es ist nicht immer offensichtlich – manchmal gibt das System kryptische Meldungen wie „UNERWARTETE INKONSISTENZ“ aus oder behauptet einfach, dass /dev/sda1 nicht existiert. Das liegt daran, dass Linux das benötigte Volume nicht finden kann, wahrscheinlich weil die fstab nicht mit den aktuellen UUIDs der Festplatte übereinstimmt oder weil ein Superblock beschädigt ist. Die gute Nachricht? Hat man den ersten Schock überwunden, lässt sich das Problem meist mit ein paar manuellen fsck-Befehlen oder Anpassungen der Konfiguration beheben, und das System läuft wieder. Es ist aber nicht immer einfach, und manchmal passieren seltsame Dinge, wie Fehler beim Mounten oder das System schaltet einfach in den Notfallmodus. Grundkenntnisse können viel Kopfzerbrechen ersparen.
Wie man Dateisystem- oder Bootprobleme unter Linux behebt, wenn es zu BusyBox abstürzt
Prüfen Sie, ob das Root-Dateisystem einen manuellen fsck benötigt.
Das kommt häufig vor. Wenn Ihre Meldung etwa so lautet /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY, deutet das auf Probleme mit dem Dateisystem hin. Normalerweise behebt die Ausführung von fsck # fsck /dev/sda1 -yim initramfs-Modus Beschädigungen. Zuvor müssen Sie das Volume jedoch aushängen, falls es gemountet ist. Manchmal ist das Volume gemountet, oder das System lässt die direkte Ausführung von fsck nicht zu.
- Starten Sie die Busybox-Shell und versuchen Sie dann, das Root-Volume auszuhängen
# umount /dev/sda1. Wenn es gemountet ist, ist das Ihr Hinweis. Funktioniert das nicht? Dann müssen Sie möglicherweise von einem externen Live-USB-Stick oder einer Rettungsdiskette booten und fsck von dort ausführen. - Führen Sie nach dem Aushängen den Befehl aus
# fsck /dev/sda1 -y. Dieser scannt und behebt Dateisystemfehler. Sie werden möglicherweise aufgefordert, Reparaturen zu bestätigen. Mit der Option `-y` werden die Reparaturen automatisch bestätigt. In manchen Fällen reicht dieser Befehl aus, um Ihr System wiederherzustellen.
Einen defekten Superblock manuell reparieren
Falls fsck eine Fehlermeldung ausgibt oder ein Fehler bezüglich eines beschädigten Superblocks auftritt, können Sie diesen ebenfalls reparieren. Identifizieren Sie zunächst Backup-Superblöcke mit fsck # sudo dumpe2fs /dev/vda2 | grep superblock. Suchen Sie nach Backup-Superblöcken, typischerweise in der Nähe von Blöcken wie 98304 oder ähnlichen.
- Führen Sie als Nächstes eine Überprüfung mit einem dieser Backup-Superblöcke durch, zum Beispiel:
# sudo fsck -b 98304 /dev/vda2 -y. - Wenn fsck Probleme meldet und um Bestätigung bittet, antworten Sie unbedingt mit Ja. Das System wird die Fehler beheben, und hoffentlich ist das Volume danach wieder fehlerfrei.
Auf manchen Rechnern ist das Volume möglicherweise noch gemountet, oder fsck lässt sich nicht ausführen. In diesem Fall müssen Sie von einem Live-System booten und die Reparaturen dort durchführen. Denn Linux macht es einem natürlich unnötig schwer.
Fehlende UUIDs für das Boot-Volume oder Probleme mit der fstab-Datei
Wenn Sie sehen, ALERT! /dev/sda1 does not exist. Dropping to a shell.dass die Datei `/etc/fstab` möglicherweise auf das falsche Gerät anhand der UUIDs verweist, starten Sie den Computer von einem Live-Medium und führen Sie den Befehl aus, # sudo blkidum die UUIDs der aktuellen Festplatten aufzulisten.Überprüfen Sie die UUID Ihrer eingebundenen Partition und vergleichen Sie sie mit dem Eintrag in `/etc/fstab`.
- Mounten Sie Ihre Root-Partition:
# sudo mount /dev/sda2 /mnt. - Überprüfen
/mnt/etc/fstabund korrigieren Sie die UUID-Zeile, falls sie fehlerhaft ist. Zum Beispiel:UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1 - Speichern und aushängen, dann neu starten. Die Fehler sollten dann behoben sein, falls dies die Ursache war.
Hardware- oder SATA-Port-Probleme können über GRUB behoben werden.
Falls das BIOS oder die Hardwarekonfiguration Ihres Systems die Festplattenerkennung beeinträchtigt (z. B.durch zufällige SATA-Portnummern), kann die Bearbeitung der GRUB-Bootparameter Abhilfe schaffen. Starten Sie im Notfallmodus oder von einem Live-Datenträger und bearbeiten Sie anschließend die Datei `/boot/grub/grub.cfg`.
- Finde die Zeile, die so aussieht:
Linux /boot/vmlinuz-4.15.0-70-generic root=/dev/sda1 rw quiet elevator=noop fsck.repair=yes - Ersetzen Sie aus Stabilitätsgründen den Pfad zum Stammgerät durch dessen UUID, zum Beispiel:
Linux /boot/vmlinuz-4.15.0-70-generic root=UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro quiet elevator=noop fsck.repair=yes
Dies verhindert, dass fehlerhafte Gerätenamen zu Startproblemen führen, insbesondere wenn Ihre SATA-Anschlüsse unerwartet neu zugewiesen werden. Seien Sie jedoch vorsichtig, wenn Sie den Kernel oder GRUB aktualisieren; manchmal werden diese Konfigurationen zurückgesetzt und müssen erneut vorgenommen werden.
Diese Lösungen funktionieren zwar nicht immer, haben aber schon einige Systeme gerettet, an denen ich herumexperimentiert habe. Es ist zwar etwas mühsam, Protokolle und Befehle zu durchforsten, aber immerhin besser, als Linux jedes Mal komplett neu zu installieren.
Zusammenfassung
- Führen Sie eine manuelle FSK-Prüfung durch, falls während des Systemstarts Dateisystemfehler auftreten.
- Verwenden Sie dumpe2fs, um Sicherungs-Superblöcke zu finden und diese bei Bedarf wiederherzustellen.
- Überprüfen Sie die UUIDs in /etc/fstab,
blkidum Bootprobleme durch UUID-Abweichungen zu vermeiden. - Bearbeiten Sie die GRUB-Konfigurationen, um Hardware-Besonderheiten oder SATA-Neuzuweisungen zu berücksichtigen.
Zusammenfassung
Ehrlich gesagt, kann die Behebung von Bootproblemen unter Linux wie ein Kampf gegen Windmühlen wirken, insbesondere angesichts der vielen Einflussfaktoren – Dateisystembeschädigungen, UUID-Fehler, Hardware-Eigenheiten. Hat man aber erst einmal den Dreh raus, welchen Befehl man ausführen und wo man suchen muss, lässt sich das Problem meist ohne Neuinstallation beheben. Man braucht nur etwas Geduld und logisches Vorgehen bei der Fehlersuche. Hoffentlich hilft das jemandem, Zeit und Frust zu sparen.