Ein Bekannter brachte mir neulich hilfesuchend sein MacBook, leider sei die Festplatte defekt und daher die Daten futsch - ob ich denn mal nachsehen kann. Eine Anfrage bei Gravis (Mac-Dienstleister und Verkäufer) hatte lediglich den Defekt bestätigt.
Na mal sehen was Linux da machen kann - also
- Platte ausgebaut und an nen externen Controller gehangen (ein hilfreicher kleiner Adapter, solange man beim Anschließen die richtige Reihenfolge einhält, sonst riskiert man evtl. einen Kurzschluß)
- Image der Platte ziehen mittels:
ddrescue /dev/sdx /rettemich/image.img logfile
wobei /dev/sdx die gesuchte Platte markiert, dazu am besten direkt nach dem Anstöpseln
dmesg
eingeben und damit den "Anschluß" der Platte ermitteln.
Bei Fehlern einfach den ddrescue-Befehl erneut eingeben, das Programm versucht dann, die fehlerhaften Sektoren erneut zu lesen.
- jetzt wird's etwas verzwickt, denn wir haben das Image einer ganzen Festplatte erstellt, zum Datenretten brauchen wir aber meist eine Partition (einen Abgegrenzten Abschnitt der Platte mit entsprechendem Dateisystem).
Hier half der folgende Link weiter..
Um die richtige Partition einzubinden, muss man wissen wo diese beginnt (sog. offset)
sudo parted image.img unit B print
ergibt bei mir folgendes Ergebnis:
Modell: (file) Festplatte /rettemich/image.img: 320072933376B Sektorgröße (logisch/physisch): 512B/512B Partitionstabelle: gpt Nummer Anfang Ende Größe Dateisystem Name Flags 1 20480B 209735679B 209715200B fat32 EFI system partition boot 2 209735680B 319422910463B 319213174784B hfs+ Customer 3 319422910464B 320072912895B 650002432B hfs+ Recovery HD
Partition 2 ist die mit den "wichtigen Daten" und wir brauchen ihren "Anfang", hier also 209735680. Damit können wir jetzt so tun, als wäre diese Partition Teil einer echten Festplatte:
sudo losetup -o 209735680 /dev/loop0 /rettemich/image.img sudo fsck -f /dev/loop0 sudo mkdir /mnt/rettemich sudo mount /dev/loop0 /mnt/rettemich
Damit haben wir den "DatenTeil" des Backups auf eine virtuelle Festplattenpartition umgebogen, diese auf Konsistenz überprüft und letztlich ins Dateisystem von Linux eingebunden. Die Daten darauf können wir nun in aller Ruhe sichten und retten..