Mit ddrescue lassen sich sehr gut Daten von einer defekten Festplatte retten. Beschrieben wurde dies bereits hier. Bei großen Kapazitäten dauert dies allerdings sehr lange und man kopiert mitunter viel ungenutzten freien Speicherplatz mit.
Am Fallbeispiel einer 1 TB Notebook-Festplatte, auf der Windows 10 in einer 915 GB großen Partition installiert ist (LW C:\) und dabei lediglich nur um die 44 GB belegt sind, dauert die Erstellung eines RAW-Abbilds mit ddrescue etwas mehr als zwei Tage. Dabei ist der überweigende Teil dieses Abbilds unnütz.
Effektiver und schneller geht der Vorgang vonstatten, wenn man ddrescue vorher eine Art Karte mitgibt, auf der verzeichnet ist welche Bereiche belegt sind und folglich gesichert werden sollten. Möglich macht das Partclone.
Das betroffene Notebook wurde mit einer PartedMagic-CD gestartet und dann Schritt für Schritt wie folgt vorgegangen.
Die zu sichernde Partition mit
fdisk -l
ermitteln. Beispielausgabe:
Festplatte /dev/sda: 931,5 GiB, 1000204886016 Bytes, 1953525168 Sektoren Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes Festplattenbezeichnungstyp: gpt Festplattenbezeichner: 9FF70AAA-D393-4B8A-8EA7-9F5598BC5D28 Device Start End Sectors Size Type /dev/sda1 2048 534527 532480 260M EFI System /dev/sda2 534528 567295 32768 16M Microsoft reserved /dev/sda3 567296 1920621392 1920054097 915,6G Microsoft basic data /dev/sda4 1920622592 1924184063 3561472 1,7G Windows recovery environment /dev/sda5 1924184064 1953513471 29329408 14G Microsoft basic data Festplatte /dev/sdb: 465,8 GiB, 500107862016 Bytes, 976773168 Sektoren 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: dos Festplattenbezeichner: 0x7028503f Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 976769023 976766976 465,8G 7 HPFS/NTFS/exFAT
“/dev/sda” ist die im Notebook verbaute Festplatte, “/dev/sda3” ist dabei die zuvor erwähnte Windows-Partition. “/dev/sdb1” ist eine via USB angeschlossen Festplatte, die als Backup-Ziel dient.
Nun erstellt man mit Partclone die “Karte” der belegten Sektoren:
partclone.ntfs -s /dev/sda3 -D -o sda3.domain
Beispielausgabe:
Partclone v0.2.73 http://partclone.org Starting to map device (/dev/sda3) to domain log (sda3.domain) Elapsed: 00:02:13, Remaining: 00:00:00, Completed: 100.00% Total Time: 00:02:13, 100.00% completed! done! File system: NTFS Device size: 983,1 GB = 240006762 Blocks Space in use: 51,7 GB = 12631621 Blocks Free Space: 931,3 GB = 227375141 Blocks Block size: 4096 Byte Elapsed: 00:00:08, Remaining: 00:00:00, Completed: 100.00%, Rate: 388,04GB/min, current block: 240006763, total block: 240006762, Complete: 100.00% Total Time: 00:00:08, Ave. Rate: 388,0GB/min, 100.00% completed! Syncing... OK! Partclone successfully mapped the device (/dev/sda3) to the domain log (sda3.domain) Cloned successfully.
Zuvor wurde mittels “cd /media/sdb1/Backup/RAW” in das Ziel-Verzeichnis auf der Backup-Platte gewechselt. Gut zu wissen ist, das Partclone mit verschiedenen Dateisystemen umgehen kann. So lässt sich z.B. mit “partclone.ext3” eintsprechend eine mit ext3 formatierte Partition behandeln.
Als letzten Schritt lässt man ddrescue mit der zuvor erstellten Datei arbeiten:
ddrescue --domain-log sda3.domain /dev/sda3 sda3.img sda3.log -n
Beispielsausgabe:
GNU ddrescue 1.18.1 Press Ctrl-C to interrupt rescued: 51739 MB, errsize: 12288 B, current rate: 392 B/s ipos: 28704 MB, errors: 2, average rate: 8045 kB/s opos: 28704 MB, run time: 1.78 h, successful read: 0 s ago Finished
Mit dem so erstellten Abbild kann man weiterarbeiten, sei es um dieses direkt auf einer neuen Festplatte wiederherzustellen, dieses zu Mounten oder z.B. unter Windows mit OSFMount und weiteren Tools bearbeiten zu können.
Apropos OSFMount: Dieses läuft nur unter Windows. Bei einem wie oben erstellen Abbild muss man die Meldung nach der Abbild-/Disk-Größe (Image-/Disk-Size) mit “Ja” bestätigen, andernfalls klappt es nicht richtig.
Evtl. muss zudem “Read-only” deaktiviert werden, falls es mit nicht funktioniert.
Quellen:
superuser – Why can’t ddrescue just recover blocks used by the filesystem?
Partclone – [Partclone-user] [PATCH] Using partclone to create a domain log file for GNU ddrescue
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Entspricht die angegebene Funktion “–domain-log” der Funktion “–domain-mapfile” in einem aktuelleren gddrescue?