20 Fsck-Befehle zum Überprüfen und Reparieren von Linux-Dateisystemen
Die Aufrechterhaltung der Integrität von Dateisystemen ist sehr wichtig, um Ihre Linux-Systeme reibungslos am Laufen zu halten. Dateisysteme können durch Hardwarefehler, Stromausfälle oder Softwarefehler beschädigt oder inkonsistent werden. Dies kann zu Datenverlust oder Systeminstabilität führen. Dieses umfassende Tutorial bietet nützliche fsck-Befehle mit Beispielen, um Dateisysteme in Linux zu überprüfen und zu reparieren.
Das fsck (Dateisystemprüfung)-Dienstprogramm hilft Ihnen, Ihre Dateisysteme auf Probleme zu überprüfen und zu reparieren. Sie können es manuell ausführen oder es automatisch die Dateisysteme während des Systemstarts überprüfen lassen. Mit fsck können Sie nach Fehlern suchen, beschädigte Datenstrukturen reparieren und fehlerhafte Festplattenblöcke markieren, um weitere Probleme zu verhindern.
Lassen Sie uns mit den Grundlagen der Überprüfung und Reparatur von standardmäßigen Linux-Dateisystemen mit dem Befehl fsck beginnen. Aber davor müssen wir die Dateisysteme finden, die repariert werden müssen, und sie aushängen.
[Warnung]
Führen Sie diese Befehle nicht auf Produktionssystemen ohne ordnungsgemäße Sicherungen aus, da sie bei falscher Anwendung Daten beschädigen oder löschen können. Wir werden in Testumgebungen üben, um Ihre Sicherheit zu gewährleisten.
[HINWEIS]
Die folgenden Befehle müssen mitsudo- oderroot-Rechten ausgeführt werden.
Dateisysteme aushängen
Die Verwendung von fsck auf einem eingehängten Dateisystem wird im Allgemeinen nicht empfohlen. Das Ausführen von fsck auf einem eingehängten Dateisystem kann zu Datenbeschädigungen oder anderen Problemen führen, da das Dateisystem aktiv vom Betriebssystem genutzt wird.
Der sicherste Weg, fsck zu verwenden, besteht darin, das Dateisystem zuerst zu unmounten. Sie können die Befehle df -h oder lsblk verwenden, um Ihre gemounteten Dateisysteme (Partitionen) zu erhalten. Siehe diesen Leitfaden, um Festplattenpartitionen in Linux aufzulisten.
Sobald Sie das Dateisystem gefunden haben, das Sie reparieren möchten, hängen Sie es wie unten gezeigt aus:
umount /dev/sdXNErsetzen Sie /dev/sdXN durch die tatsächliche Gerätekennung (z. B. /dev/sda).
Nachdem Sie die Dateisysteme repariert haben, vergessen Sie nicht, sie einzuhängen.
mount /dev/sdXNLinux fsck-Befehle zum Reparieren von Linux-Dateisystemen
In diesem Tutorial habe ich 20 wesentliche fsck-Befehle zusammengestellt, um Dateisysteme in Linux- und Unix-ähnlichen Betriebssystemen zu überprüfen und zu reparieren.
Diese Befehle helfen den Linux-Systemadministratoren, die Integrität und Zuverlässigkeit der Dateisysteme aufrechtzuerhalten. Sie ermöglichen das Überprüfen, Reparieren und Verwalten von fehlerhaften Blöcken sowie das Ausführen verschiedener anderer Wartungsaufgaben für Dateisysteme.
Es ist wichtig, diese Befehle mit Vorsicht zu verwenden, da sie bei unsachgemäßer Anwendung potenziell Datenverlust verursachen können. Erstellen Sie immer Backups, bevor Sie irgendwelche Dateisystemreparaturen oder -änderungen durchführen.
1. Trockenlauf-Dateisystemprüfung
fsck -NDiese Option weist fsck an, einen Trockendurchlauf durchzuführen, was bedeutet, dass sie tatsächlich keine Änderungen am Dateisystem vornehmen wird. Stattdessen wird angezeigt, welche Aktionen sie ausführen würde, wenn sie ohne das -N-Flag ausgeführt würde. Dies ist nützlich, um mögliche Änderungen vor der Durchführung zu überprüfen.
Beispielausgabe des obigen Befehls wäre:
fsck from util-linux 2.36.1
[/usr/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/nvme0n1p2
[/usr/sbin/fsck.vfat (1) -- /boot/efi] fsck.vfat /dev/nvme0n1p1
[/usr/sbin/fsck.exfat (1) -- /media/user/WD_SSD] fsck.exfat LABEL=WD_SSD Erlauben Sie mir zu erklären, was diese Ausgabe bedeutet:
fsck from util-linux 2.36.1
Diese Zeile zeigt an, dass der fsck-Befehl Teil des Pakets util-linux in der Version 2.36.1 ist.
[/usr/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/nvme0n1p2Diese Zeile zeigt, dass fsck ein ext4-Dateisystem auf dem Gerät /dev/nvme0n1p2 erkannt hat (wahrscheinlich eine Partition auf einer NVMe-Festplatte). In diesem Trockenlauf würde fsck den Befehl /usr/sbin/fsck.ext4 aufrufen, um dieses ext4-Dateisystem, das im Stammverzeichnis (/) gemountet ist, zu überprüfen und möglicherweise zu reparieren.
[/usr/sbin/fsck.vfat (1) -- /boot/efi] fsck.vfat /dev/nvme0n1p1Hier hat fsck ein FAT (vfat) Dateisystem auf dem Gerät /dev/nvme0n1p1 gefunden, das wahrscheinlich die EFI-Systempartition (ESP) ist, die unter /boot/efi gemountet ist. Im Trockenlauf würde fsck /usr/sbin/fsck.vfat aufrufen, um dieses FAT-Dateisystem zu überprüfen und gegebenenfalls zu reparieren.
[/usr/sbin/fsck.exfat (1) -- /media/user/WD_SSD] fsck.exfat LABEL=WD_SSDDiese Zeile zeigt an, dass fsck ein exFAT-Dateisystem mit dem Label WD_SSD erkannt hat, das unter /media/user/WD_SSD gemountet ist. Im Trockenlauf würde fsck /usr/sbin/fsck.exfat aufrufen, um dieses exFAT-Dateisystem zu überprüfen und möglicherweise zu reparieren.
Zusammenfassend zeigt diese Ausgabe, dass fsck -N einen Trockendurchlauf durchführt, um drei verschiedene Dateisysteme auf diesem System zu überprüfen:
- Ein ext4-Dateisystem, das im Stammverzeichnis (
/) eingebunden ist. - Ein FAT (vfat) Dateisystem, gemountet unter
/boot/efi, wahrscheinlich die EFI-Systempartition. - Ein exFAT-Dateisystem mit dem Label
WD_SSD, das unter/media/user/WD_SSDeingehängt ist.
Der Trockenlauf listet einfach die Aktionen auf, die fsck zur Überprüfung und Reparatur dieser Dateisysteme ausführen würde, wenn es ohne die Option -N ausgeführt wird. Während dieses Trockenlaufs werden keine tatsächlichen Änderungen an den Dateisystemen vorgenommen.
2. Überprüfen und Reparieren aller Dateisysteme
fsck -AsDieser Befehl überprüft und versucht, alle im /etc/fstab-Datei aufgeführten Dateisysteme zu reparieren. Die -A-Option weist fsck an, alle Dateisysteme zu überprüfen, und die -s-Option weist es an, die Überprüfung von als „sauber“ markierten Dateisystemen zu überspringen.
3. Erzwinge Dateisystemprüfung
fsck -f /dev/sda1Dieser Befehl erzwingt eine Dateisystemprüfung auf dem Gerät /dev/sda1, das normalerweise eine Partition oder Festplatte ist. Die Option -f erzwingt, dass fsck das Dateisystem überprüft, auch wenn es als sauber markiert ist.
Beispiel:
$ sudo fsck -y /dev/sda1
fsck from util-linux 2.36.1
exfatprogs version : 1.1.0
/dev/sda1: clean. directories 2774, files 407754. Erzwinge Dateisystemprüfung mit ausführlicher Ausgabe
fsck -fv /dev/sda1Ähnlich wie beim vorherigen Befehl erzwingt dies eine Dateisystemüberprüfung auf /dev/sda1, jedoch mit der zusätzlichen Option -v, die ausführliche Ausgaben erzeugt und detailliertere Informationen über den Überprüfungsprozess bereitstellt.
5. Automatische Dateisystemreparatur
fsck -y /dev/sda1
Dieser Befehl überprüft und repariert das Dateisystem auf /dev/sda1, und die -y-Option beantwortet automatisch alle Aufforderungen oder Fragen, die fsck während des Reparaturvorgangs stellen könnte, mit „Ja“.
6. Überprüfen Sie das ext2-Dateisystem und markieren Sie fehlerhafte Blöcke
fsck.ext3 -c /dev/sda1Dieser Befehl überprüft speziell ein ext3-Dateisystem auf /dev/sda1. Die -c-Option weist fsck an, den Befehl badblocks auszuführen, um fehlerhafte Blöcke auf dem Gerät zu finden und zu markieren.
7. Schlechte Blöcke für ext2/ext3/ext4-Dateisysteme markieren
e2fsck -c /dev/sda1Dies ist ähnlich wie der vorherige Befehl, jedoch für ext2/ext3/ext4-Dateisysteme. Er markiert alle gefundenen fehlerhaften Blöcke und fügt sie dem fehlerhaften Block-Inode hinzu, wodurch verhindert wird, dass sie Dateien oder Verzeichnissen zugewiesen werden.
8. Automatische Reparatur für ext2/ext3/ext4-Dateisysteme
e2fsck -pDieser Befehl repariert automatisch ein ext2-/ext3-/ext4-Dateisystem, ohne Fragen zu stellen, was ihn für unbeaufsichtigte oder skriptgesteuerte Reparaturen geeignet macht.
9. Trockendurchlauf für ext2/ext3/ext4-Dateisysteme
e2fsck -nDiese Option führt einen Testlauf durch, ähnlich wie fsck -N. Sie überprüft das Dateisystem, nimmt jedoch keine Änderungen vor und meldet nur mögliche Probleme.
10. Nehmen Sie "Ja" für die Reparatur des ext2/ext3/ext4-Dateisystems an
e2fsck -yWie fsck -y nimmt dieser Befehl auf alle während des Dateisystemreparaturvorgangs gestellten Fragen „Ja“ an, was unbeaufsichtigte oder skriptgesteuerte Reparaturen ermöglicht.
11. Überprüfen und fügen Sie schlechte Blöcke zur schlechten Blockliste hinzu
e2fsck -cDiese Option prüft auf fehlerhafte Blöcke im Dateisystem und fügt sie der Liste fehlerhafter Blöcke hinzu, wodurch deren zukünftige Verwendung verhindert wird.
12. Erzwingen einer Dateisystemprüfung für ext2/ext3/ext4
e2fsck -fDies zwingt e2fsck, das Dateisystem zu überprüfen, selbst wenn es als sauber markiert ist.
13. Detaillierte Ausgabe für ext2/ext3/ext4-Dateisystemprüfung
e2fsck -vErmöglicht ausführliche Ausgaben und liefert detailliertere Informationen über den Prüf- und Reparaturvorgang.
14. Alternative Superblock-Position verwenden
e2fsck -b $SuperblockDiese Option ermöglicht es Ihnen, einen alternativen Superblock-Standort anzugeben, den e2fsck beim Überprüfen des Dateisystems verwenden soll.
Beispiel:
e2fsck -b 32768 /dev/sda1Dieser Befehl überprüft das ext2/3/4-Dateisystem auf /dev/sda1 unter Verwendung des Superblocks, der sich am Byte-Offset 32768 befindet. Dies kann nützlich sein, wenn der primäre Superblock beschädigt ist und Sie einen alternativen Superblock-Standort verwenden müssen.
15. Erzwinge Blockgröße für Superblock-Suche
e2fsck -B $BlockSizeZwingt e2fsck, eine bestimmte Blockgröße bei der Suche nach dem Superblock zu verwenden.
Beispiel:
e2fsck -B 4096 /dev/sdb2Dieser Befehl zwingt e2fsck, beim Überprüfen des Dateisystems auf /dev/sdb2 eine Blockgröße von 4096 Bytes zu verwenden. Dies kann notwendig sein, wenn das Dateisystem mit einer nicht standardmäßigen Blockgröße erstellt wurde.
16. Externen Journal-Speicherort festlegen
e2fsck -j $DirGibt den Speicherort eines externen Journals für das zu überprüfende Dateisystem an.
Beispiel:
e2fsck -j /mnt/backup/external_journal /dev/sdc1Dieser Befehl gibt an, dass das externe Journal für das Dateisystem auf /dev/sdc1 sich unter /mnt/backup/external_journal befindet. Dies ist relevant für Dateisysteme, die ein externes Journal verwenden, zum Beispiel wenn eine separate Festplatte oder Partition für das Journal genutzt wird.
17. Schlechte Blöcke aus Datei zur Liste der schlechten Blöcke hinzufügen
e2fsck -l $BadBlocksFileFügt die in der angegebenen Datei aufgelisteten fehlerhaften Blöcke zur Bad-Block-Liste des Dateisystems hinzu.
Beispiel:
e2fsck -l /root/bad_blocks.txt /dev/sda2Dieser Befehl fügt die in der Datei /root/bad_blocks.txt aufgeführten fehlerhaften Blöcke zur Liste der fehlerhaften Blöcke für das ext2/3/4-Dateisystem auf /dev/sda2 hinzu.
18. Schlechtblockliste aus Datei setzen
e2fsck -L $BadBlocksFileLegt die Liste der fehlerhaften Blöcke für das zu überprüfende Dateisystem auf die in der angegebenen Datei aufgeführten Blöcke fest.
Beispiel:
e2fsck -L /root/bad_blocks.txt /dev/sdb1Dieser Befehl setzt die Liste der fehlerhaften Blöcke für das ext2/3/4-Dateisystem auf /dev/sdb1 auf die in der Datei /root/bad_blocks.txt aufgeführten Blöcke und überschreibt dabei jede vorhandene Liste fehlerhafter Blöcke.
19. Schlechte Blöcke finden und melden
badblocks -o $BadBlocks.rpt /dev/sda3 $TotalBlockCountDieser Befehl findet und meldet fehlerhafte Blöcke auf dem Gerät /dev/sda3 und schreibt die Ergebnisse in die Datei $BadBlocks.rpt. Der Parameter $TotalBlockCount gibt die Gesamtzahl der zu überprüfenden Blöcke an.
Beispiel:
badblocks -o /tmp/sda3_bad_blocks.rpt /dev/sda3 10485760Dieser Befehl durchsucht das Gerät /dev/sda3 nach fehlerhaften Blöcken und schreibt die Ergebnisse in die Datei /tmp/sda3_bad_blocks.rpt. Er wird insgesamt 10485760 Blöcke (5 GB bei einer Blockgröße von 512 Byte) auf dem Gerät überprüfen.
20. Erzwinge Dateisystemprüfung mit Liste fehlerhafter Blöcke
e2fsck -f -l $BadBlocks.rpt /dev/sda1Dieser Befehl erzwingt eine Dateisystemprüfung auf /dev/sda1 unter Verwendung der in der Datei $BadBlocks.rpt enthaltenen Bad-Block-Liste, die vom Befehl badblocks erzeugt wurde.
Beispiel:
e2fsck -f -l /tmp/sda3_bad_blocks.rpt /dev/sda1Dieser Befehl erzwingt eine Dateisystemprüfung auf /dev/sda1 und verwendet die in der Datei /tmp/sda3_bad_blocks.rpt enthaltene Bad-Block-Liste (erstellt durch den badblocks-Befehl im vorherigen Beispiel). Dies kann nützlich sein, wenn Sie ein Dateisystem mit einer bereits vorhandenen Bad-Block-Liste überprüfen oder reparieren möchten.
fsck vs e2fsck
Wie Sie möglicherweise in den vorherigen Beispielen bemerkt haben, habe ich sowohl die Befehle fsck als auch e2fsck verwendet. Sind sie ähnlich? Sie könnten sich wundern.
Nein, fsck und e2fsck sind nicht dasselbe, obwohl sie verwandt sind und ähnliche Zwecke erfüllen.
fsck (kurz für „Dateisystemprüfung“) ist ein allgemeiner Befehl, der verwendet werden kann, um verschiedene Arten von Dateisystemen unter Linux- und Unix-ähnlichen Betriebssystemen zu überprüfen und zu reparieren. Er fungiert als Front-End für unterschiedliche dateisystemspezifische Prüftools, wie zum Beispiel e2fsck für ext2/ext3/ext4-Dateisysteme, xfs_repair für XFS-Dateisysteme, fsck.vfat für FAT-Dateisysteme und so weiter.
Wenn Sie fsck ausführen, ohne einen bestimmten Dateisystemtyp anzugeben, versucht es, den Dateisystemtyp automatisch zu erkennen und ruft dann das entsprechende, dateisystemspezifische Prüfwerkzeug auf. Zum Beispiel, wenn Sie fsck auf einem ext4-Dateisystem ausführen, wird automatisch e2fsck im Hintergrund aufgerufen.
e2fsck ist hingegen ein spezialisiertes Werkzeug, das speziell für das Überprüfen und Reparieren von ext2-, ext3- und ext4-Dateisystemen entwickelt wurde. Es ist ein niedrigstufiges Dienstprogramm, das detailliertere und umfassendere Überprüfungen und Reparaturen an diesen Dateisystemtypen durchführt.
Zusammenfassend sind die wichtigsten Unterschiede zwischen fsck und e2fsck:
fsckist ein generischer Front-End-Befehl, der verschiedene Dateisystemtypen verarbeiten kann, währende2fsckspeziell für ext2/ext3/ext4-Dateisysteme ist.fsckerkennt automatisch den Dateisystemtyp und ruft das entsprechende dateisystem-spezifische Werkzeug auf (wiee2fsckfür ext2/ext3/ext4).e2fsckbietet fortgeschrittenere und detailliertere Optionen zum Überprüfen und Reparieren von ext2/ext3/ext4-Dateisystemen, da es speziell für diese Dateisystemtypen entwickelt wurde.
Also, während fsck ein Allzweckwerkzeug ist, ist e2fsck ein spezialisiertes Werkzeug für ext2/ext3/ext4-Dateisysteme.
Wenn Sie wissen, dass Sie mit einem ext2/ext3/ext4-Dateisystem arbeiten, können Sie e2fsck direkt für eine detailliertere Steuerung und Optionen verwenden.
Andernfalls dient fsck als eine praktische Benutzeroberfläche zum Überprüfen und Reparieren verschiedener Dateisystemtypen.
fsck Befehle Spickzettel
Hier ist ein Spickzettel für wichtige fsck-Befehle (Dateisystemprüfung) in einem übersichtlichen Tabellenformat:
| Befehl | Beschreibung |
|---|---|
fsck /dev/sdXN | Überprüfen Sie das Dateisystem auf der angegebenen Partition (z. B. /dev/sda1). |
fsck -A | Überprüfen Sie alle im /etc/fstab aufgeführten Dateisysteme. |
fsck -N | Zeigen, was getan würde, ohne es tatsächlich zu tun. |
fsck -C | Anzeige des Fortschrittsbalkens während der Überprüfung. |
fsck -M | Verzeichnis gemountete Dateisysteme überspringen. |
fsck -R | Überspringen Sie das Root-Dateisystem. |
fsck -V | Detaillierter Modus, zeigt ausführliche Ausgabe. |
fsck -y | Automatisch auf alle Eingabeaufforderungen mit 'Ja' antworten. |
fsck -n | Automatisch auf alle Eingabeaufforderungen mit 'Nein' antworten. |
fsck -r | Reparieren Sie das Dateisystem interaktiv. |
fsck.ext4 /dev/sdXN | Überprüfen Sie speziell das ext4-Dateisystem auf der Partition. |
fsck -t ext4 /dev/sdXN | Überprüfen Sie das Dateisystem des angegebenen Typs (in diesem Fall ext4). |
fsck -l | Sperren Sie das Gerät, um mehrere Prüfungen zu verhindern. |
Ersetzen Sie /dev/sdXN durch die tatsächliche Gerätekennzeichnung (z. B. /dev/sda1).
Diese Befehle decken die Grundlagen und einige erweiterte Optionen für die Verwendung von fsck zur Wartung und Reparatur von Dateisystemen ab.
e2fsck Befehle Spickzettel
Hier ist ein Spickzettel für wesentliche e2fsck-Befehle:
| Befehl | Beschreibung |
|---|---|
e2fsck /dev/sdXN | Überprüfen Sie das ext2/ext3/ext4-Dateisystem auf der angegebenen Partition (z. B. /dev/sda1). |
e2fsck -p /dev/sdXN | Das Dateisystem automatisch ohne jegliche Fragen reparieren. |
e2fsck -n /dev/sdXN | Nehmen Sie keine Änderungen am Dateisystem vor, überprüfen Sie es nur. |
e2fsck -y /dev/sdXN | Gehe davon aus, dass alle Fragen mit „Ja“ beantwortet werden. |
e2fsck -f /dev/sdXN | Erzwinge die Überprüfung, auch wenn das Dateisystem sauber zu sein scheint. |
e2fsck -c /dev/sdXN | Überprüfen Sie auf defekte Blöcke und fügen Sie sie der Liste der defekten Blöcke hinzu. |
e2fsck -v /dev/sdXN | Detaillierter Modus, detaillierte Ausgabe anzeigen. |
e2fsck -b 32768 /dev/sdXN | Verwenden Sie einen alternativen Superblock (z. B. 32768). |
e2fsck -B 4096 /dev/sdXN | Stellen Sie die Blockgröße auf 4096 Bytes ein. |
e2fsck -C 0 /dev/sdXN | Einen Fortschrittsbalken anzeigen. |
e2fsck -j /dev/sdXN | Überprüfen Sie ein Dateisystem mit einem externen Journal. |
e2fsck -D /dev/sdXN | Optimieren Sie Verzeichnisse im Dateisystem. |
e2fsck -E <erweiterte-optionen> /dev/sdXN | Geben Sie erweiterte Optionen an (siehe Handbuchseite für Details). |
e2fsck -k /dev/sdXN | Die Liste der fehlerhaften Blöcke beibehalten. |
e2fsck -r /dev/sdXN | Das Dateisystem interaktiv reparieren (gleich wie ohne Optionen). |
Ersetzen Sie /dev/sdXN durch die tatsächliche Gerätekennzeichnung (z. B. /dev/sda1).
Diese Befehle decken die Grundlagen und einige erweiterte Optionen für die Verwendung von e2fsck zur Wartung und Reparatur von ext2-, ext3- und ext4-Dateisystemen ab.
Fazit
Denken Sie daran, dass ein gesundes Dateisystem entscheidend für die Aufrechterhaltung der Systemstabilität und der Datenintegrität ist. Das regelmäßige Überprüfen und Reparieren Ihrer Dateisysteme mit fsck ist ein wesentlicher Bestandteil Ihrer Linux-Systemwartungsroutine.
Durch die effektive Nutzung des fsck-Befehls und der in diesem Handbuch bereitgestellten Beispiele sind Sie gut gerüstet, um häufige Dateisystemprobleme auf Ihrem Linux-System zu diagnostizieren und zu reparieren.
Wir haben auch wesentliche Spickzettel für die Befehle fsck und e2fsck für eine schnelle Referenz beigefügt. Bewahren Sie sie immer in der Nähe Ihres Schreibtischs auf und verwenden Sie sie bei Bedarf.
Verwandte Lektüre: Eine Einführung in die Linux /etc/fstab Datei