Reparatur Dateisystem: Unterschied zwischen den Versionen

Aus lugvswiki
Zur Navigation springenZur Suche springen
 
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<!-- Reparatur Dateisystem unter Linux-->
+
== '''Reparatur eines korrumpierten (beschädigten und nicht mehr einbindbaren) Dateisystems''' ==
=='''Reparatur eines korrumpierten Dateisystems==
+
<!-- Reparatur Dateisystem unter Linux, korrumpiertes Dateisystem, Dateisystem Korruption, korruptes Dateisystem, Shortcut, Tastenkombination, Magic SysRQ, Einfrieren PC, Einfrieren Laptop, kontrolliertes Herunterfahren ohne Datenverlust-->
 
<br />
 
<br />
  
===Danksagung===
+
----
Vielen Dank an Ulf und Uwe von der Linux User Group Villingen-Schwenningen (LUG-VS)<ref>Linux-Probleme oder Fragen? Hier wird kompetent und freundlich geholfen: [https://lug-vs.org/ Verein '''L'''inux'''U'''ser'''G'''roup Villingen-Schwenningen e.V.]</ref> und vor allem an die großartigen Code-Schreiber<ref>Von hier stammt der Code, der die Pedale des T150 erkennt und das Lenkrad zum Laufen bringt: [https://github.com/scarburato/t150_driver Code für das T150 von GitHub]</ref>, die ihren Code auf GitHub<ref>Was ist GitHub? [https://de.wikipedia.org/wiki/GitHub /Wikipedia Deutschland zu GitHub]</ref> hinterlegt haben. Ohne deren Hilfe wäre ich nicht weitergekommen; ich bin nur Linux-User, kein Programmierer.
 
<br/>Ebenso vielen Dank an Wolfgang, der mir beim Überarbeiten dieser Anleitung geholfen hat; nach einem grösseren Update meines Tumbleweed musste diese Anleitung grundlegend nachgebessert werden.
 
  
===Problem===
+
=== Vorgeschichte ===
Die Rennsimulation Live for Speed (LFS)<ref>Rennsimulation Live for Speed (Download und mehr): [https://www.LFS.net/ LFS.net]</ref> soll unter Linux mit dem Lenkrad Thrustmaster T150<ref>Lenkrad Thrustmaster T150: [http://www.thrustmaster.com/de_DE/produkte/t150-force-feedback/ Thrustmaster Deuschland]</ref> anhand der zu Windows kompatiblen Laufzeitumgebung Wine<ref>Windowskompatible Laufzeitumgebung [https://de.wikipedia.org/wiki/Wine Wine]</ref> genutzt werden. Der Gamepad-, Joystick- und Lenkrad-Hersteller ''Thrustmaster'' stellt für seine Produkte aktuell keine Linux-Unterstützung bereit, was zur Folge hat, dass Gas- und Bremspedal (zumindest der Modelle T150 und T150pro) unter Linux nicht korrekt angesprochen werden.
+
<!-- Magie SysRQ, sicheres Herunterfahren nach Hängenbleiben des PC, ohne Datenverlust -->
 +
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.
  
Anzumerken ist aber noch, dass ...
+
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.
* das Auslesen der Einstellungen aus dem Rad
+
Aber der PC reagierte nach dem Anmelden sehr langsam und hing schließlich ganz.
* die Kraftrückmeldung (teilweise) des Lenkrads
 
* die Force-Feedback-Einstellungen
 
* und Firmware-Upgrades
 
  
(noch) nicht mit dem Git-Hub-Code funktionieren. Um also Kraftrückmeldungen und Force-Feedback-Einstellungen mit nutzen zu können, müsstest Du das Lenkrad unter Windows starten.
+
'''Tipp:'''
Für mich ist das nicht notwendig; ich kann drauf auch verzichten; lediglich das Geräusch beim Fahren auf die Curps und die Kraft, die beim Ausfahren aus den Kurven auf das Lenkrad wirkt fehlt (noch).
+
In so einem Fall klappt es meistens ohne einen kalten Reset, indem man folgende Tastenkombinationen (Magic SysRQ [https://de.wikipedia.org/wiki/Magische_S-Abf-Taste Magische S-Abf-Taste - Wikipedia])anwendet:
  
===Gegebenheiten und Hintergrund===
+
* '''Alt-''' und '''Druck-Taste''' zusammen gedrückt halten (während danach die weiteren Tasten zusätzlich, eine nach der anderen, gedrückt werden)
Konsolenbefehl zur Abfrage der Soft- und Hardwarekomponenten:
+
* (Alt- UND Druck-Taste sind weiterhin gedrückt): '''R''' drücken  --> "un'''r'''aw = Nimmt der grafischen Oberfläche den Zugriff auf die Tastatur
 +
* (Alt- UND Druck-Taste sind weiterhin gedrückt): '''E''' drücken --> t'''e'''rm = Sendet ein '''SIGTERM''' an alle Prozesse außer "init"
 +
* (Alt- UND Druck-Taste sind weiterhin gedrückt): '''I''' drücken --> k'''i'''ll = Sendet ein '''SIGKILL''' an alle Prozesse außer "init"
 +
* (Alt- UND Druck-Taste sind weiterhin gedrückt): '''S''' drücken --> '''s'''ync = 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 --> '''u'''mount = Alle eingehängten Partitionen werden ausgehängt, und danach nur lesbar eingehängt
 +
* (Alt- UND Druck-Taste sind weiterhin gedrückt): '''B''' drücken --> re'''b'''oot = 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.
  
[$] holger@holger-MS-7758:~> inxi -Fz
+
----
<ref>Meine Hardware
+
 
  ;System:   holger@holger-MS-7758:~> inxi -Fz
+
=== Ermittlung der Festplatte und der betroffenen Partition und des Dateisystems, mit dem sie formatiert ist ===
: Kernel: 5.10.16-1-default x86_64
+
<!-- Error mounting, Festplatte nicht auffindbar -->
: bits: 64
+
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).
: Desktop: KDE Plasma 5.21.1
+
Die Platte ließ sich aber nicht ansprechen; die Fehlermeldung meines Dateimanagers (Dolphin) lautete:
: Distro: openSUSE Tumbleweed 20210302
+
  "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"
;Machine: 
+
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:
: Type: Desktop
+
$ sudo blkid
: Motherboard: MSI
+
[sudo] Passwort für holger:  
: model: Z77A-G41 (MS-7758)
+
...
: v: 3.0
+
'''/dev/sda1''': LABEL="DATEN" UUID="93279354-b851-48a3-bddf-1b73fc632b5f" BLOCK_SIZE="4096" '''TYPE="ext4"''' PARTLABEL="2TB_DATEN" PARTUUID="fffeb90e-0725-11eb-818e-ed0fef3c7d45"
: serial: <filter>
+
 
: UEFI: American Megatrends
+
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:
: v: 2.13
+
* '''/dev/sda1''' = Festplatte sd'''a''' mit Partition '''1'''
: date: 03/07/2014
+
* '''TYPE="ext4"''' = diese Partition ist mit dem EXT4-Dateisystem formatiert
;CPU:     
+
 
: Topology: Dual Core
+
----
: model: Intel Core i3-3220
+
 
: bits: 64
+
=== Reparatur der betreffenden Festplatte, genauer, der betroffenen Partition ===
: type: MT MCP
+
Konsolenbefehl zur Reparatur der korrumpierten Festplattenpartition:
: L2 cache: 3072 KiB
+
[$] '''sudo fsck.ext4 /dev/sda1'''
: Speed: 1600 MHz
+
 
: min/max: 1600/3300 MHz
+
Erklärung:
: Core speeds (MHz):
+
* '''sudo''': zur Ausführung des Befehls sind Adminrechte erforderlich
::: 1: 1600
+
* Leerzeichen: Trennt "sudo" vom Reparaturbefehl (fsck.ext4)
::: 2: 1600
+
* "'''fsck'''.ext4" = der erste (fett formatierte Teil) ist der Reparaturbefehl an sich
::: 3: 1600
+
* "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 ...
::: 4: 1600
+
* Leerzeichen: trennt den Befehl vom Dateipfad, der repariert werden soll
;Graphics:  
+
* "/dev/sd'''a1''': dies ist der Pfad der Festplatte, welche als korrumpiert / beschädigt erkannt wurde.
: Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics
+
'''Der Dateipfad muss natürlich an Dein System angepasst werden!'''
:: driver: i915
+
 
:: v: kernel
+
----
: Device-2: Advanced Micro Devices [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X]
+
 
:: driver: radeon
+
=== Reparatur durchführen ===
:: v: kernel
+
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:
: Device-3: Cubeternet GL-UPC822 UVC WebCam
+
 
:: type: USB
+
$ '''sudo fsck.ext4 /dev/sda1''' (natürlich muss der Pfad zur Platte und deren Partition abgeändert werden!)
:: driver: uvcvideo
+
[sudo] Passwort für holger:  
: Display:
+
e2fsck 1.47.0 (5-Feb-2023)
:: x11
+
Der Journal-Superblock ist defekt.
:: server: X.org 1.20.10
+
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.
 +
 
 +
----

Aktuelle Version vom 28. Juni 2024, 18:11 Uhr

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.