數據恢復大進階 輕鬆找回失落的數據

 電腦中什麼最昂貴?CPU?內存?或是硬盤?都不是,這裏面任何一個部件都可以更換的,只有數據是最關鍵的,數據的丟失纔是最大的損失。誤刪了數據,被病毒或軟件破壞了硬盤分區表,這一切的一切對於一隻菜鳥來說代價都是非常慘重的……

  數據恢復就是找回丟失的數據,例如徹底刪除某個文件或文件夾,重新格式化磁盤,重新分區磁盤等都會造成數據丟失。更嚴重的數據丟失是存儲介質硬件損壞,例如,硬盤不小心摔壞了、硬盤根本就不認了、硬盤有大量壞道等。

數據恢復  準備篇

  在進行正式的數據恢復前,需要了解一些常見的數據恢復的原理,以便我們更好地恢復文件。

小提示

  由於版面原因,關於零磁道、MBR、DPT等名詞,大家可以從http://www.newhua.com/cfan/200422/datarecv.txt的技術文檔中瞭解,這些名詞有助於你閱讀下面的實例。

1.文件誤刪丟失

  當我們存儲一個文件時,操作系統首先在一個記錄所有空間使用情況的表格中,找到足夠容納新文件的空間,然後把文件內容寫到相對應的硬盤扇區上,最後在表格中標出該空間被佔用了。當要刪除一個文件時,一般並不對實際文件所佔用的扇區進行操作,而僅僅是在該表格中指明那些空間是空白的,可以分配給別的文件使用。這時,被刪除的文件的實際內容並沒有受到破壞,可以恢復回來。但刪除文件後,又重新創建了文件,那麼被刪除文件所佔用的扇區就有可能被新創建的文件所使用,這時就無法恢復原來被刪除的文件了。

2.硬盤分區表丟失

  分區表是硬盤的重要數據結構,管理整個硬盤空間。分區表丟失,表現爲硬盤原分區或部分分區消失,在Windows 2000/XP的“磁盤管理器”中看到未分區的硬盤或未分區的空間。出現這個問題有多種可能。

(1)病毒:遇到比較厲害的病毒,分區表有可能被損壞或丟失,如CIH病毒等。

(2)重新分區:使用FDisk對磁盤重新劃分空間,那麼原來的分區表被新的分區表將取代,這時,原來分區的數據並沒有損壞,僅僅是分區表指向了不正確的位置。

(3)誤操作:有時進行如PQ或Ghost的操作時,如果出現斷電或誤操作的情況也可能會使硬盤分區表丟失。

3.硬盤剩餘空間丟失

  由於某些原因使硬盤空間丟失,文件系統出現文件問題導致某些簇成爲“孤兒”,這些可被ScanDisk掃描出來,並保存爲CHK文件。這時候需要查看,這些CHK文件是否有用,然後才能刪除,但通常這些文件是沒用的。

數據恢復  備份篇

  有時當硬盤出現了物理損壞,最好是用Ghost的原始模式(RAW),把損壞磁盤按扇區備份到一個鏡像文件中,然後再進行恢復操作,具體的方式如下。

第一步:將損壞的硬盤接到另外一臺有足夠硬盤空間的電腦上。

第二步:進入DOS版的Ghost,選擇“Options”(選項),點擊“Image/Tape”標籤,然後選擇“Image All”(全部鏡像)項(見圖1)。

數據恢復

 

 

第三步:在Ghost中選擇“Local→Disk→To Image”,進行備份,然後在選擇文件類型時,要選擇“*.IMG”格式(見圖2),以便其他軟件打開鏡像文件。

數據恢復


第四步:備份好的鏡像文件可以用在虛擬機或恢復至相同型號的硬盤上進行數據恢復,也可使用如DiskExplore這種可以直接編輯鏡像文件的軟件嘗試恢復。

數據恢復  上手篇

  對於菜鳥來說,能夠簡單應用幾款最基本的軟件,幾乎就可以不再求助其他人而自行進行簡單恢復了。

1.恢復被誤刪的數據

  如果要恢復被誤刪的數據,可以使用EasyRecovery,下載地址爲http://sq5.onlinedown.net/down/fo-e604.zip,漢化版下載地址爲http://zj.onlinedown.net/down/hb_easyrecoverypro60408_yy.rar。完成軟件安裝後,打開軟件,點擊窗口上側的“Properties”項,然後選擇“Language→簡體中文”項,點擊“確定”,重新進入軟件,完成漢化。

第一步:進入軟件,在窗口左側選擇“數據修復”,然後點擊右側的“DeletedRecovery”(見圖3)。

數據恢復

第二步:這時會打開新窗口,在左側選擇要掃描的分區,在窗口右側的“文件過濾器”中選擇要恢復的文件擴展名,最後需要注意,如果要恢復的是文件夾,則需要勾選“完全掃描”項,完成後,點擊“下一步”按鈕,開始掃描被刪除的文件。

第三步:掃描完成後,可以看到所有掃描到的誤刪文件,勾選需要恢復的文件,點擊“下一步”,設置好文件恢復的路徑,再次點擊“下一步”即可。

小提示

  EasyRecovery的功能非常強大,還有“磁盤診斷”等非常強大的功能,大家可以自行試用。

2.恢復文件分區表

  如果是因爲FDisk或是其他原因將硬盤分區表破壞,可直接使用Disk Genius(下載地址:http://nj2.onlinedown.net/down/DGen20b0219.zip)進行恢復。

  將軟件下載後,拷貝至引導盤,然後在DOS下運行Disk Genius,選擇菜單中的“工具→重建分區表”即可恢復。

3.恢復被刪除的空間

  如果你的硬盤剩餘空間突然減少,在並沒有丟失重要信息的情況下,可以使用磁盤掃描程序對硬盤進行掃描,然後刪除掉所有CHK文件即可。

數據恢復  高級實例篇


  上面的介紹已經足夠菜鳥進行日常的恢復了,我們下面要介紹的是一些高級的硬盤恢復實例,對於大家很有指導意義。

實例1:手動恢復被CIH破壞的數據

  N年前由於中了CIH病毒,無法引導操作系統。20GB硬盤系統分爲3個分區,第一個分區是FAT32,大約5GB,第二個分區也是FAT32,大約8GB,最後一個分區是NTFS,重要的數據都在第二個分區上,只要恢復第二個分區就可以了。在當時,修復硬盤的自動化工具還很少,所以完全需要手工計算來恢復分區表。其實目前的自動化的工具也是使用類似的原理來修復,電腦計算比人工計算要準確得多,但有可能產生誤判,所以依然需要人工輔助。

第一步:使用DOS引導盤啓動,運行Norton的DiskEditor工具(見圖4),以物理磁盤的方式訪問(邏輯磁盤信息全部丟失),發現MBR完全是無效代碼,分區表也無效,查看隨後的C區所在扇區,同樣是混亂數據,查看硬盤後面的扇區,看到很多熟悉的文件名字,判斷是硬盤前面部分被覆蓋,後面數據可能沒有受損。

 

數據恢復


第二步:確定D區及E區的開始和結束位置,在磁盤上搜索特徵字符串,如“55AA”(擴展分區表和分區的DBR的結束標誌),或者根目錄的某些特殊文件名字。由於搜索速度比較慢,又因爲C區大約爲5GB,所以可以從3GB甚至4GB的位置開始搜索。爲了保險,從硬盤的3GB的偏移位置開始搜索DBR,規則條件有:“55AA”在扇區結尾,扇區開始有FAT32的簽名(OEM和FAT32等字樣),隨後扇區有比較整齊的FAT數據,向前63扇區是擴展分區表等。滿足的條件越多,可能性越大,經過一系列的比較和判斷(這種工作手工方法非常喫力),終於找到了D區的DBR,也就是D區實際的第一個扇區,向前偏移63個扇區,發現擴展分區表完好無損,這樣就找到了完整的擴展分區。

第三步:在主分區表中寫入擴展分區的起始和結束信息以及相關的內容。

第四步:重新用DOS系統盤啓動,發現了原來的D區,數據完好無損,而E區由於是NTFS,無法訪問,但其實E區也沒有損壞。

  通過這樣一番搜索,重建了丟失的擴展分區分區表,100%恢復了重要數據分區D區。使用磁盤工具重建分區表的過程基本類似,都是通過分析相關的信息重建分區表。其實這次數據恢復經歷,完全可以用Disk Genius工具來恢復,而且更加方便一些。

 實例2:分區表、FAT表丟失的數據恢復

  一個朋友拿着一個4GB的硬盤來找我,說啓動後看不到分區,但裏面有一個重要數據文件,也沒有備份。
我把這塊有問題的硬盤接到我的電腦上,然後大概瞭解了一下硬盤的情況,詢問硬盤損壞的原因:打開電腦,無法啓動,主板似乎沒有自檢,懷疑主板壞了,換了一塊主板,發現只能在BIOS裏面找到硬盤,而不能進入系統,接到別的電腦上,也看不到分區。初步判斷爲分區表丟失,如果僅僅是分區表丟了的話比較簡單……

第一步:粗略查看硬盤數據。運行WinHEX(下載地址:http://sq3.onlinedown.net/down/winhex.zip)(見圖5)或RunTimes的磁盤工具DiskExplorer(下載地址:http://sq.onlinedown.net/down/diskexpl.zip),選中需要的物理硬盤。然後拖動滾動條,瀏覽一遍整個硬盤,可以看到一些有意義的字符串,還可以見到大批的零數據,當然更多是看不懂的內容。這個沒有關係,至少目前說明硬盤沒有什麼明顯物理損壞或邏輯壞道。

 

數據恢復


第二步:自動尋找。用EasyRecovery裏面的工具試圖自動找到分區,但沒有成功。

第三步:試圖重建分區表。查看第一個扇區也就是MBR的內容,發現分區表完全損壞。如果僅僅是分區表損壞,完全可以通過搜索分區,然後根據分區的偏移重建分區表。

第四步:瞭解分區情況,如硬盤分有幾個區,每個分區大概多大,分區格式是什麼。經過詢問,瞭解到電腦大概是1999年左右買的,裝的是Windows 98,不知道幾個分區,不知道分區文件系統是FAT16還是FAT32,不知道重要的數據保存在哪個分區,哪個目錄名。雖然一問三知,但至少知道是FAT,不是NTFS,而且很可能是FAT32(純屬猜測)。根據經驗,一般第一個分區從第64個扇區開始,這個扇區是分區的第一個扇區,對於FAT來說,是引導扇區,裏面存儲着BPB數據。從起始扇區一直瀏覽到第64個扇區,前面扇區的數據都很混亂,不像是空白的樣子,懷疑被病毒改寫了,看這樣的症狀,猜測是CIH,損壞BIOS,導致主板不能啓動,同時搞亂C區的數據。一直到遠遠超過了64個扇區的時候,也沒有看到可能是FAT引導扇區的扇區。直接搜索扇區尾部的55AA,搜索了一會,似乎沒有找到引導扇區。

第五步:尋找根目錄。找不到引導扇區,無法定位分區的開始,從而無法定位FAT文件分配表的位置。換個思路,根目錄一般就在FAT表後,挨着FAT表,所以決定搜索根。看看其他電腦中Windows 98的根目錄,有MSDOS這個文件名,於是搜索MSDOS這個字符串。很幸運,找到了,在大約第16700個扇區裏面,然後倒退幾個扇區,發現了FAT表,FAT表一般是排列很整齊的數據。如果不知道FAT表是什麼樣的,那麼你打開你自己的硬盤,看看FAT的16進製表示,就知道這個很整齊大概是什麼樣子了。這樣看來,第一個分區大概在硬盤的8M(16700*512/1024/1024=8M)左右的位置開始的。 找一個磁盤編輯工具,如DiskExplorer,從目錄徑扇區的開始位置用根目錄的模式查看,熟悉的文件名字出現了,說明這裏確實是根目錄所在的扇區。查看FAT表,似乎前面部分的FAT損壞了一部分,而後面的比較完好,同時 還是沒有找到引導扇區,看來引導扇區被破壞了。

第六步:再一次自動尋找。根據前面的信息,已經可以推算出大部分的信息了,但是手工勞動比較辛苦,還是試一試自動化的工具。

  於是,再一次運行EasyRecovery,點擊“數據修復→AdvancedRecovery”,然後在彈出窗口中點擊只有當所選硬盤沒有分區時,纔可使用的“高級選項”按鈕。第一次自動尋找的時候,就是使用了缺省的設置,所以搜索失敗,根據前面的分析,設定搜索範圍從16000個扇區開始,分區類型選擇FAT32、FAT的匹配模式,同時選擇忽略FAT表(缺省時候是最佳匹配),然後就可以看到EasyRecovery不斷的顯示出查找的文件。

第七步:導出重要數據。可以說EasyRecovery恢復得還是比較成功的,恢復出了相當多的目錄結構,關鍵是我看到了Lock2000目錄,這就是我們要尋找的重要數據目錄。其他沒有關係的數據就不要了。存儲Lock2000目錄後,打開文件,發現大部分文件完全恢復,少部分在最後面出現了亂碼,也就是最後面的數據不太對。

  歷時1個小時,數據恢復基本上是成功的。得到的教訓是,要充分利用自動化工具。不過,隨着大硬盤的增多,自動化工具掃描一次非常費時間,即使4GB的硬盤也是比較慢的,在實例一中搜索20GB的硬盤是很慢的,要有耐心。所以要注意收集信息,信息收集越充分,提供給自動化工具的信息越多,數據恢復的可能也越大,速度也越快。

小提示

  前面講的2個例子都沒有備份數據,這是因爲實例一是分區表徹底損壞,而後來僅僅修改了分區表,所以不必備份數據;實例二是因爲現在的數據修復工具基本上考慮到了保存原始數據的必要性,一般不是直接在硬盤上操作,而是僅僅在內存中重建FAT等操作,基本沒有寫硬盤的操作,因爲沒有對硬盤的寫操作,所以不需要備份數據。

  但是重申一點,重要數據最好備份,否則一旦誤操作,就後悔莫及了。

實例3:誤刪除文件的恢復

  對於誤刪除的文件,我們有很多選擇,如FinalData、Recover4ALL、EasyRecovery,這些軟件使用很簡單,直接按照嚮導的指示就可以了。

  下面介紹一種手工恢復被刪除數據的方法,特別是使用這種自動化的方法恢復無效的時候,這種方法適合恢復有明顯特徵的結構簡單的文件,如文本文件的恢復。

  微軟公司的VC6有個一直沒有修改的BUG:存儲寫好的程序代碼時,偶爾會彈出一個對話框無法存儲文件,這時必須再存一次纔可以,如果你直接關閉VC6,就會發現剛纔那個文件被刪除了。剛好我的一個朋友就遇到了這樣的BUG,他很費勁才調試好的很長的文件就失蹤了。我先試用了前面介紹的軟件,結果找出很多以前刪除的文件,就是沒有需要的。沒有辦法的情況下,只好使用強行搜索的方法了。

 實例2:分區表、FAT表丟失的數據恢復

  一個朋友拿着一個4GB的硬盤來找我,說啓動後看不到分區,但裏面有一個重要數據文件,也沒有備份。
我把這塊有問題的硬盤接到我的電腦上,然後大概瞭解了一下硬盤的情況,詢問硬盤損壞的原因:打開電腦,無法啓動,主板似乎沒有自檢,懷疑主板壞了,換了一塊主板,發現只能在BIOS裏面找到硬盤,而不能進入系統,接到別的電腦上,也看不到分區。初步判斷爲分區表丟失,如果僅僅是分區表丟了的話比較簡單……

第一步:粗略查看硬盤數據。運行WinHEX(下載地址:http://sq3.onlinedown.net/down/winhex.zip)(見圖5)或RunTimes的磁盤工具DiskExplorer(下載地址:http://sq.onlinedown.net/down/diskexpl.zip),選中需要的物理硬盤。然後拖動滾動條,瀏覽一遍整個硬盤,可以看到一些有意義的字符串,還可以見到大批的零數據,當然更多是看不懂的內容。這個沒有關係,至少目前說明硬盤沒有什麼明顯物理損壞或邏輯壞道。

 

數據恢復


第二步:自動尋找。用EasyRecovery裏面的工具試圖自動找到分區,但沒有成功。

第三步:試圖重建分區表。查看第一個扇區也就是MBR的內容,發現分區表完全損壞。如果僅僅是分區表損壞,完全可以通過搜索分區,然後根據分區的偏移重建分區表。

第四步:瞭解分區情況,如硬盤分有幾個區,每個分區大概多大,分區格式是什麼。經過詢問,瞭解到電腦大概是1999年左右買的,裝的是Windows 98,不知道幾個分區,不知道分區文件系統是FAT16還是FAT32,不知道重要的數據保存在哪個分區,哪個目錄名。雖然一問三知,但至少知道是FAT,不是NTFS,而且很可能是FAT32(純屬猜測)。根據經驗,一般第一個分區從第64個扇區開始,這個扇區是分區的第一個扇區,對於FAT來說,是引導扇區,裏面存儲着BPB數據。從起始扇區一直瀏覽到第64個扇區,前面扇區的數據都很混亂,不像是空白的樣子,懷疑被病毒改寫了,看這樣的症狀,猜測是CIH,損壞BIOS,導致主板不能啓動,同時搞亂C區的數據。一直到遠遠超過了64個扇區的時候,也沒有看到可能是FAT引導扇區的扇區。直接搜索扇區尾部的55AA,搜索了一會,似乎沒有找到引導扇區。

第五步:尋找根目錄。找不到引導扇區,無法定位分區的開始,從而無法定位FAT文件分配表的位置。換個思路,根目錄一般就在FAT表後,挨着FAT表,所以決定搜索根。看看其他電腦中Windows 98的根目錄,有MSDOS這個文件名,於是搜索MSDOS這個字符串。很幸運,找到了,在大約第16700個扇區裏面,然後倒退幾個扇區,發現了FAT表,FAT表一般是排列很整齊的數據。如果不知道FAT表是什麼樣的,那麼你打開你自己的硬盤,看看FAT的16進製表示,就知道這個很整齊大概是什麼樣子了。這樣看來,第一個分區大概在硬盤的8M(16700*512/1024/1024=8M)左右的位置開始的。 找一個磁盤編輯工具,如DiskExplorer,從目錄徑扇區的開始位置用根目錄的模式查看,熟悉的文件名字出現了,說明這裏確實是根目錄所在的扇區。查看FAT表,似乎前面部分的FAT損壞了一部分,而後面的比較完好,同時 還是沒有找到引導扇區,看來引導扇區被破壞了。

第六步:再一次自動尋找。根據前面的信息,已經可以推算出大部分的信息了,但是手工勞動比較辛苦,還是試一試自動化的工具。

  於是,再一次運行EasyRecovery,點擊“數據修復→AdvancedRecovery”,然後在彈出窗口中點擊只有當所選硬盤沒有分區時,纔可使用的“高級選項”按鈕。第一次自動尋找的時候,就是使用了缺省的設置,所以搜索失敗,根據前面的分析,設定搜索範圍從16000個扇區開始,分區類型選擇FAT32、FAT的匹配模式,同時選擇忽略FAT表(缺省時候是最佳匹配),然後就可以看到EasyRecovery不斷的顯示出查找的文件。

第七步:導出重要數據。可以說EasyRecovery恢復得還是比較成功的,恢復出了相當多的目錄結構,關鍵是我看到了Lock2000目錄,這就是我們要尋找的重要數據目錄。其他沒有關係的數據就不要了。存儲Lock2000目錄後,打開文件,發現大部分文件完全恢復,少部分在最後面出現了亂碼,也就是最後面的數據不太對。

  歷時1個小時,數據恢復基本上是成功的。得到的教訓是,要充分利用自動化工具。不過,隨着大硬盤的增多,自動化工具掃描一次非常費時間,即使4GB的硬盤也是比較慢的,在實例一中搜索20GB的硬盤是很慢的,要有耐心。所以要注意收集信息,信息收集越充分,提供給自動化工具的信息越多,數據恢復的可能也越大,速度也越快。

小提示

  前面講的2個例子都沒有備份數據,這是因爲實例一是分區表徹底損壞,而後來僅僅修改了分區表,所以不必備份數據;實例二是因爲現在的數據修復工具基本上考慮到了保存原始數據的必要性,一般不是直接在硬盤上操作,而是僅僅在內存中重建FAT等操作,基本沒有寫硬盤的操作,因爲沒有對硬盤的寫操作,所以不需要備份數據。

  但是重申一點,重要數據最好備份,否則一旦誤操作,就後悔莫及了。

實例3:誤刪除文件的恢復

  對於誤刪除的文件,我們有很多選擇,如FinalData、Recover4ALL、EasyRecovery,這些軟件使用很簡單,直接按照嚮導的指示就可以了。

  下面介紹一種手工恢復被刪除數據的方法,特別是使用這種自動化的方法恢復無效的時候,這種方法適合恢復有明顯特徵的結構簡單的文件,如文本文件的恢復。

  微軟公司的VC6有個一直沒有修改的BUG:存儲寫好的程序代碼時,偶爾會彈出一個對話框無法存儲文件,這時必須再存一次纔可以,如果你直接關閉VC6,就會發現剛纔那個文件被刪除了。剛好我的一個朋友就遇到了這樣的BUG,他很費勁才調試好的很長的文件就失蹤了。我先試用了前面介紹的軟件,結果找出很多以前刪除的文件,就是沒有需要的。沒有辦法的情況下,只好使用強行搜索的方法了。

 第一步:運行WinHEX,選擇菜單中的“Tools→Open Disk”,選擇誤刪除文件所在C區。

第二步:選擇“Search”菜單項,使用“Find Text”項,在打開的C區上直接搜索程序代碼中的特徵串“增加了處理Reg_Expand_SZ”(見圖6)。

 

數據恢復


第三步:經過一段時間後,把找到代碼所在扇區的前後幾個扇區全部複製下來(見圖7),拷貝到一個新的文件中,這樣就找回了原來的代碼。

數據恢復


  如果文件分散在分區的多個位置,還需要根據文檔的內部結構來重新組織文檔,才能徹底恢復數據。

  誤格式化的原理與此非常類似,僅僅是快速格式化時,並沒有覆蓋原來的數據,所以可以恢復。


實例4:恢復被佔用的空白空間

  近日,在DOS下運行Ghost的硬盤分區(Partition to Image)映像備份,將系統分區C區備份到另一磁盤E區時,意外發生了斷電。待來電時,進入Windows後,卻收到了“磁盤空間不足”的報警,打開E區“屬性”,才發現不見了近1GB的磁盤空間,可是找遍了“E:”盤的每個角落,除了因備份失敗增加了一個0字節的Windows XPsp2.GHO映像文件外,沒有其他變化。

  由於Ghost備份是在DOS下被意外中止的,會不會是造成了“磁盤中的簇丟失”?於是,運行Windows磁盤掃描程序試試。在“我的電腦”中右擊E區圖標,選擇“屬性→工具”,點下“查錯”中的“開始檢查”按鈕,在彈出的選框中把“自動修復文件系統錯誤”、“掃描並試圖恢復壞扇區”兩項選中,並按下“開始”,重啓電腦即可運行鍼對E區的磁盤掃描了。

  重新進入Windows,打開“資源管理器”選取本地磁盤“E”,此時就E盤中會出現名爲“FOUND.000”的文件夾(該文件夾爲隱藏文件夾),打開後就可見到佔用磁盤空間的“原兇”——還原碎片文件“FILE0000.CHK”已在其中等候你的處置了,將它刪除即可。

感謝飛客網(http://www.fix.com.cn)提供部分資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章