Überprüfung und Reparatur des Dateisystems: Befehle fsck
1. Warum ist es wichtig, das Dateisystem zu überprüfen?
Das Dateisystem in Linux ist eigentlich einer der "fleißigsten" Mitarbeiter des Betriebssystems. Es arbeitet, während du Dateien speicherst, Programme öffnest oder einfach nur Daten liest. Stell dir vor: Im entscheidenden Moment wird dieser Mitarbeiter müde und fällt in Ohnmacht (lies: Das System wurde durch einen Stromausfall abgeschaltet). Dies kann zu einer Beschädigung der Dateitabelle, Datenverlust oder vielen anderen unangenehmen Problemen führen.
Aber was kann schiefgehen?
- Plötzlicher Stromausfall – dein Gerät wurde plötzlich abgeschaltet, bevor es die Daten zu Ende schreiben konnte.
- Speicherfehler – die Festplatte oder das SSD-Laufwerk könnte Hardwarefehler haben, die das Dateisystem beschädigen.
- Softwarefehler – Bugs in Treibern oder System-Tools sind nicht ausgeschlossen.
Oft wird nach solchen Ereignissen das Dateisystem beschädigt, und das System könnte dich bitten, seinen Zustand zu überprüfen. Hier kommt fsck
ins Spiel, was für File System Check steht.
2. Was ist fsck
und wie funktioniert es?
Die Idee des Werkzeugs
fsck
— das ist ein universelles Tool, das die Integrität des Dateisystems überprüft und gefundene Fehler behebt. Es funktioniert wie ein Arzt: führt Tests durch, findet das Problem und "heilt" es, wenn möglich. Wenn das Problem zu ernst ist, kann fsck
zumindest diagnostizieren, was genau schiefgelaufen ist.
Wann wird fsck
verwendet?
- Bei offensichtlichen Problemen mit Dateien (zum Beispiel, wenn sie plötzlich "verschwunden" sind).
- Wenn das System nicht startet und einen Fehler im Dateisystem meldet.
- Zur regelmäßigen Überprüfung, um sicherzustellen, dass alles in Ordnung ist.
3. Grundlegender Syntax von fsck
Normalerweise wird der folgende Befehl verwendet, um fsck
auszuführen:
fsck [Optionen] <Gerät>
Wichtige Optionen:
-y
— Automatische Bestätigung der Reparaturen. Nützlich, wenn du nicht bei jeder Frageyes
eingeben möchtest.-n
— Nur Überprüfung, ohne Reparatur (Trockenlauf). Praktisch, um die Situation zu analysieren, falls du Angst hast, etwas kaputt zu machen.-t
— Den Typ des Dateisystems angeben (z. B.ext4
,xfs
).-r
— Interaktiven Modus aktivieren (du wirst jede Reparatur bestätigen).
4. Praxis: Überprüfung des Dateisystems
Lass uns mit einer einfachen Überprüfung starten. Angenommen, wir haben ein Gerät /dev/sdb1
, das wir überprüfen wollen.
Schritt 1: Überprüfung ohne Reparaturen
Zuerst bewerten wir den Zustand des Dateisystems, ohne Änderungen vorzunehmen:
fsck -n /dev/sdb1
Nach Ausführung des Befehls siehst du eine Liste der gefundenen Probleme, falls welche existieren. Hier ein Beispiel für eine Ausgabe:
Inodes, die Teil einer beschädigten verwaisten verketteten Liste waren, gefunden.
Dateisystemfehler entdeckt. Führe fsck zur Reparatur aus.
Schritt 2: Automatische Reparatur
Jetzt aktivieren wir den Modus zur Behebung von Fehlern:
fsck -y /dev/sdb1
fsck
wird versuchen, jeden gefundenen Fehler zu beheben und die Aktion automatisch zu bestätigen. Das kann eine Weile dauern, wenn das Gerät groß ist.
5. Was tun, wenn das Dateisystem in Benutzung ist?
Fehler beim Start von fsck
Wenn du versuchst, fsck
auf einer Partition auszuführen, die bereits gemountet ist, erhältst du eine Warnung:
fsck: cannot check a mounted filesystem.
Das passiert, weil die Überprüfung eines gemounteten Dateisystems zu Datenbeschädigungen führen kann. Es gibt mehrere Lösungen für dieses Problem.
- Mount das Gerät im Read-Only-Modus.
mount -o remount,ro /dev/sdb1
- Nutze LiveCD oder LiveUSB.
Starte von einer Boot-CD oder einem Boot-Stick, um die Überprüfung auf einem bereits ungemounteten Gerät durchzuführen.
- Nutze den Wiederherstellungsmodus.
Starte das System im Wiederherstellungsmodus neu, der normalerweise eine sichere Umgebung für die Überprüfung bietet.
Besonderheiten bei der Überprüfung des Root-Dateisystems /
Das Root-Dateisystem ist ein besonderer Fall, da es aktiv vom System genutzt wird. Um fsck
auf einer solchen Partition auszuführen, musst du:
- In den Einzelbenutzermodus wechseln mit dem Befehl:
systemctl isolate rescue.target
- Fsck manuell starten:
fsck -y /
6. Typische Fehler und deren Behebung
Beschädigte inodes
Wenn fsck
beschädigte inode's (Strukturen, die Informationen über Dateien speichern) meldet, wird es vorschlagen, sie zu löschen. Das ist sicher, da ein beschädigter inode nicht mehr mit aktuellen Dateien verbunden ist.
Verlorene Dateien
Manchmal landen nach dem Ausführen von fsck
verlorene Dateien im Verzeichnis lost+found
im Root des Dateisystems. Du kannst diesen Ort manuell überprüfen, um wichtige Daten wiederherzustellen.
Wichtige Empfehlungen
Mache immer Backups, bevor du eine Überprüfung durchführst. Obwohl
fsck
normalerweise sicher arbeitet, können Reparaturen zu Datenverlust führen.Führe
fsck
nicht auf gemounteten Partitionen aus. Das könnte zu Datenkorruption führen.Verwende das Flag
-n
für eine erste Analyse. Wenn du unsicher bist, ob Fehler automatisch behoben werden sollen, starte mit einem Trockenlauf.
7. Beispiel: Simulation eines Fehlers und Behebung
- Erstelle ein virtuelles Laufwerk und ein Dateisystem darauf:
dd if=/dev/zero of=./disk.img bs=1M count=100
mkfs.ext4 ./disk.img
- Montiere das Laufwerk:
sudo mount ./disk.img /mnt/test/
- Simuliere eine Beschädigung:
sudo dd if=/dev/zero of=/mnt/test/randomfile bs=512 count=10
- Hänge das Laufwerk aus und prüfe es:
sudo umount /mnt/test/
fsck ./disk.img
Befolge die Ausgaben des Befehls und behebe die Fehler.
Auf diesem Level kannst du sicher mit der Prüfung des Dateisystems umgehen, Fehler korrekt beheben und Ausfälle verhindern. Vor uns liegen weitere Tools für die Arbeit mit Dateisystemen, doch fsck
ist jetzt dein treues Werkzeug für Diagnose und Reparatur.
GO TO FULL VERSION