Linux-Dateisysteme sind dafür verantwortlich, wie Daten organisiert und wiederhergestellt werden. Früher oder später kann das Dateisystem beschädigt werden und bestimmte Teile davon sind möglicherweise nicht zugänglich. Wenn Ihr Dateisystem solche Inkonsistenzen aufweist, wird empfohlen, dessen Integrität zu überprüfen.
Dies kann mithilfe eines Systemdienstprogramms namens fsck (Filesystem-Konsistenzprüfung) erfolgen, das das Stammdateisystem automatisch während des Bootvorgangs überprüft oder manuell ausgeführt wird.
In diesem Artikel werden wir das fsck-Kommando und dessen Verwendung zur Reparatur von Linux-Diskfehlern überprüfen.
Inhaltsverzeichnis
Wann der fsck-Befehl in Linux verwendet werden sollte
Es gibt verschiedene Szenarien, in denen Sie fsck ausführen möchten. Hier sind ein paar Beispiele:
- Das System startet nicht.
- Dateien im System werden beschädigt (oft sehen Sie möglicherweise Ein-/Ausgabefehler).
- Das angeschlossene Laufwerk (einschließlich USB-Sticks/SD-Karten) funktioniert nicht wie erwartet.
Optionen des fsck-Befehls
Der fsck-Befehl muss mit Superuser-Rechten oder als root ausgeführt werden. Sie können ihn mit verschiedenen Argumenten verwenden. Deren Verwendung hängt von Ihrem spezifischen Fall ab. Im Folgenden finden Sie einige der wichtigeren Optionen:
-A
– Wird verwendet, um alle Dateisysteme zu überprüfen. Die Liste wird aus/etc/fstab
übernommen.-C
– Zeigt eine Fortschrittsanzeige an.-l
– Sperrt das Gerät, um sicherzustellen, dass kein anderes Programm während der Überprüfung auf die Partition zugreifen wird.-M
– Überprüft nicht eingehängte Dateisysteme.-N
– Zeigt nur an, was getan werden würde – es werden keine tatsächlichen Änderungen vorgenommen.-P
– Wenn Sie Dateisysteme parallel überprüfen möchten, einschließlich des Wurzelsystems.-R
– Überprüft das Wurzeldateisystem nicht. Dies ist nur mit „-A
“ nützlich.-r
– Bietet Statistiken für jedes Gerät, das überprüft wird.-T
– Zeigt den Titel nicht an.-t
– Gibt die zu überprüfenden Linux-Dateisystemtypen ausschließlich an. Typen können durch Komma getrennte Listen sein.-V
– Bietet eine Beschreibung dessen, was getan wird.
Führen Sie den fsck-Befehl aus, um Fehler im Linux-Dateisystem zu reparieren
Um fsck auszuführen, müssen Sie sicherstellen, dass die zu überprüfende Partition nicht eingehängt ist. Für diesen Artikel werde ich mein zweites Laufwerk /dev/sdb
verwenden, das in /mnt
eingehängt ist.
Hier ist, was passiert, wenn ich versuche, fsck auszuführen, wenn die Partition eingehängt ist.
# fsck /dev/sdb

Um dies zu vermeiden, hängen Sie die Partition aus.
# umount /dev/sdb
Dann kann fsck sicher ausgeführt werden.
# fsck /dev/sdb

Verstehen von fsck-Exit-Codes
Nach dem Ausführen von fsck gibt es einen Exit-Code zurück. Diese Codes können im Handbuch von fsck eingesehen werden, indem Sie Folgendes ausführen:
# man fsck 0 No errors 1 Filesystem errors corrected 2 System should be rebooted 4 Filesystem errors were left uncorrected 8 Operational error 16 Usage or syntax error 32 Checking canceled by user request 128 Shared-library error
Reparieren des Linux-Dateisystems mit fsck
Manchmal können auf einem Dateisystem mehr als ein Fehler gefunden werden. In solchen Fällen möchten Sie möglicherweise, dass fsck automatisch versucht, die Fehler zu korrigieren. Dies kann mit folgendem Befehl erfolgen:
# fsck -y /dev/sdb
Der -y
-Flag, automatisch "ja"
auf alle Aufforderungen von fsck zur Fehlerkorrektur.
Ebenso können Sie dasselbe auf allen Dateisystemen ausführen (ohne root):
$ fsck -AR -y
Wie man fsck auf der Linux-Root-Partition ausführt
In einigen Fällen müssen Sie möglicherweise fsck auf der Root-Partition Ihres Systems ausführen. Da Sie fsck nicht ausführen können, während die Partition gemountet ist, können Sie eine dieser Optionen ausprobieren:
- Erzwingen Sie fsck beim Systemstart
- Führen Sie fsck im Rettungsmodus aus
Wir werden beide Situationen überprüfen.
Erzwingen Sie fsck beim Systemstart
Das ist relativ einfach zu erledigen, das Einzige, was du tun musst, ist eine Datei namens forcefsck im Stammverzeichnis deines Systems zu erstellen. Verwende den folgenden Befehl:
# touch /forcefsck
Dann kannst du einfach einen Neustart deines Systems erzwingen oder planen. Während des nächsten Bootvorgangs wird der fsck durchgeführt. Wenn Ausfallzeiten kritisch sind, wird empfohlen, dies sorgfältig zu planen, da fsck bei vielen verwendeten Inodes auf deinem System möglicherweise etwas länger dauert.
Nach dem Start deines Systems überprüfe, ob die Datei noch vorhanden ist:
# ls /forcefsck
Wenn ja, möchtest du sie möglicherweise entfernen, um ein fsck bei jedem Systemstart zu vermeiden.
Führe fsck im Rettungsmodus aus
Das Ausführen von fsck im Rettungsmodus erfordert einige weitere Schritte. Bereite zunächst dein System für einen Neustart vor. Beende alle wichtigen Dienste wie MySQL/MariaDB usw. und gib dann Folgendes ein:
# reboot
Halte während des Bootvorgangs die Umschalt
-Taste gedrückt, damit das Grub-Menü angezeigt wird. Wähle „Erweiterte Optionen“.

Wähle dann „Wiederherstellungsmodus“.

Wähle im nächsten Menü „fsck“.

Du wirst gefragt, ob du dein /
-Dateisystem neu einhängen möchtest. Wähle „ja“.

Du solltest etwas Ähnliches wie dies sehen.

Du kannst dann den normalen Betrieb fortsetzen, indem du „Fortfahren“ auswählst.

Abschluss
In diesem Tutorial hast du gelernt, wie man fsck verwendet und Konsistenzprüfungen auf verschiedenen Linux-Dateisystemen durchführt. Wenn du Fragen zu fsck hast, zögere bitte nicht, sie im Kommentarbereich unten zu stellen.
Source:
https://www.tecmint.com/fsck-repair-file-system-errors-in-linux/