許程遠 滕德鋒 黃秀娟(廣西廣播電視技術中心欽州分中心)
?
淺談FAT32文件系統的數據恢復
許程遠 滕德鋒 黃秀娟
(廣西廣播電視技術中心欽州分中心)
[摘 要]在日常生活和工作中,特別是在廣播電視行業,大量地使用了各種存儲媒介用來存儲音視頻文件、服務器系統數據、工作資料等等。但是在使用過程中,經常會遇到由于病毒破壞或用戶的誤操作原因,造成數據丟失的情況,給用戶帶來了巨大的損失,甚至可能會影響到廣播電視發射臺站的安全播出。本文通過對文件系統原理的分析,指出了數據恢復的可行性,并簡要介紹使用WinHex軟件手動恢復數據的操作過程。
[關鍵詞]FAT文件系統;數據恢復;WinHex軟件
硬盤由很多盤片組成,每個盤片的每個面都有一個讀寫磁頭。如果有N個盤片,就有2N個面,對應2N個磁頭(Heads),從0、1、2開始編號。每個盤片被劃分成若干個同心圓磁道。這樣每個盤片的半徑均為固定值R的同心圓再邏輯上形成了一個以電機主軸為軸的柱面(Cylinders),從外至里編號為0、1、2……每個盤片上的每個磁道又被劃分為幾十個扇區(Sector),通常的容量是512byte,并按照一定規則編號為1、2、3……形成Cylinders×Heads×Sector個扇區。這三個參數即是硬盤的物理參數。
MBR,即主引導記錄,位于硬盤的0柱面0磁頭1扇區,也就是LBA尋址方式的第0扇區。計算機加電自檢后,BIOS就會跳轉到MBR中的第一條指令。將系統的控制權交由MBR來執行。在總共512字節的數據中,MBR的引導代碼占了其中的前446個字節,隨后的64個字節為磁盤分區表,最后的兩個字節“55 AA”是分區有效結束標志。如圖1所示。

圖1:WinHex軟件打開硬盤MBR扇區

圖2:FAT32分區結構
DBR, 即操作系統引導記錄區。DBR分為兩部分:引導程序和BPB。其中引導程序完成系統文件的定位與裝載,而BPB用來描述本分區的磁盤信息。它包含邏輯格式化時使用的參數,可供系統計算磁盤上的文件分配表,目錄區和數據區的起始地址。
保留扇區,是指從分區DBR扇區開始的僅為系統所有的扇區,包括DBR扇區。FAT32中,DBR偏移0x34 占2字節的數據指明了DBR備份扇區所在,一般為0x06,即第6扇區。當DBR扇區被破壞導致分區無法訪問時。可以用第6扇區的原備份替換第0扇區來找回數據。
FAT區域,它包含有兩份文件分配表,這是出于系統冗馀考慮。它是分區信息的映射表。在FAT文件系統中,文件的存儲依照FAT表制定的簇鏈式數據結構來進行。
根目錄區域,它是在根目錄中存儲文件和目錄信息的目錄表。在FAT32下它可以存在分區中的任何位置。
數據區域,這是實際的文件和目錄數據存儲的區域,它占據了分區的絕大部分。通過簡單地在FAT中添加文件鏈接的個數可以任意增加文件大小和子目錄個數。
在計算機使用過程中,數據丟失的最常見原因有以下幾點:1. 病毒等惡意程序破壞;2.操作失誤導致誤刪文件或誤格式化磁盤;3.計算機運行中突然停電,很容易造成磁盤丟失數據,甚至會損壞硬件;4.磁盤出現壞道,或硬件損壞。
數據是以二進制的方式存儲在磁盤上的,一般的刪除、格式化等操作都只是對文件目錄、磁盤分區表等進行操作,并不會直接刪除文件數據,這就為數據恢復提供了可行性。數據能夠恢復的前提條件:1.丟失的數據沒有被覆蓋。如果數據丟失后,我們仍然對磁盤進行寫入操作,原來存儲這些文件的數據區一旦被新寫入的文件覆蓋,那么該文件將不能被恢復。2.硬盤沒有被低級格式化。低級格式化會對硬盤的每一個扇區、磁道以及柱面的信息進行編排,如果對磁盤進行低級格式化,那么原來磁盤上的所有信息都將被清除,且不可恢復。3.磁盤不存在物理損壞,存儲介質本身損壞了,數據將無法恢復。
1服務器系統分區出錯,影響安全播出
發射臺站遠程監控系統的主控電腦系統崩潰死機,重啟后不能進入系統,提示“No System” 。將硬盤拆下裝到其他電腦上,在磁盤管理器中查看各分區信息正常,但是不能進入系統分區,提示磁盤未格式化(如圖3所示)。因該硬盤安裝有發射臺站的發射機控制系統、信號源系統、動力系統,為不影響安全播出,應盡快在現場恢復硬盤數據。

圖3:打開U盤提示需要格式化磁盤
分析:通過磁盤管理器查看各分區信息正常,只有系統分區出現問題,因此懷疑是系統分區的DBR扇區數據異常導致出現問題。使用WinHex軟件打開磁盤第63扇區(系統分區DBR所在扇區),使用DBR模板查看該扇區數據,發現數據與DBR模板不匹配,由此可以確認問題。
解決方法:FAT32文件系統格式化后,會在每個分區0扇區生成DBR,并且在第6扇區生成一個一樣備份DBR,當DBR受損時可以用備份的DBR來進行恢復。系統分區的DBR緊跟在MBR保留扇區后,即第63扇區,由此可計算出備份DBR在第69扇區,所以只要把第69扇區數據還原到第63扇區即可。
實施步驟:(1)為防止對磁盤數據造成二次破壞,使用WinHex軟件的磁盤克隆工具對原磁盤進行全盤鏡像,并復制保存一份副本。如圖4所示:

圖4
(2)使用WinHex軟件打開需要修復的鏡像文件,然后在WinHex軟件中打開磁盤鏡像文件,再將鏡像文件轉化為磁盤模式來操作。使用MBR模板查看第0扇區,發現MBR引導代碼與分區表正常。接下來檢查系統分區DBR,于是使用“跳轉至扇區”工具打開第63扇區,使用DBR模板查看數據,發現DBR數據異常。如圖5所示:

圖5
(3)繼續使用跳轉工具打開第69扇區,檢查發現備份DBR數據正常。使用“定義選塊”工具復制整個扇區數據(55 AA為結束標志),然后再跳轉回到第63扇區,把復制的數據寫入到第63扇區,點擊保存確認后即可修復系統分區DBR數據。將硬盤重新接回到主控程序電腦,開機后可以直接進入操作系統,并且硬盤數據沒有丟失,讀取正常。
2恢復誤刪除的Word文件。
存儲于硬盤中的WORD文件“開關電源在調頻廣播發射機中的應用.doc”由于被誤刪除無法找回。
分析:FAT32分區下文件刪除只是對文件目錄項的首字節置為“E5”,FAT對應的簇鏈置0,而數據區沒有任何改變。因此可以通過搜索文件的關鍵詞來定位到文件數據區。此外,WORD文件以是“D0CF11E0A1B11AE1”作為文件頭,可以通過搜索此特征碼來確定文件數據的開頭,再估算WORD文件大?。梢员M量比原文件大),從而提取出文件。
實施步驟:
(1)為防止對磁盤數據造成二次破壞,使用WinHex軟件的磁盤克隆工具對原磁盤進行全盤鏡像,并復制保存一份副本。然后在WinHex軟件中打開磁盤鏡像文件,再將鏡像文件轉化為磁盤模式來操作。這樣就避免了直接操作磁盤可能對其他數據造成的損害。
(2)由于Word文檔的中文采用Uniconde編碼,因此新建TXT文檔,輸入關鍵詞“開關電源在調頻廣播發射機中的應用”。并另存為Uniconde編碼格式,文件名text.txt。使用WinHex軟件打開該文件,得到關鍵詞的十六進制表示,開始的“FF FE”為字符編碼順序。如圖6所示:

圖6
(3)使用WinHex軟件的“搜索十六進制數值”命令,在磁盤鏡像文件中搜索關鍵詞“開關電源在調頻廣播發射機中的應用”的十六進制數值,從而定位到WORD文件的數據區。
(4)接著繼續向上搜索WORD文件頭特征碼“D0CF11E0A1B11AE1”,從而確定文件數據區的第一個扇區,再根據文件的大小設置一個估計的結束偏移地址。最后通過復制選塊至新文件功能,將文件保存為“提取的文件.doc”。如圖7所示:
(5)用WORD打開剛提取出來的文件,發現就是我們所要恢復的文件,內容完整,格式正確?;謴秃玫奈募妶D8:

圖7

圖8
WinHex軟件是一款在Windows下運行的十六進制編輯軟件,具有強大的數據恢復功能,能自動分析分區鏈和文件簇鏈,能對硬盤進行不同方式的備份,甚至克隆整個硬盤。但數據恢復本身就是一項復雜的工程,這就需要我們對文件系統有較深刻的了解,才能很好的利用各種軟件工具來完成在不同情況下的數據恢復。本文只是通過幾個簡單案例對FAT32文件系統的數據恢復作簡單介紹,這只是作為突發情況下的應急手段,并不是保護數據安全的常規措施。為了做到數據安全萬無一失,這就要求我們平時養成及時備份數據的習慣,對于系統服務器就要做好磁盤陣列,雙機熱備、統一存儲等安全措施,對于重要影視頻資料就要采取多種存儲媒介備份,做到永久保存。
參考文獻:
〔1〕戴世劍,涂彥暉. 數據恢復技術〔M〕.北京:電子工業出版社,2005
〔2〕宋群生,宋亞瓊. 硬盤扇區讀寫技術——修復硬盤與恢復文件〔M〕.北京:機械工業出版社,2004