Fortsetzung von DD mit Lesefehlern, Überspringen/Suchen von Nummern

Fortsetzung von DD mit Lesefehlern, Überspringen/Suchen von Nummern

Ich versuche, mit dem folgenden Befehl Daten von einer ziemlich beschädigten CD zu kopieren:

dd if=/dev/sr1 of=IDT.img conv=sync,noerror status=progress

Allerdings wurde die Verbindung zum „Of“-Gerät getrennt und der DD wurde gestoppt (Ausgabe unten).

...
dd: error reading '/dev/sr1': Input/output error
1074889+17746 records in
1092635+0 records out
559429120 bytes (559 MB, 534 MiB) copied, 502933 s, 1.1 kB/s
dd: writing to 'IDT.img': Input/output error
1074889+17747 records in
1092635+0 records out
559429120 bytes (559 MB, 534 MiB) copied, 502933 s, 1.1 kB/s

Kann ich fortfahren mit:

dd if=/dev/sr1 of=IDT.img conv=sync,noerror status=progress seek=1092635 skip=1092635

Oder sollten die Such-/Überspringnummern beide sein 1092636, oder sollten Überspringen/Suchen unterschiedlich sein, oder etwas ganz anderes?

PS: Ich weiß, dass ich dafür wahrscheinlich den falschen Befehl verwende, z. B. ist ddrescue wahrscheinlich besser. Aber ich hänge jetzt wahrscheinlich bei dd fest(?). Ich erwarte keine weiteren Fehler auf der Ausgabedateiseite.

Antwort1

Es sind Lesefehler aufgetreten, sodass die Optionen mit conv=sync,noerrorziemlicher Sicherheit den Datenstrom verändert haben, was Ihre Ausgabedatei leider wertlos oder zumindest zu einer ungenauen Kopie gemacht hat.

Bei jedem fehlerhaften Lesevorgang (kurzer Lesevorgang) auf der Eingabe conv=syncfüllt die Option den Block mit NUL-Bytes auf. Der ddBefehl versucht, den Eingabestrom dort fortzusetzen, wo er aufgehört hat, aber in die Ausgabe ist jetzt eine unbekannte Anzahl von NUL-Bytes eingefügt.

Sie sollten die Anwendung beenden ddundddrescue, das zur Wiederherstellung von Daten von fehlerhaften Medien erstellt wurde.

Referenzierte Antworten zu ähnlichen Themen

Antwort2

VerwendenAbonnieren. Es kann beschädigte Medien lesen und dabei beschädigte Teile „erhalten“, was bei dd nicht möglich ist.

Stellen Sie sich Ihre Originaldaten vor:

  +-+-+-+-+-+-+-+-+-+-+-+-+
  |a b c d e f g h i j k l|
  +-+-+-+-+-+-+-+-+-+-+-+-+

Nach Beschädigung ( X) sehen sie so aus:

  +-+-+-+-+-+-+-+-+-+-+-+-+
  |a b c X X X X h i j k l|
  +-+-+-+-+-+-+-+-+-+-+-+-+

Was dd conv=sync,noerror lauten wird:

  +-+-+-+-+-+-+-+-+
  |a b c h i j k l|
  +-+-+-+-+-+-+-+-+

Was ddrescue lesen wird.

  +-+-+-+-+-+-+-+-+-+-+-+-+
  |a b c 0 0 0 0 h i j k l|
  +-+-+-+-+-+-+-+-+-+-+-+-+

Wie Sie sehen, ist die von dd gelesene Originalnachricht verzerrt, und wenn Sie auf diese Weise ein Dateisystemabbild erstellen, wird es unbrauchbar. Sie können das ddrescue-Abbild problemlos mounten, was Ihnen hilft, wie gewohnt auf unbeschädigte Daten zuzugreifen und beschädigte Daten einfach beiseite zu legen und sich als Nächstes damit zu befassen.

verwandte Informationen