Ich hatte einen Festplattenfehler und konnte mit GNUs einige Daten von der Festplatte (1 TB) retten ddrescue
. Die letzten 800 GB der Festplatte waren perfekt, kein einzelner Fehler, aber bei den ersten 200 GB gab es fast 14000 Fehler (Badblocks), die über den gesamten Bereich verteilt waren. ddrescue
Erstellt eine Protokolldatei, die beschreibt, wo sich die Badblocks befinden.
ddrescue
s Befehlszeilenparameter:
ddrescue /dev/sdb /dev/sdd /mnt/sdc1/sdb.log -r -1 -f -d -v
Die Protokolldatei sieht folgendermaßen aus:
# pos size status
0x00000000 0x1C08CE00 +
0x1C08CE00 0x00000200 -
0x1C08D000 0x011E6800 +
0x1D273800 0x00000200 -
0x1D273A00 0x005EC000 +
0x1D85FA00 0x00000200 -
... ... ...
Das Pluszeichen (+) bedeutet zusammenhängenden guten Raum, das Minuszeichen (-) unlesbarer Raum; Position und Größe sind hexadezimal. Streifen, die mit '+' enden Ich habe eine Liste mit Badblock-Positionen, aber ich brauche eine Möglichkeit, diese Badblocks mit Dateien im Dateisystem zu korrelieren, das übrigens NTFS ist.
Ich weiß, dass ich so etwas wie DiskExplorer manuell verwenden kann, aber mit 14000 Sektoren wäre es die Hölle . Es gibt also eine mehr oder weniger automatische und elegante Möglichkeit, dies zu tun?
quelle