昨天中午一個朋友拿著一個4G的硬盤來找我,說起動后看不到分區,但是里面有一個程序里面有關于公司的一些比較重要的數據,dbf格式的數據庫,公司比較小,沒有多少人懂電腦,也沒有備份。我幫助他找到了大部分數據,還是有一份數據丟失了。現在我把這一次 的體會寫出來,給其他朋友增加一點經驗,由于當時沒有截圖,我現在寫的時候是憑著記憶寫的,而且那塊硬盤已經拿走,不可能重現當時的情況了,所以我就多說幾句來彌補這一點,圖都是事例性質的,不是當時修復的抓圖。
上午的時候他打電話問我如何恢復數據,我就和他簡單說了幾句,說用easy recovery 試一試,中午他拿著硬盤找上門來,要我幫他。他告訴我說用easy recovery 6只找到一些古怪的文件,如.mpg等等沒有用處的東西。
首先我把他的硬盤接到我的機器上,然后我是這么做的:
1 大概了解硬盤的情況,詢問硬盤損壞的原因。
他告訴我說打開機器,發現無法啟動,主板似乎沒有自檢,懷疑主板壞了,換了一塊主板,發現只能在bios里面找到硬盤,而不能進入系統,接到別的機器上,也看不到分區。我說可能就是分區表丟了,如果僅僅是分區表丟了的話比較簡單。
2 粗略查看硬盤數據。運行winhex或者RunTimes的磁盤工具diskexplorer,(其他的可以進行磁盤編輯的軟件也可以),如圖1,選中需要的物理硬盤,申明一點,貼圖時候那塊硬盤不在了,所以這里僅僅是作個例 子說一說。然后拖動滾動條,瀏覽一遍整個硬盤,可以看到一些有意義的字符串,還可以見到大批的零數據,當然更多的是看不懂的內容。這個沒有關系,至少目前說明硬盤沒有什么明顯的物理損壞,或者邏輯壞道。
3 自動尋找。用Easy recovery 6里面的工具試圖自動找到分區,失敗了。
4 試圖重建分區表。查看第一個扇區也就是MBR的內容,發現一塌糊涂,分區表完全損壞。如果僅僅是分區表損壞,完全可以通過搜索分區,然后根據分區的偏移重建分區表。
5 了解分區情況,如硬盤分幾個區,每個分區大概多大,分區格式是什么。繼續詢問,了解到機器大概是99年左右買的,裝的是win98,不知道幾個分區,不知道分區格式是fat16還是fat32,不知道那個關鍵程序裝在那個分區,不知道那個關鍵程序的目錄名 字,頭暈,一問三不知阿,不過至少知道是fat格式,不是ntfs格式,而且很可能是fat32的分區格式(純屬猜測)。根據經驗,一般第一個分區從第64個扇區開始,這個扇區是分區的第一個扇區,對于fat來說,是引導扇區,里面存儲著BPB數據。從起 始扇區一直瀏覽到第64個扇區,前面的扇區數據都很混亂,不像是空白的樣子,懷疑被病毒改寫了,看這樣的癥狀,猜測是類似CIH的病毒,損壞bios,導致主板不能啟動,同時搞亂C盤的數據。一直到遠遠超過了64個扇區的時候,也沒有看到看起來可能是fa t的引導扇區的扇區。直接搜索扇區尾部的55AA(引導扇區的標志數據),搜索了一會,似乎沒有找到引導扇區。
6 尋找根目錄。找不到引導扇區,無法定位分區的開始,從而無法定位fat文件分配表的位置。換個思路,根路徑就在fat后面,挨著fat阿,所以決定搜索根路徑。看看我的win98的根目錄,有MSDOS這個文件名字,于是搜索MSDOS這個字符串,很幸運 ,找到了,在大約第16700個扇區里面,然后倒退幾個扇區,發現了fat表,fat表一般是排列很整齊的數據,你打開你自己的硬盤,看看fat的16進制表示,就知道這個很整齊大概是什么樣子了。這樣看來,第一個分區大概在硬盤的8M左右的位置開始的。 找一個磁盤編輯工具,如RunTimes的磁盤工具diskexplorer,從根路徑扇區的開始位置用根路徑的模式查看,熟悉的文件名字出現了,說明這里確實是根路徑所在的扇區。查看fat表,似乎前面部分的fat損壞了一部分,而后面的比較完好,同時 還是沒有找到引導扇區,看來引導扇區被破壞了。
7 再一次自動尋找。根據前面的信息,已經可以推算出大部分的信息了,但是手工勞工比較辛苦,還是試一試自動化的工具哦。
再一次運行Easy recovery 6,使用Data recovery 里面的AdvancedRecovery工具,如圖2所示,當硬盤上沒有分區信息時候,紅色箭頭所指的Advanced Options按鈕是可以選擇設定的。第一次自動尋找的時候,就是使用了缺省的設置,所以搜索失敗,根據前面的分析,設定搜索范圍從16000個扇區開始,分區類型選擇fat32,fat的匹配模式選擇忽略fat表(缺省時候是最佳匹配),然后就可以看到 Easy recovery 6不斷的顯示出查找的文件。
8 導出重要數據。 可以說Easy recovery 6得恢復還是比較成功的,恢復出了相當多的目錄結構,關鍵是我看到了lock2000目錄,這就是我們要尋找的重要數據目錄。其他沒有關系的數據就不要了。存儲lock2000目錄后,打開dbf數據庫,發現大部分數據庫完全恢復,少部分在最后面出現了亂 碼,也就是最后面的數據不太對。
最后,總共歷時1個小時。基本上,數據恢復是成功的,不能恢復的部分估計是因為fat表的損壞導致Easy recovery 6接錯了文件的尾部。得到的教訓是,充分利用自動化工具,但是,隨著大硬盤的增多,自動化工具掃描一次非常費時間,當然4g的硬盤很小,也是比較慢的。所以要注意收集信息,信息收集越充分,提供給自動化工具的信息越多,數據恢復的可能也越大。