Für das Kopieren, Verwendung ddrescue
, safecopy
oder dd_rescue
. Sie führen alle ein Protokoll der fehlerhaften Bereiche und versuchen es automatisch, bis sie die Daten herausholen können.
Die allgemeine Verwendung ist:
ddrescue: (Verwechsle dich nicht mit dem älteren dd_rescue)
ddrescue /dev/sdc3 sdc3.img sdc3.map
Wenn gewünscht, wiederholen Sie mit
--retrim
oder --try-again:ddrescue --try-again /dev/sdc3 sdc3.img sdc3.map
Vergessen Sie nicht, die Map-Datei anzugeben, in der fehlerhafte Bereiche aufgezeichnet werden sollen.
safecopy:
safecopy --stage1 /dev/sdc3 sdc3.img safecopy --stage2 /dev/sdc3 sdc3.img safecopy --stage3 /dev/sdc3 sdc3.img
Nach Stufe 3 haben Sie eine
stage3.badblocks
Datei mit den einzelnen fehlerhaften Sektoren.Wenn Sie es erneut versuchen möchten, verwenden Sie:
mv stage3.badblocks stage2.badblocks safecopy --stage3 /dev/sdc3 sdc3.img
dd_rescue: (nicht mit der leistungsfähigeren ddrescue zu verwechseln)
dd_rescue -o sdc3.badblocks /dev/sd3 sdc3.img
(Ich habe keine Ahnung, ob dieses Tool die Wiederaufnahme / Wiederholung mit einem zweiten Aufruf unterstützt, aber es gibt mindestens ein Badblocks-Protokoll aus.)
Diese Programme betonen immer so viele Daten aus schnell wie sie können, und halten die langsame Erholung für später. Seien Sie also nicht überrascht, wenn "Stufe 1" allein aufgrund eines einzelnen fehlerhaften Blocks ganze Megabytes überspringt - dies wird in Stufe 2 wieder hergestellt.
Um eine fehlerhafte Festplatte zu emulieren, nimm das gerade erhaltene Badblocks-Protokoll und wende es auf diesen Beitrag an:
Verwenden Sie
dmsetup
diese Option, um ein Gerät zu erstellen, das durch das Ziel "Fehler" gesichert wird. Es wird in angezeigt/dev/mapper/<name>
.Seite 7 der Präsentation des Device Mapper (PDF) hat genau das, wonach Sie suchen:
dmsetup create bad_disk << EOF 0 8 linear /dev/sdb1 0 8 1 error 9 204791 linear /dev/sdb1 9 EOF
Oder lassen Sie die
sdb1
Teile aus und setzen Sie das "error" -Ziel als Gerät für die Blöcke 0 - 8 (anstelle vonsdb1
), um eine reine Fehlerdiskette zu erstellen.Siehe auch Der Device Mapper- Anhang aus "Verwaltung von RHEL 5 Logical Volume Manager".
- Peter Cordes, https://stackoverflow.com/questions/1870696/simulate-a-faulty-block-device-with-read-errors
(Das Konvertieren eines Badblocks-Logs oder einer Ddrescue-Map-Datei in die Syntax der Dmsetup-Tabelle bleibt dem Leser als Übung überlassen.)