Reparatur Dateisystem

Aus lugvswiki
Zur Navigation springenZur Suche springen

Reparatur eines korrumpierten (beschädigten und nicht mehr einbindbaren) Dateisystems


Vorgeschichte

Vermutlich wegen eines "kalten" Resets meines PC wurde bei einer meiner fünf internen Platten das Dateisystem beschädigt. Der Grund für den unüberlegten Reset (Ein- / Aus-Taste gedrückt, bis PC herunterfuhr) war, weil ich drei Bildschirme angeschlossen habe. Zuvor waren es nur zwei und diese liefen über die interne Grafikkarte.

Nachdem ich eine gebrauchte externe Grafikkarte installiert hatte, und alle drei Monitore an diese angeschlossen waren, hatte ich auf keinem der Bildschirme eine Ausgabe. Nachdem ich dann einen wieder an die interne Grafikkarte angeklemmt hatte, waren auf einmal alle drei Bildschirme wieder aktiv. Aber der PC reagierte nach dem Anmelden sehr langsam und hing schließlich ganz.

Tipp:
In so einem Fall klappt es meistens ohne einen kalten Reset, indem man folgende Tastenkombinationen (Magic SysRQ Magische S-Abf-Taste - Wikipedia)anwendet:
  • Alt- und Druck-Taste zusammen gedrückt halten (während danach die weiteren Tasten zusätzlich, eine nach der anderen, gedrückt werden)
  • (Alt- UND Druck-Taste sind weiterhin gedrückt): R drücken --> "unraw = Nimmt der grafischen Oberfläche den Zugriff auf die Tastatur
  • (Alt- UND Druck-Taste sind weiterhin gedrückt): E drücken --> term = Sendet ein SIGTERM an alle Prozesse außer "init"
  • (Alt- UND Druck-Taste sind weiterhin gedrückt): I drücken --> kill = Sendet ein SIGKILL an alle Prozesse außer "init"
  • (Alt- UND Druck-Taste sind weiterhin gedrückt): S drücken --> sync = Schreibt alle noch nicht auf die Festplatte geschriebenen Daten aus dem Kernel-Festplatten-Cache auf die Festplatten
  • (Alt- UND Druck-Taste sind weiterhin gedrückt): U drücken --> umount = Alle eingehängten Partitionen werden ausgehängt, und danach nur lesbar eingehängt
  • (Alt- UND Druck-Taste sind weiterhin gedrückt): B drücken --> reboot = Fährt den Rechner sofort herunter, ohne Daten aus dem Kernel-Festplatten-Cache auf die Festplatten zu schreiben und ohne Partitionen auszuhängen, und startet den Rechner neu.

Ermittlung der Festplatte und der betroffenen Partition und des Dateisystems, mit dem sie formatiert ist

Wenn ich nun auf meine Festplatte (in diesem Fall eine Platte, auf der nur Daten liegen) zugreifen will, muss ich stets ein Passwort eingeben - so gewollt). Die Platte ließ sich aber nicht ansprechen; die Fehlermeldung meines Dateimanagers (Dolphin) lautete:

"Beim Zugriff auf "DATEN" ist ein Fehler aufgetreten, die Meldung lautet: Die angegebenen Operation ist fehlgeschlagen: Error mounting /dev/sda1 at /run/media/holger/DATEN1: cannot mount; probably corruptet filesystem on /dev/sda1" 

Eigentlich steht die Platte samt deren betroffene Partition schon fest, wie obige Fehlermeldung des Dateimanagers Dolphin beim Einbindeversuch aussagt. Mit dem Dateimanager lässt sie sich nicht mehr einbinden (mounten). Sicherheitshalber überprüfen wir noch einmal die betroffene Platte und deren Partition:

$ sudo blkid
[sudo] Passwort für holger: 

...

/dev/sda1: LABEL="DATEN" UUID="93279354-b851-48a3-bddf-1b73fc632b5f" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="2TB_DATEN" PARTUUID="fffeb90e-0725-11eb-818e-ed0fef3c7d45"

Die betreffende Festplatte und deren Partition und des Dateisystems, mit dem sie formatiert ist, ist oben fett hervorgehoben (die anderen im PC installierten Festplatten interessieren hier nicht und wurden weggelassen). Dabei sagen die Informationen folgendes aus:

  • /dev/sda1 = Festplatte sda mit Partition 1
  • TYPE="ext4" = diese Partition ist mit dem EXT4-Dateisystem formatiert

Reparatur der betreffenden Festplatte, genauer, der betroffenen Partition

Konsolenbefehl zur Reparatur der korrumpierten Festplattenpartition:

[$] $ sudo fsck.ext4 /dev/sda1

Erklärung:

  • sudo: zur Ausführung des Befehls sind Adminrechte erforderlich
  • Leerzeichen: Trennt "sudo" vom Reparaturbefehl (fsck.ext4)
  • "fsck.ext4" = der erste (fett formatierte Teil) ist der Reparaturbefehl an sich
  • "fsck.ext4" = dieser (zweite) Teil des Befehls ist der Parameter; in diesem Fall sagt er dem Reparaturbefehl, dass er mit einem EXT4-Dateisystem arbeitet. Bei einem Btrfs-Dateisystem würde er dann "fsck.btrfs" lauten ...
  • Leerzeichen: trennt den Befehl vom Dateipfad, der repariert werden soll
  • "/dev/sda1: dies ist der Pfad der Festplatte, welche als korrumpiert / beschädigt erkannt wurde; der Dateipfad muss natürlich an Dein System angepasst werden!

Reparatur durchführen

Das geschieht textbasiert im Terminal (Konsole). Wir kopieren obigen Befehl in die Konsole (entweder per Maus markieren und dann mittels Mittelklick ins Terminalfenster einfügen, oder aber markieren, Strg+C und dann mit Umschalt+Strg+V in die Konsole hineinkopieren:

$ sudo fsck.ext4 /dev/sda1 (natürlich muss der Pfad zur Platte und deren Partition abgeändert werden!)
[sudo] Passwort für holger: 
e2fsck 1.47.0 (5-Feb-2023)
Der Journal-Superblock ist defekt.
Reparieren<jy>? ja
Durchgang 1: Inodes, Blöcke und Größen werden geprüft
Durchgang 2: Verzeichnisstruktur wird geprüft
Durchgang 3: Verzeichnisverknüpfungen werden geprüft
Durchgang 4: Referenzzähler werden überprüft
Durchgang 5: Zusammengefasste Gruppeninformation wird geprüft

DATEN: ***** DATEISYSTEM WURDE VERÄNDERT *****
DATEN: 251197/122093568 Dateien (1.0% nicht zusammenhängend), 230305089/488345611 Blöcke
holger@linux:~>

Nach Eingabe des Befehls muss zuerst einmal das Sudo-Passwort (unsichtbar) eingegeben werden, dann erhalten wir die Meldung, dass ein Defekt vorliegt und werden gefragt, ob wir eine Reparatur wünschen; "Y" steht für "Ja" (bitte reparieren). Wir drücken das Ypsilon "Y" und in aufeinanderfolgenden Durchgängen wird die Platte überprüft und repariert. So sah das bei mir aus; die Reparatur der 2TB-Platte war innerhalb von Sekunden beendet; es war ja auch nur ein Prozent betroffen von der Datenkorruption ... :-) Danach konnte ich - ohne Neustart - wieder auf die Daten der Festplatte zugreifen; die Festplatte ließ sich wieder mounten.