Website-Suche

So verwenden Sie „fsck“ zum Reparieren von Dateisystemfehlern unter Linux


Linux-Dateisysteme sind für die Organisation der Speicherung und Wiederherstellung von Daten verantwortlich. Auf die eine oder andere Weise kann es mit der Zeit dazu kommen, dass das Dateisystem beschädigt wird und auf bestimmte Teile davon nicht mehr zugegriffen werden kann. Wenn in Ihrem Dateisystem eine solche Inkonsistenz auftritt, wird empfohlen, seine Integrität zu überprüfen.

Dies kann über ein Systemdienstprogramm namens fsck (Dateisystemkonsistenzprüfung) erfolgen, das das Root-Dateisystem automatisch während des Startvorgangs überprüft oder manuell ausgeführt wird.

In diesem Artikel werden wir den fsck-Befehl und seine Verwendung untersuchen, um Ihnen bei der Behebung von Linux-Festplattenfehlern zu helfen.

Wann sollte der Befehl fsck unter Linux verwendet werden?

Es gibt verschiedene Szenarien, in denen Sie fsck ausführen möchten. Hier ein paar Beispiele:

  • Das System bootet nicht.
  • Dateien auf dem System werden beschädigt (häufig werden Eingabe-/Ausgabefehler angezeigt).
  • Das angeschlossene Laufwerk (einschließlich Flash-Laufwerke/SD-Karten) funktioniert nicht wie erwartet.

fsck-Befehlsoptionen

Der fsck-Befehl muss mit Superuser-Rechten oder root ausgeführt werden. Sie können es mit verschiedenen Argumenten verwenden. Ihre Verwendung hängt von Ihrem konkreten Fall ab. Nachfolgend sehen Sie einige der wichtigeren Optionen:

  • -A – Wird zur Überprüfung aller Dateisysteme verwendet. Die Liste stammt aus /etc/fstab.
  • -C – Fortschrittsbalken anzeigen.
  • -l – Sperrt das Gerät, um sicherzustellen, dass während der Überprüfung kein anderes Programm versucht, die Partition zu verwenden.
  • -M – Gemountete Dateisysteme nicht prüfen.
  • -N – Zeigt nur, was getan werden würde – es werden keine tatsächlichen Änderungen vorgenommen.
  • -P – Wenn Sie Dateisysteme parallel überprüfen möchten, einschließlich Root.
  • -R – Überprüfen Sie nicht das Root-Dateisystem. Dies ist nur mit „-A“ sinnvoll.
  • -r – Stellt Statistiken für jedes überprüfte Gerät bereit.
  • -T – Zeigt den Titel nicht an.
  • -t – Geben Sie ausschließlich die zu überprüfenden Linux-Dateisystemtypen an. Typen können durch Kommas getrennte Listen sein.
  • -V – Geben Sie eine Beschreibung dessen an, was getan wird.

Führen Sie den Befehl fsck aus, um Linux-Dateisystemfehler zu reparieren

Um fsck auszuführen, müssen Sie sicherstellen, dass die Partition, die Sie überprüfen möchten, nicht gemountet ist. Für den Zweck dieses Artikels verwende ich mein zweites Laufwerk /dev/sdb, das in /mnt gemountet ist.

Folgendes passiert, wenn ich versuche, fsck auszuführen, während die Partition gemountet ist.

fsck /dev/sdb

Um dies zu vermeiden, deaktivieren Sie die Partition mit.

umount /dev/sdb

Dann kann fsck sicher ausgeführt werden.

fsck /dev/sdb

Grundlegendes zu fsck-Exit-Codes

Nach dem Ausführen von fsck wird ein Exit-Code zurückgegeben. Diese Codes können im fsck-Handbuch angezeigt 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            

Fsck Linux-Dateisystem reparieren

Manchmal kann mehr als ein Fehler in einem Dateisystem gefunden werden. In solchen Fällen möchten Sie möglicherweise, dass fsck automatisch versucht, die Fehler zu korrigieren. Dies kann erfolgen mit:

fsck -y /dev/sdb

Das Flag -y gibt automatisch „yes“ auf alle Aufforderungen von fsck zur Korrektur eines Fehlers zurück.

Ebenso können Sie dasselbe auf allen Dateisystemen ausführen (ohne root):

fsck -AR -y 

So führen Sie fsck auf einer Linux-Root-Partition aus

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:

  • Erzwinge fsck beim Systemstart
  • Führen Sie fsck im Rettungsmodus aus

Wir werden beide Situationen überprüfen.

Erzwinge fsck beim Systemstart

Dies ist relativ einfach durchzuführen. Sie müssen lediglich eine Datei namens forcefsck in der Root-Partition Ihres Systems erstellen. Verwenden Sie den folgenden Befehl:

touch /forcefsck

Dann können Sie einfach einen Neustart Ihres Systems erzwingen oder planen. Beim nächsten Startvorgang wird der fsck ausgeführt. Wenn Ausfallzeiten kritisch sind, wird empfohlen, diese sorgfältig zu planen, da fsck bei vielen verwendeten Inodes auf Ihrem System etwas mehr Zeit in Anspruch nehmen kann.

Überprüfen Sie nach dem Systemstart, ob die Datei noch vorhanden ist:

ls /forcefsck

Wenn dies der Fall ist, möchten Sie es möglicherweise entfernen, um fsck bei jedem Systemstart zu vermeiden.

Führen Sie fsck im Rettungsmodus aus

Das Ausführen von fsck im Rettungsmodus erfordert ein paar weitere Schritte. Bereiten Sie zunächst Ihr System auf den Neustart vor. Stoppen Sie alle wichtigen Dienste wie MySQL/MariaDB usw. und geben Sie dann Folgendes ein.

reboot

Halten Sie während des Bootens die Umschalttaste gedrückt, damit das Grub-Menü angezeigt wird. Wählen Sie „Erweiterte Optionen“.

Wählen Sie dann „Wiederherstellungsmodus“.

Wählen Sie im nächsten Menü „fsck“ aus.

Sie werden gefragt, ob Sie Ihr /-Dateisystem erneut bereitstellen möchten. Wählen Sie „Ja“.

Sie sollten etwas Ähnliches sehen.

Anschließend können Sie den normalen Startvorgang fortsetzen, indem Sie „Fortsetzen“ auswählen.

Abschluss

In diesem Tutorial haben Sie gelernt, wie Sie fsck verwenden und Konsistenzprüfungen auf verschiedenen Linux-Dateisystemen durchführen. Wenn Sie Fragen zu fsck haben, können Sie diese gerne im Kommentarbereich unten stellen.