Festplatte Sektor-für-Sektor klonen (dd/ddrescue), wie überspringe ich fehlerhafte Blöcke in der Mitte?

Festplatte Sektor-für-Sektor klonen (dd/ddrescue), wie überspringe ich fehlerhafte Blöcke in der Mitte?

Ich habe eine Festplatte mit nicht wiederherstellbaren fehlerhaften Blöcken. Die Festplatte ist Teil eines Raid-0-Arrays. Wenn ich auf irgendeine Weise auf fehlerhafte Blöcke zugreife, hängt sich die Festplatte auf. Nehmen wir an, die volle Kapazität der Festplatte beträgt 500.000.000.000 Bytes, fehlerhafte Blöcke liegen im Bereich von 100.000.000.000 - 100.000.004.096 Bytes (8 LBAs). Wie verwende ichddoderAbonnierenkann ich diese Festplatte auf eine andere Festplatte oder in eine Image-Datei klonen, ohne auf fehlerhafte Blöcke zuzugreifen? Ich brauche Bytes 0 – 99.999.999.999, dann 4096 Bytes Nullen, dann Bytes 100.000.004.097 – 500.000.000.000.

Danke!

Antwort1

Ich habe das heute gemacht und hoffe, es funktioniert bei Ihnen. Ich hatte Probleme beim Duplizieren (Sichern einer Festplatte) mit etwa 30 fehlerhaften Blöcken. Als Erstes habe ich mit dem normalen Filezilla Dateien gesichert, um alle guten Daten zu sichern. Mir ist aufgefallen, dass eine große Datei nicht richtig kopiert wurde (sie stoppte mittendrin und startete die Übertragung neu). Zum Glück habe ich eine frühere Sicherung derselben Datei. Um die Festplatte zu duplizieren, musste ich die fehlerhaften Blöcke auf der Festplatte mit diesem Verfahren finden:

1. Finden Sie die Problemfestplatte, indem Sie die HD-Informationen verwendenfdisk -l

2. Wenn Ihre Festplatte/Entwickler/sdbdann müssen Sie den Befehl ausführen badblocks -v /dev/sdbEs werden alle fehlerhaften Blöcke auf dem Laufwerk aufgelistet. Zum Glück gibt es einige. Wenn keine fehlerhaften Blöcke gefunden werden, sind die Blöcke Ihres Laufwerks in Ordnung und Sie müssen sich etwas anderes überlegen. Meine Blockgröße beträgt 512, also verwende ich diese Standardnummer, um DD auszuführen

3. Jeder Block hat eine Größe von 512, also habe ich bs=512 gesetzt

Jedes Mal, wenn ich DD wie immer regelmäßig ausführe, werden meine Daten nach den Fehlern beschädigt. Also verwende ich dann die Parameter wie auf der Seite erklärthttps://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.htmlDurchsuchen Sie den Abschnitt „Nach fehlerhaften Festplatten“.

dd if=/dev/sdb of=/dev/sda bs=512 conv=noerror,sync iflag=fullblock 

Es hat eine Weile gedauert. Jeder fehlerhafte Block klingt wie ein Klopfen auf dem fehlerhaften Laufwerk. Es kopiert Block für Block und hat bei allen meinen fehlerhaften Blöcken das gleiche Geräusch gemacht. Die Häufigkeit, mit der das Geräusch gemacht wurde, lag daran, dass es einen weiteren fehlerhaften Block gefunden hat und Sie über eine Fehlermeldung auf dem Display informiert. Was ist der„conv=keinFehler,Sync“ist, fehlerhafte Lesevorgänge mit NULs aufzufüllen, während'iflag=vollständiger Block'eignet sich für kurze Lesevorgänge, hält Ihre Daten aber bis zum Ende synchron. Keine Beschädigungen, es kopiert lediglich die fehlerhaften Blöcke nicht und füllt sie mit leeren NULs.

Nachdem das Kopieren mit DD abgeschlossen war, habe ich einfach die fehlerhafte Datei ersetzt, indem ich Filezilla von einem früheren Backup wiederhergestellt habe, und alles hat einwandfrei funktioniert. Ich hoffe, dass dies für andere nützlich ist, die versuchen, fehlerhafte Laufwerke zu sichern.

HINWEIS: Meine fehlerhaften Blöcke lagen ziemlich nah beieinander. Ungefähr 4 Blöcke gleichzeitig in Gruppen wurden als fehlerhaft erkannt. Wenn Ihre Blöcke über die ganze Festplatte verteilt sind, könnten mehrere Dateien betroffen sein. Glücklicherweise war in meinem Fall nur eine große Datenbankdatei mit 4 GB betroffen.

Antwort2

OK, vielleicht geht das auch mit dd, aber ich habe mein Problem mit WinHex gelöst (ich habe ein physisches Gerät ausgewählt). Es kann beliebige Teile der Festplatte in Images klonen und diese dann zusammenfügen.

verwandte Informationen