
經過一個不幸的 CHKDSK 分析損壞了 3TB HDD 上的許多文件(錯誤地檢測為746 GB,可能是因為USB2 控制器與超過2TB 的容量不相容),我想對這些檔案(與備份HDD 上的正確副本)進行精確比較,並提取損壞的區域以進行進一步的處理在刪除它們之前進行調查。
到目前為止,我是這樣進行的:
- 在 WinHex 中開啟該檔案的兩個版本。啟動“同步和比較”顯示。
- 在偏移量 0 處執行比較,使用檔案名稱儲存報表(此軟體強制執行,無法直接找到下一個差異),指定 10000 個錯誤的限制(以避免報告太大)。
- 一旦停止(到達檔案末端或 10000 個不同位元組的限制),開啟 TXT 報告,將第一個差異的偏移量複製到 WinHex 的「轉到偏移量」選單中。將第一個錯誤(始終位於磁區邊界)標記為區塊的開頭。
- 透過向下捲動來搜尋損壞區域的末尾,或者如果需要很長時間,則添加 1MB 或 100KB 直到我退出,然後向上滾動(我發現在 WinHex 中沒有辦法讓這變得更容易)。將損壞區域的最後一個磁區的末端標記為區塊的末端。
- 將區塊提取為新文件,其模式為“Name_of_the_file [1111-2222]”,其中“1111-2222”是起始偏移量。
- 在先前識別出的損壞區域的末尾恢復比較,以搜尋其他區域,直到文件末尾...
現在,有沒有一種方法可以自動化這個艱苦且耗時的流程?還有其他更適合文件比較的十六進位編輯器嗎?或者我可以使用腳本一次完成這一切嗎?我發現了一個很棒的小命令列工具,名為德斯福克(DS File Ops Kit)可以提取兩個偏移值之間的資料塊(以及我尚未測試的其他功能)。因此,我需要另一個命令列工具來執行比較並獲取這些偏移值,以及編寫腳本以使這些工具協同工作的提示。謝謝。