周末不小心把硬盤分區表搞壞了,原來保存文件的分區已經面目全非,用盡各種分區表修復軟件也無濟于事。前面兩個星期的開發成果全部在里面呢(為了不影響同事正常編譯運行,一直沒有上傳到版本服務器)。沒法子了,只好請出EasyRecovery來救命。
選擇了被破壞的分區進行了RAW RECOVERY,開始漫長的等待,看著各種文件一個個的跳出來,等了很久也沒有一個java文件。中斷掃描檢查一下文件類型,原來EasyRecovery不識別java文件,白掃了半天。試試添加一個java類型進去,卻發現EasyRecovery只能接受不超過三個字母的后綴,而且EasyRecovery不是通過文件后綴來識別文件的,而是要識別文件中指定位置開始的一串特殊數據來識別。那就好辦了。
用ULTRA EDIT打開一個java文件觀察一下,果然發現一個明顯的特征:幾乎全部文件都是以“package ”開始的。于是添加一個文件類型jav,signature為70 61 63 6B 61 67 65 20 ,offset為0。filetype中的其他文件類型全部不選,單選一個jav,掃起來速度就快多了。但是很快發現一個新的問題:恢復的文件太多,大多數不是我想找的那寫最新的代碼。我最新的代碼都是屬于一個 ...form.templet包下面的,于是重新定義一個新的文件簽名emu,signature為66 6F 72 6D 2E 74 65 6D,offset為37,重搜了一遍,這下把我前幾天寫的代碼全部搜出來垃,爽!
選擇了被破壞的分區進行了RAW RECOVERY,開始漫長的等待,看著各種文件一個個的跳出來,等了很久也沒有一個java文件。中斷掃描檢查一下文件類型,原來EasyRecovery不識別java文件,白掃了半天。試試添加一個java類型進去,卻發現EasyRecovery只能接受不超過三個字母的后綴,而且EasyRecovery不是通過文件后綴來識別文件的,而是要識別文件中指定位置開始的一串特殊數據來識別。那就好辦了。
用ULTRA EDIT打開一個java文件觀察一下,果然發現一個明顯的特征:幾乎全部文件都是以“package ”開始的。于是添加一個文件類型jav,signature為70 61 63 6B 61 67 65 20 ,offset為0。filetype中的其他文件類型全部不選,單選一個jav,掃起來速度就快多了。但是很快發現一個新的問題:恢復的文件太多,大多數不是我想找的那寫最新的代碼。我最新的代碼都是屬于一個 ...form.templet包下面的,于是重新定義一個新的文件簽名emu,signature為66 6F 72 6D 2E 74 65 6D,offset為37,重搜了一遍,這下把我前幾天寫的代碼全部搜出來垃,爽!