一次硬碟資料修復的經驗
相關概念:
mbr(
main boot record
)即主引導記錄區,它位於整個硬碟的0磁軌
0柱面
1扇區,包括硬碟引導程式和分割槽表。
dbr(
dos boot record
)即作業系統引導記錄區,通常位於硬碟的0磁軌
1柱面
1扇區,是作業系統可直接訪問的第乙個扇區,它也包括乙個引導程式和乙個被稱為
bpb(
bios parameter block
)的本分割槽引數記錄表。每個邏輯分割槽都有乙個
dbr。
fat(file allocation table)
即檔案分配表,是
dos,windows9x
系統的檔案定址格式,為了資料安全起見,
fat一般做兩個,第二
fat為第一
fat的備份。
dir
是directory
即根目錄區的簡寫,
dir緊接在第二
fat表之後。
有關硬碟儲存結構的詳細介紹,可參考我在99年
20期的文章《硬碟資料結構一瞥》。
估計資料丟失原因:
1、安裝多系統引導軟體後,異常操作造成。
2、遭到某種病毒感染。
資料丟失前狀態:
2.5g
硬碟,原分割槽為:c:
2g+ d
:500m,d
盤裝有重要資料。兩分割槽均為
fat16
格式。
資料丟失過程:
一次系統重啟後,
d盤丟失。
資料丟失後的操作:
該客戶曾用
fdisk
重新分割槽,試圖按原分割槽大小再造分割槽,未果。但沒有格式化
d盤,只格式化了
c盤並重灌系統。
客戶的資料修復要求:
恢復d
盤根目錄下
"數位相機
"目錄內所有檔案。
所用工具:
norton disk doctor
:diskedit.exe
資料修復過程:
一、資料備份:主要包括物理
0磁軌各扇區,各分割槽邏輯
0磁軌,
fat表和根目錄區等,再配以
ghost
備份各分割槽的資料區。
二、分析該硬碟的主引導扇區
mbr(包括主分割槽表和引導程式)、各分割槽的引導扇區
dbr、
fat表及根目錄區。
由於已經重新分割槽並能順利啟動
c盤(拋開病毒原因),故
mbr的邏輯結構應該沒問題,通過
diskedit
察看mbr
所在的0
磁軌第一扇區,證實估計正確,但現分割槽表與原分割槽表是否完全一致,還不能確定。
通過分割槽表,可以查詢到各分割槽的引導扇區所在的物理位置,分析後可確定
c盤的各項重要資料
(引導扇區、第一
fat表、第二
fat表、根目錄區
)均沒有異常,但
d盤除了引導扇區
dbr外、上訴的其他資料均無法對應,
dbr之所以無異常,是因為重新分割槽的結果,而
fat1
、fat2
和根目錄區面目全非的原因,大致應該有兩種可能:一是現分割槽與原分割槽不一致,導致資料對不上號;二是資料已被病毒破壞。
由於在察看
mbr時,發現
0磁軌的其他扇區留有不明程式的殘餘**,通過察看其中的一些顯示資訊,可以判定是某種多系統軟體留下的,說明客戶曾經安裝過多系統管理軟體。這樣大致可以排除病毒破壞分割槽的可能,分割槽丟失應該是異常操作多系統管理軟體引起的。
三、尋找原有分割槽
根據前面的分析,由於客戶在資料丟失後又進行了重新分割槽,而且估計現有的分割槽與原來的分割槽不一致,這樣無疑加大了資料修復的難度,但幸好沒有格式化
d盤,因為如果單單只是
fdisk
,只會改寫原硬碟的各分割槽的第一扇區,如果這個扇區不落在原分割槽的重要引數區(
dbr、
fat、根目錄)上,那麼修復的成功率還是挺高的。
接下來就是尋找原有
d盤的重要資料區了,根據客戶提供的資料可知,原
d盤根目錄下有一叫
"數位相機
"的子目錄,於是用
diskedit
提供的搜尋功能,搜尋
"數位相機
"對應的十六進製制**,可以找到原有
d盤的根目錄區。歷時
30分鐘,通過過濾搜尋結果,最終找到該根目錄所在的扇區,然後順藤摸瓜,向前翻過兩個
fat表(根據經驗大概
400-500
個扇區)找到原d盤的
dbr所在的扇區,接著再向前翻
63個扇區,找到原
d盤的分割槽表,至此,最困難的問題攻克了。
四、重建主分割槽表
因為客戶後來用
fdisk
重新建立的主分割槽表與原來的分割槽表並不一致,故必須手工重建原分割槽表,通過前面找到的原
d盤分割槽表和原d盤的
dbr,可以計算出主分割槽表。包括各分割槽的起始、結束扇區、分割槽大小、分割槽型別等。算出結果後,改寫0磁軌
1扇區的主分割槽表。
五、重啟系統,出現原
d盤,所有檔案基本全部恢復。拷貝出
"數位相機
"目錄,做好備份。通知客戶取回資料。
有關本次案例的說明:
1、
資料備份時,不要過分相信
ghost
,ghost
只認正確的分割槽,對於隱藏的分割槽它不會複製。對於不正確的分割槽,它會報告錯誤並停止複製過程。
ghost
並非乙個純粹意義上的全盤複製軟體,它只複製那些
fat表上存在的檔案,而非複製磁碟上所有的資料!
2、
走運的是,該客戶重新分的
d盤剛好比原
d盤大幾個磁軌,故新的
d盤分割槽表被建在原
c盤最後端的資料區中。所以本次基本上可以說是
100%
恢復了原
d盤的資料了。
3、
更走運的是,該客戶沒有重新格式化
d盤,不然就不可能有那麼高的恢復率了。
給讀者的建議:
硬碟資料線的問題
硬碟資料線 故障現象一 有一次在給客戶裝機的過程中,每次都是裝到一半的時候就宕機了,沒有規律,有時啟動的時候還會提示找不到硬碟。解決過程 開始以為是硬碟問題,到倉庫換了幾個新的也不管用,拿過來的硬碟都在別的機器上裝系統測試過。後來又懷疑是光碟機不讀盤所引起的,把光碟機和系統盤換掉還是不行,最後抱著試...
記一次「硬碟檔案系統錯誤」修復過程
linux 新使用者,這兩天在公升級 gentoo,結果遇到如下錯誤,看上去像是檔案系統或硬碟問題 到底啥問題還不知道,但這不是本文主題 因為始終繞不過這個問題 包括 unmerge 解除安裝了 kdenlive 包後 我 sudo reboot 命令重啟了機器,結果發覺進不了 x window 了...
一次跨網路傳輸資料的經驗
最近接到的任務是把hdfs的資料用json的形式,通過網路傳輸給公司a。讀取檔案解析組裝json當然是非常容易的事情,過程還沒走完 目前準備測試了 發現自己還是太青澀,事情考慮的確實不夠全面。之前兩個公司資料傳輸的方案,一直是公司a直接通過內網讀我們的mysql。但是由於我們更改了資料的計算方式,資...