ddrescue --generate-mode hat eine Map-Datei zum Fortsetzen erstellt, aber es fehlen nicht zugeschnittene Blöcke?

ddrescue --generate-mode hat eine Map-Datei zum Fortsetzen erstellt, aber es fehlen nicht zugeschnittene Blöcke?

Ich habe ddrescue gestartet, um ein defektes 2-TB-WD-Laufwerk von meinem NAS wiederherzustellen. Obwohl ich eine Protokolldatei angegeben hatte, führte ich Ubuntu leider im Testmodus von einem bootfähigen Flash-Laufwerk aus und schrieb die Protokolldatei nicht auf ein separat gemountetes Laufwerk. Als also der Strom bei etwa 11 % ausfiel, stellte ich fest, dass ich meine Protokolldatei verloren hatte.

In Kapitel 14 des Handbuchs sah es so aus, als ob der Generierungsmodus funktionieren könnte, also habe ich Folgendes ausgeführt:

ddrescue --generate-mode infile outfile mapfile

Das Laufwerk, auf dem ich die Daten wiederherstelle, ist brandneues Laufwerk und daher hatte ich Hoffnung, dass es klappen würde, da auf dem Laufwerk keine alten Daten vorhanden waren.

Ich verwende jetzt Ubuntu, das auf einer SSD installiert ist, also habe ich die generierte Map-Datei verwendet, um ddrescue erneut mit Folgendem auszuführen:

ddrescue -f -n -r1 /dev/sda /dev/sdb /tmp/ddrescue.log

Dies scheint größtenteils funktioniert zu haben, da der Wiederherstellungsprozess bei etwa 11,5 % genau dort neu gestartet wurde, wo er aufgehört hatte. Meine Sorge ist jedoch, dass ddrescue vor dem Absturz einen Lesefehler erkannt und etwa 20 MB nicht getrimmte Blöcke angezeigt hatte, aber beim Starten des Prozesses mit der neuen Map-Datei waren 0 Lesefehler und 0 nicht getrimmte Blöcke markiert. Jetzt, nach 8 Stunden Betrieb, zeigt es 2 Fehler und 29696 B nicht getrimmte Blöcke an, aber ich gehe davon aus, dass dies neue Lesefehler sind, da ddrescue die alten Datenteile, die bereits als gerettet markiert waren, nicht durchsieht.

Wird ddrescue den ursprünglichen Lesefehler bei einem nachfolgenden Durchgang entdecken, oder ist dieser endgültig verschwunden und die einzige Möglichkeit, diese Blöcke zu finden und erneut zu versuchen, besteht darin, mit einer neuen Map-Datei ganz von vorne zu beginnen?

Ich möchte so viel wie möglich, wenn nicht sogar alles, vom alten Laufwerk wiederherstellen und bin daher bereit, bei Bedarf von vorne zu beginnen.

Vielen Dank für jede Hilfe hierzu.

Antwort1

Um --generate-mode:

Ddrescue kann in einigen Fällen eine ungefähre Kopie mapfilevon infileund die (Teil-)Kopie in erstellen outfile, die fast so gut ist wie eine genaue Kopie mapfile. Dies geschieht, indem einfach angenommen wird, dass Sektoren, die nur Nullen enthalten, nicht gerettet wurden.

(Quelle)

Beim ersten Versuch wurde der Sektor der Zielfestplatte, der dem fehlerhaften Sektor der Quellfestplatte entsprach, nicht beschrieben. Ebenso wurden die Sektoren, die dem übersprungenen Sektor entsprachen, nicht beschrieben. Vorausgesetzt, die Zielfestplatte gibt alle Nullen aus den noch nicht beschriebenen Sektoren zurück, ddrescue --generate-modeklassifizierte der spätere Versuch alle diese Fragmente als „nicht gerettet“.

--generate-modekann nicht sagen, ob ein Sektor voller Nullen ist, weil er einem nicht getesteten Sektor einer Quellfestplatte entspricht, nicht getrimmt, nicht gescrapt oder ein fehlerhafter Sektor ist; oder einem gesunden Sektor, der kopiert wurde, aber zufällig nur Nullen enthält. Es weiß nur, dass ein Sektor voller Nullen möglicherweise outfilenicht gelesen wurde, währendVielleichtes kann gelesen werden. --generate-modeklassifiziert einen solchen Sektor beim Erstellen eines ungefähren einfach als nicht versucht mapfile, sodass ein Future ddrescue, das tatsächlich verwendet, mapfileversucht (oder erneut versucht), den Sektor zu lesen.

Das Ultimate ddrescueliest möglicherweise einige Sektoren unnötigerweise erneut; Sektoren, die gelesen wurden, aber zufällig nur Nullen enthielten und daher --generate-modewie nicht ausprobierte Sektoren aussahen. Dies ist normalerweise nur eine kleine Unannehmlichkeit, wenn überhaupt.

Sie müssen nicht von vorne beginnen, es sei denn, es gab beim Start Sektoren auf der Zielfestplatte, die nicht auf Null gesetzt waren. Solche Sektoren würden --generate-modeden Eindruck erwecken, dass es sich um gerettete Daten handelt, auch wenn dies nicht der Fall ist. Sie glauben, dass Ihre Zielfestplatte (als brandneue Festplatte) nur Nullen enthält. Wenn Ihre Annahme richtig ist, müssen Sie nicht von vorne beginnen.

Wenn Ihre Annahme richtig ist, wurde der fehlerhafte Sektor aus dem ersten Versuch als „nicht gerettet“ klassifiziert --generate-modeund Ihr ultimativer (immer noch laufender) Rechner ddrescuehat entweder versucht oder ist dabei, ihn erneut zu lesen.

verwandte Informationen