Ein Blog über Code, Hardware und Co

Technik und Hardware, Technische Informatik und Betriebssysteme

Korrupte Dateisysteme reparieren

Zuletzt aktualisiert am 14. April 2023.

So reparierst du das Dateisystem deiner Festplatte unter Linux und Windows

Auf einem blockorientierten Datenträger, wie z.B. einer Festplatte (HDD) oder SSD, werden Daten zwar physikalisch in Blöcken gespeichert, darüber liegt aber noch eine weitere Ebene: Das Filesystem (Dateisystem). Jede Partition kann ihr eigenes Filesystem haben und jedes Filesystem hat andere Eigenschaften und Vor- sowie Nachteile.
Nun kann es passieren – z.B. durch einen Stromausfall, oder einen Fehler auf der physikalischen Festplatte, oder einen Systemabsturz – das Dateisystem beschädigt wird.
Im besten Fall merkt man das nur durch eine Analyse, ggf. gibt es I/O-Fehler. Im Schlimmsten Fall ist die betroffene Partition nicht mehr les- und mountbar.

Man spricht in diesem Zusammenhang häufig von einem “korrupten” Dateisystem.

Fehler, die auf ein korruptes Filesystem hindeuten

Wenn du auf deinem System die folgenden Fehler findest, solltest du das entsprechende Filesystem überprüfen:

  • Bad magic number in super-block while trying to open /dev/sdaX
  • BTRFS: Transaction aborted (error -2)
  • Allgemeiner Festplattenfehler
  • Dateisystemfehler gefunden
  • Die Datei oder das Verzeichnis ist beschädigt und nicht lesbar
  • Unerwartetes Herunterfahren des Systems
  • Die Datei kann nicht geöffnet werden, da sie beschädigt oder beschädigt ist
  • Fehler beim Lesen von Datei/Verzeichnis
  • I/O-Fehler
  • Fehler beim Schreiben auf die Festplatte
  • Schwerwiegender Festplattenfehler
  • Fehler bei der Initialisierung des Datenträgers
  • Segmentierungsfehler
  • EXT-Fehler – Dateisystemformat ungültig / EXT error – filesystem format invalid
  • Dateisystem im Nur-Lese-Modus gemountet / Filesystem mounted read-only
  • Superblock festgestellt, aber ungültig / Superblock corrupt
  • Festplattenfehler festgestellt / Disk error detected
  • Unbekannte Partitionstabelle / Unknown partition table
  • Error loading operating system
  • Segmentation fault

Auch eine Abnahme der Leistung der Festplatte oder eine ständig nahezu komplette Auslastung des Datenträgers kann auf ein defektes Dateisystem hindeuten. In diesem Fall empfiehlt sich auf jeden Fall das eine Überwachung der Fehlerraten z.B. durch Auslesen der SMART-Werte.

Was sind potentielle Ursachen für ein defektes Dateisystem?

Mögliche Ursachen für ein defektes Dateisystem sind eine Beschädigung der Festplatte, fehlerhafte Software oder Hardware, unerwarteter Stromausfall, Datenverlust durch Malware oder Viren und eine schlechte Konfiguration des Dateisystems. Eine Beschädigung der Festplatte ist einer der häufigsten Gründe für ein defektes Dateisystem. Dies tritt häufig durch Abnutzung oder Erschütterungen auf, die dazu führen, dass die Dateisystemstruktur beschädigt wird. Die Lebensdauer einer Festplatte ist begrenzt und deshalb müssen Benutzer Sie regelmäßig überprüfen, um sicherzustellen, dass sie einwandfrei funktioniert. Dafür eignen sich z.B. die sog. “SMART”-Werte. Fehlerhafte Software oder Hardware ist ein weiterer Grund, warum Benutzer ein defektes Dateisystem erleben können. Ein unerwarteter Stromausfall ist einer der häufigsten Gründe für ein defektes Dateisystem, da hier häufig aktuell laufende Schreiboperationen “hart” unterbrochen werden.

Tipp: Auch Festplatten gehen kaputt – Spannend hierzu sind die Statistiken von Backblaze über die Ausfallraten von Festplatten.

Grundsätzlich: Backup!

Wenn du den Verdacht hast, dass das Dateisystem beschädigt ist, sollte der erste Schritt – vor JEDEM Reparaturversuch – das Überprüfen der vorliegenden Backups sein.

Symbolbild: Vor jedem Dateisystem-Rettungsversuch ein backup anfertigen!

Es existiert kein zeitlich naheliegendes Backup der betroffenen Daten? Dann ist JETZT der richtige Zeitpunkt, ein Backup der Daten – sofern noch lesbar – zu erstellen. Und zwar VOR jedem Reparaturversuch. Denn die Reparatur eines Filesystems ist eine sensible Sache und der Prozess kann fehlschlagen. Im Schlimmsten Falle sind die Daten dann noch weniger lesbar als vorher.
Es steht die Gefahr eines unwiderruflichen Datenverlustes im Raum!

Backup erstellen

Variante 1: Am zielführendsten ist es, das Blocklaufwerk zunächst 1:1 zu klonen. So kannst du im Falle einer fehlgeschlagenen Wiederherstellung immer wieder von vorne beginnen und hast den aktuellen Zustand des Laufwerks auf einem anderen Laufwerk vorliegen. Vom geklonten Laufwerk kannst du dann auch die Dateien noch regulär kopieren.

Auf der Konsole lässt sich ein Laufwerk unter Linux ganz einfach blockweise klonen:

dd if=/dev/sda of=/dev/sdb bs=1M

Tipp: “bs=1M” gibt die Blocksize (hier: 1MB) – also wie viele Daten in einem Zug geklont werden – an. Bei defekten Filesystemen/Laufwerken sollte die Blocksize so gering wie möglich sein, um möglichst wenige defekte Blöcke zu verlieren.
Es gilt aber auch: Je geringer die Blocksize, desto länger dauert der Prozess des Klonens.

Der Vorteil dieser Variante ist zudem, dass keine Daten mehr auf dem defekten Dateisystem geschrieben werden und damit eine weitere Zerstörung des Dateisystems weniger wahrscheinlich ist.

Variante 2: Wenn das Laufwerk noch gemounted und lesbar ist, kannst du die Dateien theoretisch auch einfach kopieren (über das GUI oder per Konsole).
Auf der Konsole kannst du dafür den Befehl “cp” nutzen.

So reparierst du das Dateisystem deiner Festplatte in Windows und Linux: Eine Anleitung

Weit verbreitete Dateisysteme auf Linux-Systemen sind z.B. ext4, exfat oder btrfs.
Für jedes dieser Dateisysteme steht grundsätzlich ein Reparaturwerkzeug zur Verfügung.

Hinweise: In der Regel ist es sinnvoll, die Reparatur über Die Reparatur ist sowohl für intern verbaute, als auch für z.B. per USB angeschlossene Datenträger möglich.

Hinweis: Die aufgeführten Reparaturfunktionen sollten stets im ungemounteten Zustand vorliegen (im Zweifel mittels “umount” unmlounten) und mit root-Rechten (sudo) aufgerufen werden, z.B.:

sudo fsck.ext4 /pfad/zur/partition

DateisystemKurzbeschreibungEigenschaftenReparaturfunktionen
ext4ext4 ist ein Dateisystem für Linux-Betriebssysteme. Es wurde 2008 als Nachfolger des ext3-Dateisystems eingeführt und bietet verbesserte Leistung, Zuverlässigkeit und Skalierbarkeit.
Aufgrund seiner Fähigkeit, große Dateien und Verzeichnisse effizient zu handhaben, ist es zum am weitesten verbreiteten Dateisystem für Linux-Systeme geworden.
ext4 unterstützt Journaling, das hilft, Daten im Falle eines Absturzes oder Stromausfalls zu schützen.
Darüber hinaus unterstützt ext4 erweiterte Attribute, die es Benutzern ermöglichen, zusätzliche Informationen zu Dateien wie Berechtigungen und Eigentümer zu speichern (POSIX).
Maximale Größe: 1024 PiB, Journaling, POSIX Rechteverwaltungfsck.ext4
btrfsBtrfs oder das B-Tree-Dateisystem ist ein Linux-Dateisystem, das von der Oracle Corporation entwickelt wurde. Es wurde entwickelt, um erweiterte Funktionen wie Copy-on-Write-Snapshots, Subvolumes und Online-Defragmentierung bereitzustellen. Btrfs ist ein Copy-on-Write-Dateisystem, mit dem Benutzer Daten effizienter und zuverlässiger speichern können als mit herkömmlichen Dateisystemen. Es unterstützt auch RAID 0/1/10-Konfigurationen und bietet integrierte Komprimierung und Prüfsummenbildung für die Datenintegrität. Btrfs kann sowohl für Heim- als auch für Unternehmensanwendungen verwendet werden, da es einen robusten Datenschutz zusammen mit Skalierbarkeitsvorteilen bietet.

Wenn Btrfs eine beschädigte Datei oder einen beschädigten Datenblock erkennt, wird automatisch ein “Self-Healing” -Prozess gestartet. Dieser Prozess versucht, die beschädigten Daten mit Hilfe der Metadaten und der redundanten Informationen im Dateisystem wiederherzustellen. In den meisten Fällen kann Btrfs die beschädigten Daten erfolgreich reparieren.

Darüber hinaus kann Btrfs auch den gesamten Datenträger auf Konsistenz überprüfen und nach fehlerhaften Daten suchen. Dieser Prozess wird als “Scrubbing” bezeichnet und kann manuell oder automatisch ausgeführt werden. Durch regelmäßiges Scrubbing kann das Risiko von Datenverlust verringert werden.

BTRFS ist dank Copy-on-Write gut für Systeme mit virtuellen Maschinen und Snapshots geeignet.
Synology verwendet auf seinen NAS-Systemen z.B. eine eigene Implementierung des btrfs.
Maximale Größe: bis zu 16 Exabyte,
Deduplizierung, Snapshots
btrfs check —repair /dev/<device_name>,
exfat (seit Kernel 5.4)exFAT (Extended File Allocation Table) ist ein modernes Dateisystem, das von Microsoft entwickelt wurde und zum Speichern und Zugreifen auf große Dateien auf Flash-Speichergeräten verwendet wird. Es wurde entwickelt, um sowohl mit Windows- als auch mit Mac OS X-Betriebssystemen kompatibel zu sein, und wurde von Digitalkameras, Camcordern, externen Festplatten, USB-Flash-Laufwerken und anderen Arten von Wechselspeichergeräten weit verbreitet. exFAT bietet eine größere Flexibilität als das ältere FAT32-Dateisystem in Bezug auf maximale Dateigrößen sowie die Unterstützung größerer Volumes. Es unterstützt auch Funktionen wie lange Dateinamen und Unicode-Zeichen.
Tabelle 1: Gängige Filesysteme auf Linux-Systemen und die Reparaturmechanismen.

Reparatur am Beispiel eines ext4-Dateisystems

Nehmen wir an, wir haben ein korruptes Dateisystem, in diesem Beispiel ext4. Wir werden es im Folgenden reparieren 😉

1) Fehlerhafte Partition finden

Um ein Filesystem reparieren zu können, müssen wir zunächst herausfinden, auf welchem Blockdevice, also welcher Festplatte das Filesystem gemountet ist.
So wissen wir a) Welches Dateisystem die Partition/Festplatte verwendet und b) Welche Festplatte ggf. einen Defekt haben könnte.

Wir nutzen auf der Konsole den simplen Befehl “mount” um uns alle gemounteten Filesysteme anzeigen zu lassen.

2) Partition auswerten / unmounten

Ganz wichtig ist, dass man ein Filesystem nur repariert, wenn es nicht gemountet ist. So stellt man sicher, dass keine Daten während der Reparatur verändert werden. Ansonsten könnte man mehr kaputt machen als reparieren. Die meisten (Kommandozeilen-)Tools lassen sich aber auch nur auf Partitionen ausführen, die nicht gemountet sind.

Mit folgendem Befehl wird die Partition ausgeworfen:
sudo umount /dev/sdz1

“sdz1” ersetzt du bitte mit deinem jeweiligen Blockdevice bzw. der jeweiligen Partition 😉

3) Dateisystem reparieren

Jetzt ist alles vorbereitet und es kann ans Eingemachte gehen: Die Reparatur des Dateisystems.
Die Reparatur starten wir einfach wie folgt:

fsck.ext4 /dev/sdz1 -y

fsck.ext4 -> wir überprüfen und reparieren ein ext4-Dateisystem
/dev/sdz1 -> die Partition, die repariert werden soll (hier musst du deinen Pfad eingeben!)
-y -> Dieser Parameter beantwortet automatisch alle Rückfragen mit “Ja”. Ansonsten müssten wir das Reparieren jedes einzelnen Fehlers bestätigen.

Nach einer Weile ist der Reparaturvorgang dann abgeschlossen:

Reparaturmöglichkeiten für Dateisysteme im Video:

Wie repariere ich das Dateisystem meiner Windows-Festplatte?

Um das Dateisystem einer Windows-Festplatte zu reparieren, müssen Sie den “Chkdsk”-Befehl verwenden. Dies ist ein Befehlszeilenwerkzeug, das die Festplatte scannen und Fehler beheben kann. Sie können den Chkdsk-Befehl entweder über das Kommandozeilenfenster oder über Windows-Datei-Explorer ausführen. Um den Chkdsk-Befehl über das Kommandozeilenfenster auszuführen, müssen Sie Folgendes tun: 1. Öffnen Sie das Kommandozeilenfenster, indem Sie die Tastenkombination Windows + R drücken und “cmd” eingeben. 2. Geben Sie “chkdsk x: /f” ein, wobei x die Laufwerksbuchstabe der Festplatte ist, die Sie überprüfen möchten.

Fazit

Es ist möglich, das Dateisystem einer Festplatte unter Windows und Linux zu reparieren. Allerdings erfordert diese Arbeit einiges an technischem Verständnis und kann daher schwierig sein. Auch wenn einige Benutzer die reparierte Festplatte selbst reparieren können, lohnt es sich, einen professionellen Techniker zu konsultieren, bevor man versucht, eine schwerwiegende Festplattenfehler selbst zu beheben. Wenn Sie jedoch über die notwendigen Fähigkeiten und Werkzeuge verfügen, sollten Sie versuchen, das Dateisystem der Festplatte in Windows oder Linux gemäß der in diesem Artikel aufgeführten Anleitung zu reparieren. Dies kann helfen, Datenverlust zu vermeiden und das Dateisystem der Festplatte wieder normal zu machen. Wiederholtes Analysieren und Überprüfen des Systems hilft zudem, zukünftige Dateisystemfehler zu verhindern, was eine erfolgreiche Reparatur der Festplatte mit dem entsprechenden Wissen und den richtigen Tools ermöglicht.

Schreibe eine Antwort