Zunächst für die zu verwendende Software: Sie könnten versuchen, ddrescue
anstelle von zu verwenden dd
.
ddrescue
hat einen Schalter, um nur eine begrenzte Anzahl von Wiederholungsversuchen durchzuführen. Es kann auch eine Protokolldatei verwenden, um aufzuzeichnen, welche Blöcke fehlerhaft waren. Wenn Sie später mehr Wiederholungen durchführen möchten, können Sie dieselbe Protokolldatei verwenden, um ddrescue
sie mit anderen Optionen erneut auszuführen (z. B. mit mehr Wiederholungen), und es werden nur die erforderlichen Blöcke wiederholt.
Anwendungsbeispiel:
# ddrescue -n /dev/sda /dev/sdb rescue.log
# ddrescue -r1 /dev/sda /dev/sdb rescue.log
Von der ddrescue
Info-Seite:
-n, --no-scrape
Skip the scraping phase. Avoids spending a lot of time
trying to rescue the most difficult parts of the file.
-r, --retry-passes=<n>
Exit after given number of retry passes. Defaults to 0.
-1 means infinity. Every bad sector is tried only once
in each pass. To retry bad sectors detected on a previous
run, you must specify a non-zero number of retry passes.
Hier sind einige zusätzliche Quellen zur Verwendung ddrescue
:
Bearbeiten
Genannt Für den Fall , selbst die HDD zu lange dauert, können Sie versuchen , eine Funktion zu aktivieren TLER ( T ime L imited E rror R ecovery) oder CCTL ( C ommand C ompletion T ime L imit). Nicht alle Festplatten haben es, aber Sie können es verwenden, um die Zeit auf dem Festplattencontroller selbst zu begrenzen. Dieser Ansatz kann ddrecue
natürlich mit der Verwendung kombiniert werden .
Linux hat ein Tool namens smartctl
(im smartmontools
Paket).
So überprüfen Sie die aktuelle Einstellung ("deaktiviert" bedeutet eine unbegrenzte Zeit, die Sie nicht möchten):
# smartctl -l scterc /dev/sda
So legen Sie einen festen Wert fest (5,0 Sekunden in diesem Beispiel. Wenn Sie den Wert auf 0 setzen, wird TLER deaktiviert):
# smartctl -l scterc,50,50 /dev/sda
Quelle für TLER: http://en.wikipedia.org/wiki/TLER
Ich habe mit dieser Software gute Ergebnisse mit ansonsten nicht lesbaren Datenträgern erzielt.
http://www.cgsecurity.org/wiki/TestDisk
Das nächste ist auch ein solides Wiederherstellungswerkzeug. Dateien können auch dann abgerufen werden, wenn Ihre Dateitabelle beschädigt ist oder wenn sie gelöscht wurden. Es ist ein verdammt gutes Forensikwerkzeug. Es speichert Dinge auf eine wirklich unorganisierte Weise, aber Sie können alle Daten verschieben.
http://www.cgsecurity.org/wiki/PhotoRec
quelle
Um die CD schnell und schnell zu retten, können Sie eine sh-Skriptdatei verwenden und die Datei mit sh ausführen. Es enthält diese Zeile, einfach wiederholen
sudo ddrescue
und nochsleep 3
einige Male. Der Ruhezustand wird verwendet, um das Laufwerk einige Sekunden ruhen zu lassen:Die oben verwendeten Optionen:
-r0
: ohne erneute Versuche-e +0
: beim ersten Fehler beenden-T 1s
: Beenden mit 1 Sekunde Fail Read-d
: Direkte E / A-n
: kein KratzenSie können
-R
nach dem Beenden mit der Option-A
einmal verwenden, das wird alle Fehlergröße umkehren und entfernen und wieder rückwärts beginnen. Bedeutet, dass Fehler anders gelesen werden.quelle
Hängt von der Größe Ihrer Festplatte und der Anzahl der fehlerhaften Blöcke ab. Normalerweise benötige ich 20 Minuten, um ein Backup mit einer 1-Tera-Festplatte zu erstellen. Mit schlechten Blöcken habe ich mich heute Morgen gerade erholt, zweimal die Zeit genommen. Ich hatte Probleme beim Duplizieren (Sichern einer Festplatte) mit ungefähr 30 fehlerhaften Blöcken. Das erste, was ich getan habe, ist das Sichern von Dateien mit regulärem Filezilla, um alle guten Daten zu sichern. Ich stelle fest, dass eine große Datei nicht richtig kopiert wurde (Stopp in der Mitte und Neustart der Übertragung). Zum Glück habe ich eine vorherige Sicherung der gleichen Datei. Um die Festplatte zu duplizieren, musste ich die fehlerhaften Blöcke auf der Festplatte folgendermaßen finden:
1. Finden Sie die problematische Festplatte heraus, die die HD-Informationen mit fdisk -l identifiziert
2. Wenn Sie sagen, dass Ihre Festplatte / dev / sdb ist, müssen Sie den Befehl badblocks -v / dev / sdb ausführen, um alle fehlerhaften Blöcke auf dem Laufwerk aufzulisten. Zum Glück wird es ein paar geben. Wenn keine fehlerhaften Blöcke gefunden werden, sind Ihre Laufwerkblöcke in Ordnung und müssen etwas anderes herausfinden. Meine Blockgröße ist 512, daher 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 regelmäßig ausführte, wie immer, werden meine Daten nach den Fehlern verfälscht. Also benutze ich dann die Parameter wie auf der Seite https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html erklärt und suche den Teil "Nach fehlerhaften Datenträgern".
Es hat eine Weile gedauert. Jeder fehlerhafte Block klang wie ein Aufprall auf das fehlerhafte Laufwerk. Es kopiert Block für Block und durch alle meine schlechten Blöcke machte das gleiche Geräusch. Die Häufigkeit, mit der ein Geräusch erzeugt wurde, war darauf zurückzuführen, dass ein anderer fehlerhafter Block gefunden wurde und Sie über eine auf dem Display angezeigte Fehlermeldung informiert wurden. Die Funktion "conv = noerror, sync" füllt fehlerhafte Lesevorgänge mit NULs auf, während "iflag = fullblock" für kurze Lesevorgänge sorgt, Ihre Daten jedoch bis zum Ende synchronisiert. Überhaupt keine Beschädigung, es kopiert nur nicht die fehlerhaften Blöcke und füllt sie mit leeren NULs.
Nachdem das Kopieren mit DD abgeschlossen war, ersetze ich einfach diese fehlerhafte Datei, die Filezilla aus einer früheren Sicherung wiederherstellt, und alles funktionierte in Ordnung. Ich hoffe, dies ist nützlich für andere, die versuchen, fehlerhafte Laufwerke zu sichern.
HINWEIS: Meine fehlerhaften Blöcke waren ziemlich nahe beieinander. Ungefähr 4 Blöcke gleichzeitig in Gruppen, in denen ein Fehler festgestellt wurde. Wenn sich Ihre Blöcke auf der gesamten Festplatte befinden, können mehrere Dateien betroffen sein. Glücklicherweise war in meinem Fall nur eine große 4-GB-Datenbankdatei betroffen.
quelle