Inhaltsverzeichnis

Datenrettung

Western Digital MyBook Live 2TB

Quelle(n)

Die Folgende Anleitung bezieht sich auf einen Western Digital MyBook Live 2TB Netzwerkspeicher (NAS) bei dem entweder das Netzteil und/oder die Elektronik ausgefallen ist.
Die Die Festplatte selber muss unversehrt und ihre Daten müssen intakt sein.

Da Western Digital (WD) statt der üblichen Blockgrößen 512 Byte bzw. 4kB eine unübliche Blockgröße von 65535 Byte verwendet kann die entsprechende Datenpartition nicht aus einem gängigen Linux mit Bordmitteln ins Dateisystem eingehängt werden. Im folgenden werden alle notwendigen Werkzeuge und Befehle erklärt um dennoch alle Daten von der WD MyBook Live 2 TB Festplatte auf ein anderes Speichermedium zu sichern.

Übersicht I - Die Partitionierung

Mit Hilfe von z.B. KDE-Partitionsverwaltung verschafft man sich einen Überblick über die Partitionierung der betreffenden Festplatte. Angezeigt werden die vom Kernel erkannten und ansprechbaren Partitionen aller physischen Laufwerke:

Übersicht II - Partitionen etwas anders

Alternativ kann man das gleiche auch über die Kommandozeile erreichen:

sudo su
cat /proc/partitions 
major minor  #blocks  name
 
   7        0      10064 loop0
   7        1     107936 loop1
   7        2      75996 loop2
   7        3      41400 loop3
   7        4      75892 loop4
   7        5      84992 loop5
   7        6      56996 loop6
   7        7      56996 loop7
   8        0  976762584 sda
   8        1   16777216 sda1
   8        2          1 sda2
   8        5  959983320 sda5
   8       16   31266648 sdb
   8       17   31265624 sdb1
  11        0    1048575 sr0
   7        8     108360 loop8
   7        9      84996 loop9
   8       32 1953514584 sdc
   8       33    1999872 sdc1
   8       34    1999872 sdc2
   8       35     500736 sdc3
   8       36 1948998656 sdc4

Die als /dev/sdcx angezeigte Festplatte ist die WD MyBook Live 2TB HDD. Die Partition /dev/sdc4 ist offensichtlich die Datenpartition.

Übersicht III - Der Klassiker ''fdisk''

Zusätzlicher Check der Partitionstabelle mit fdisk und ermittel der Blockgröße – hier 65536 statt normalerweise 512 Byte oder 4k.

sudo su
fdisk -l /dev/sdc
Festplatte /dev/sdc: 1,84 TiB, 2000398934016 Bytes, 3907029168 Sektoren
Festplattenmodell: XT-U33502       
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 74F463B6-EFC9-4320-81CB-A5B629461646
 
Gerät       Anfang       Ende   Sektoren Größe Typ
/dev/sdc1  1032192    5031935    3999744  1,9G Linux RAID
/dev/sdc2  5031936    9031679    3999744  1,9G Linux RAID
/dev/sdc3    30720    1032191    1001472  489M Microsoft Basisdaten
/dev/sdc4  9031680 3907028991 3897997312  1,8T Microsoft Basisdaten
 
Partitionstabelleneinträge sind nicht in Festplatten-Reihenfolge.

Ok, jetzt ist es eindeutig - die Partition sdc4 ist die Datenpartition. Die beiden Partitionen sdc1 und sdc2 bilden offensichtlich einen RAID-Verbund. Wahrscheinlich enthalten sie das WD MyBook Live Betriebssystem.

Übersicht IV - Die Blockgröße

Bleibt noch die Blockgröße. Diese kann wie folgt ermittelt werden:

sudo su
tune2fs -l /dev/sdc4 | grep Block
Block count:              30453104
Block size:               65536
Blocks per group:         65528

Das Werkzeug

Um Partitionen mit einer Blockgröße > 4k lesen (und auch beschreiben) zu können wird ein Hilfsprogramm welches eigentlich für Debug- und Entwicklungszwecke entwickelt wurde benötigt.
Es ist in der Programmsammlung reiser4progs enthalten die nun installiert werden muss:

sudo su
apt-get install reiser4progs

Datenrettung I - Vorbereitung

Die zu rettenden Daten müssen außerhalb es Quellmediums gespeichert werden. Dazu wird ein neues Verzeichnis z.B. auf einer externen USB Festplatte mit ausreichend freiem Speicherplatz angelegt:

sudo su
mkdir -p ~/media/Backupplatte/MyBook_Live_Recovery

Datenrettung II - Datenrettung

Die Rettung der Daten gestaltet sich jetzt recht einfach. Mittels debugfs lassen sich nicht nur die Verzeichnisse der betreffenden Datenpartition einsehen sondern auch ihr Inhalt rekursiv auf ein anderes Speichermedium kopieren.
Der Befehl ls listet Verzeichnisse und deren Inhalt auf.
Der Befehl rdump kopiert Verzeichnisse rekursiv an einen anderen Speicherort.

sudo su
debugfs /dev/sdc4
debugfs 1.45.5 (07-Jan-2020)
debugfs:  ls
2  (12) .    2  (12) ..    11  (20) lost+found    12533761  (16) cache   
 29245441  (16) shares    6266881  (65460) backup
debugfs:  rdump shares /media/Backupplatte/MyBook_Live_Recovery/
debugfs:  

Der Kopiervorgang beginnt und je nach Datenmenge kann es einige Zeit dauern bis alle Daten rekursiv in das Zielverzeichnis kopiert wurden. Erscheint keine Fehlermeldung und das kopieren wird mir einem debugfs: Prompt beendet ist der Vorgang fehlerfrei abgeschlossen.
Die kopierte Datenmenge kann folgendermaßen ermittelt werden:

sudo su
du -sh /media/Backupplatte/MyBook_Live_Recovery/shares/
331G	/media/Backupplatte/MyBook_Live_Recovery/shares/