
Nach einemunglückliche CHKDSK-Analyse, die viele Dateien auf einer 3TB-Festplatte beschädigte(fälschlicherweise als 746 GB erkannt, wahrscheinlich weil ein USB2-Controller mit Kapazitäten über 2 TB nicht kompatibel ist), möchte ich diese Dateien (mit ihren korrekten Gegenstücken auf einer Backup-Festplatte) genau vergleichen und die beschädigten Bereiche für weitere Untersuchungen extrahieren, bevor ich sie lösche.
Bisher bin ich folgendermaßen vorgegangen:
- Öffnen Sie beide Versionen der Datei in WinHex. Aktivieren Sie die Anzeige „Synchronisieren und vergleichen“.
- Führen Sie einen Vergleich bei Offset 0 aus, speichern Sie einen Bericht (bei dieser Software obligatorisch, keine Möglichkeit, den nächsten Unterschied direkt zu finden) mit dem Namen der Datei und geben Sie ein Limit von 10.000 Fehlern an (um zu große Berichte zu vermeiden).
- Sobald es stoppt (wenn das Ende der Datei oder das Limit von 10.000 unterschiedlichen Bytes erreicht ist), öffnen Sie den TXT-Bericht und kopieren Sie den Offset der ersten Differenz in das Menü „Gehe zu Offset“ von WinHex. Markieren Sie den ersten Fehler (der immer an einer Sektorgrenze liegt) als Beginn eines Blocks.
- Durchsuchen Sie das Ende des beschädigten Bereichs, indem Sie nach unten scrollen. Wenn es zu lange dauert, fügen Sie 1 MB oder 100 KB hinzu, bis ich fertig bin, und scrollen Sie dann nach oben (ich habe keine Möglichkeit gefunden, dies in WinHex einfacher zu machen). Markieren Sie das Ende des letzten Sektors des beschädigten Bereichs als Blockende.
- Extrahieren Sie den Block als neue Datei mit dem Muster „Name_der_Datei [1111-2222]“, wobei „1111-2222“ die Anfangs- und End-Offsets sind.
- Setzen Sie den Vergleich am Ende des zuvor identifizierten beschädigten Bereichs fort, um nach weiteren zu suchen, bis zum Ende der Datei …
Gibt es nun eine Möglichkeit, diesen mühsamen und zeitaufwändigen Prozess zu automatisieren? Gibt es andere Hexadezimal-Editoren, die sich besser für Dateivergleiche eignen? Oder könnte ich ein Skript verwenden, um dies alles auf einmal zu erledigen? Ich habe ein brillantes kleines Befehlszeilentool namensAbonnieren(DS File Ops Kit), das einen Datenblock zwischen zwei Offsetwerten extrahieren kann (neben anderen Funktionen, die ich noch nicht getestet habe). Ich bräuchte also ein weiteres Befehlszeilentool, um den Vergleich durchzuführen und diese Offsetwerte abzurufen, und Tipps zum Schreiben eines Skripts, damit diese Tools zusammenarbeiten. Danke.