ddrescue: Wiederholte fehlgeschlagene Blöcke nach dem ersten Durchlauf

718
nautical

Ich habe eine fehlerhafte Festplatte mit gesichert ddrescue. Der Befehl, den ich verwendete, war

# ddrescue -vv -d -J /dev/sda /mnt/rescue/winxp.img winxp.map 

Das Programm wurde mit rund 60 Fehlern abgeschlossen. Ich wollte nur die fehlerhaften Blöcke erneut versuchen. Ich habe diesen Abschnitt in der Manpage gefunden:

-m file --domain-mapfile=file Restrict the rescue domain to the blocks marked as finished in the mapfile file. This is useful for merging partially recovered images of  backups, or if the destination drive fails during the rescue. Use '-'  as file to read the domain mapfile from standard input. Specialized  tools like ddrutility or partclone can produce a domain mapfile  listing all the used blocks in a partition, making the rescue more efficient. -M --retrim Mark all failed blocks inside the rescue domain as non-trimmed before beginning the rescue. The effect is similar to '--retry-passes=1', but the bad sectors are tried in a different order, making perhaps possible to rescue some of them. 

Der nächste Befehl, den ich gab, war

# ddrescue -vv -d -M -m winxp.map /dev/sda /mnt/rescue/winxp.img winxp.2.map 

Ich dachte, dies würde nur die zuvor fehlgeschlagenen Blöcke wiederholen. Es schien jedoch wieder bei dem gesamten Vorgang zu beginnen und zu versuchen, die gesamte Festplatte zu retten.

Gibt es eine Möglichkeit, die fehlerhaften Blöcke nur zu wiederholen und bei Erfolg im vorherigen Image zu speichern?

0

1 Antwort auf die Frage

2
Attie

Sie müssen jedes Mal dieselbe Kartendatei verwenden. Dort werden die versuchten Regionen aufgezeichnet und ob sie erfolgreich waren oder fehlgeschlagen sind.

Normalerweise müssen Sie den Befehl nicht von Run-to-Run ändern. Wenn Sie ihn einfach erneut ausgeben, werden die fehlerhaften Regionen erneut (erneut) getestet.


Verwenden von -mwill (wie im Handbuch angegeben) " Beschränken Sie die Rettungsdomäne auf die Blöcke, die in der Mapfile-Datei als abgeschlossen markiert sind " - dh: Versuchen Sie nur, die erfolgreichen Blöcke zu lesen.

In den manuellen Zuständen ist dies wiederum in Verbindung mit anderen Dienstprogrammen hilfreich, um die Datenmenge zu reduzieren und möglicherweise die Laufzeit und die Anzahl der aufgetretenen Fehler zu reduzieren.

Es funktionierte. Ich habe kürzlich ein anderes Laufwerk mit Badblocks getestet, das nur fehlerhafte Blöcke aufzeichnet. Ich glaube, ich war in dieser Linie festgefahren und verstand * fertig * als versagende Blöcke, auf die alle Rettungsmaßnahmen (versucht, getrimmt und abgekratzt) angewendet wurden. Trotzdem dauerte es einige Stunden, bis der Vorgang abgeschlossen war, aber die Festplatte war zu 100% wiederhergestellt. Vielen Dank. nautical vor 5 Jahren 1