不小心把整個TrueCrypt容量檔刪掉的拯救方法

最近小弟不小心把整個TrueCrypt容量檔不小心刪掉,以為沒有得救的期間,在網上面看到以下兩個連結:
Recovering a truecrypt volume from a raw drive.
Recover truecrypt container after chkdsk

英文本身不好的我其實是想找下有沒有什麼一鍵拯救軟件之類的,但當然最後還是要手動來。
雖然很複雜但是能救回所有資料並成功掛載那一刻我真的十分有滿足感。

先解釋一下我的情況:

  • 我有一個1TB的TrueCrypt容量檔在我的3TB硬碟裡
  • 我不小心把這個硬碟「快速格式化」了一次
  • 我的TrueCrypt容量檔是在剛買硬碟後第一個建立的檔案

那了解完我的情況下,就容易去解決了,其實只要你沒碎片的問題,或是不是完整格式化的話,應該也能像我一樣救回來的。

方法如下:

  1. 下載 WinHex 並打開你TrueCrypt容量檔的硬盤
  2. 跳過NTFS的檔頭後你會看到一大堆資料
  3. 記得看著右手邊的資料屬性,它會告訴你是在那一個檔案的Hex裡面。因為TrueCrypt是沒法識別的關系,所以你會看到一大堆亂碼,並且沒顯示檔名。
  4. 善用Go to Offset功能尋找一段沒有空白號(0x0000000000)的Hex
  5. 好像我的例子,如果我在50GB裡面找到一個空白號的話,就代表我的資料不在裡面。(為省時建議每次尋找的時間為25-50GB左右,並且一定要比你容量檔的一半要細,因為假設你的容量檔是100GB,你有可能找到兩個60GB都有空白號的,但是你的容量檔就是在裡面 60*2-100=20)
  6. 找到之後的Hex後向上拉數MB的檔案並存在另一個硬碟上,試試用TrueCrypt掛載,如果你找對了應該會接受密碼但一個檔案也讀不到出來,因為資料結構不完整的關系,但可以確認你找對與否
  7. 利用Move back from current position向上跳回到你的Hex頭,並把整個檔案存成一個檔
  8. 再次利用密碼掛載,大功告成!

看似很簡單,但也用了我兩天半熟習整個過程和成功救援,但是上了一堂寶貴的教訓,下次刪東西時看清楚點才按確定!