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.