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