Both MFT and MFT mirror corrupt in NTFS, the way to repair
前兩天突然覺得家裡的電腦變的很慢
突然警覺是不是硬碟快壞掉了
用了 Windows 的磁碟修復, 後又恢復正常,
後來無聊查了一下我這顆硬碟的型號, 發現原來我這顆是3年前
Seagate 出包的那顆死雞硬碟, 上了 plurk 慶幸了一下
趕緊就做了韌體的更新… 沒想到原本 SMART 沒有錯誤的
一更新完就出現紅字 = =, 想說是不是快爆炸了
順便打開 hdtune 掃描, 就跑去睡覺了..
結果隔天早上起來就出現 = =…找不到開機磁區的訊息
真的是心頭一驚啊
我又重開了一次, 幸好還可以進入 windows..
心想大概硬碟真的快壞了吧…趕緊關機..
接著就把電腦關機把硬碟帶去公司備份
一開始還找的到磁碟資訊, 沒想到越copy 越慢, 時間跑到2天去了 = =..想說是不是 USB沒插好, 重插… 結果跳出了一堆視窗 顯示磁碟損壞, 您必須要格式化才能使用… 真的是當下無言
只好把久久未用的 testdisk 拿出來掃了… 只是東按按西按按, 好像不太對勁
testdisk 是可以把 partition 找回來, 但我的檔案咧~~!! 全都不見了!!
只好搬出了 O&O Disk Recovery 花了大半把時間, 掃描, 終於看到熟悉的檔名 …
結果匯出才知道… 這些檔案全壞的..
存文字檔案打開 所有的開頭都被截掉了, 反而是屁股多了一堆有的沒的亂碼..
我在想大概是程式沒寫好檔案位置的 offset 有問題… 但是也沒辦法
後來索性按了testdisk 中的 PhotoRec 沒想到掃出檔案來了, 不過是沒有目錄結構的檔案, 亂成一團, 我種不可能一個一個分吧, 但至少知道 檔案是還弄的出來的, 只是要找什麼軟體才能正確的匯出目錄結構 還有檔案
後來就想著從 NTFS 專用的 DiskRecovery 程式找, 終於找到了一套還不錯的 GetDataBack 比起 O&O DiskRecovery 聰明的是他面對不明的(RAW) Partition 至少不會出現整顆硬碟的大小, 還掃半天
掃描完以後目錄果真也出來了, 點選檔案也可以看, 正打算copy 出來時
跳出… 您未購買該軟體的訊息… 接下來大家知道怎麼做了吧..
不過後來查了一查 NTFS 的檔案資訊會存在 MFT , 而 MFT 也有備份, 叫做 MFT Mirror, 而 testdisk 能做的修複就是從 MFT Mirror copy 回原本 MFT 的位置, 但是…
如果兩個都不存在就沒有用了, 但天無絕人之路,
其實還是可以透過最原始的方式去掃描 Sector 找到部份的 MFT 組合成完整的
也就是 GetDataBack 這套軟體做的事
再差的話, 就是用 testdisk 中 PhotoRec 一個一個掃描 Sector 把特定檔案鐅型的資料撈出來, 不過這種做法, 只能針對常用的檔案, 因為他是去比對檔案的 header 來藉此分析, 不常見的檔案沒有搜尋的依據自然沒辦法找回來, 同時你的檔案結構就會遺失, 也就是說, 你可能還要花大把的時間去整理, 不過如果真的窮途末路也只能這樣了
參考文件: http://www.cgsecurity.org/wiki/Advanced_NTFS_Boot_and_MFT_Repair
參考文件2: http://www.wuziq.com/weblog/node/965
