После неудачного анализа CHKDSK, который повредил много файлов на жестком диске 3 ТБ (ошибочно определен как 746 ГБ, вероятно, из-за несовместимости контроллера USB2 с емкостью более 2 ТБ), я хотел бы провести точное сравнение этих файлов (с их правильными аналогами). на резервном жестком диске) и извлеките поврежденные области для дальнейших исследований, прежде чем удалять их.
Пока что я действовал так:
- Откройте обе версии файла в WinHex. Активируйте экран "Синхронизировать и сравнить".
- Запустите сравнение со смещением 0, сохраните отчет (обязательно с этим программным обеспечением, нет возможности напрямую найти следующую разницу) с именем файла, укажите ограничение в 10000 ошибок (чтобы избежать слишком больших отчетов).
- Как только он остановится (достигнув конца файла или ограничения в 10000 различных байтов), откройте отчет TXT, скопируйте смещение первой разницы в меню WinHex "Перейти к смещению". Отметить первую ошибку (которая всегда находится на границе сектора) как начало блока.
- Чтобы найти конец поврежденной области, выполните прокрутку вниз или, если добавление 1 МБ или 100 КБ займет слишком много времени, пока я выйду, а затем выполните прокрутку вверх (я не нашел способа облегчить это в WinHex). Отметьте конец последнего сектора поврежденной области как конец блока.
- Извлеките блок как новый файл с шаблоном «Name_of_the_file [1111-2222]», где «1111-2222» - это начальные смещения.
- Возобновите сравнение в конце ранее выявленной поврежденной области, чтобы искать другие, до конца файла ...
Теперь, есть ли способ автоматизировать этот кропотливый и трудоемкий процесс? Существуют ли другие шестнадцатеричные редакторы, лучше подходящие для сравнения файлов? Или я мог бы использовать скрипт, чтобы сделать это все сразу? Я нашел замечательный инструмент командной строки под названием dsfok (DS File Ops Kit), который может извлечь блок данных между двумя значениями смещения (среди других функций, которые я еще не тестировал). Поэтому мне понадобится другой инструмент командной строки для сравнения и получения этих значений смещения, а также советы по написанию сценария для совместной работы этих инструментов. Благодарю.