張生月,肖 珺,肖 靜,達 虎,李葆光
(甘肅省計算中心,甘肅 蘭州 730000)
淺析基于文件定位的數據恢復*
張生月,肖 珺,肖 靜,達 虎,李葆光
(甘肅省計算中心,甘肅 蘭州 730000)
主引導記錄(MBR)磁盤分區是大家現如今運用最為普遍的一種分區結構,它主要的功能就是確認分區表是否正確,當確認準確后就會找到哪個分區是引導分區,并且它還在程序結束的時候把這個分區的啟動程序調入內存然后就開始執行。所以本文主要根據MBR的工作原理和功能來對磁盤分區進行文件定位進而對誤刪除或誤操作導致丟失了的數據進行數據恢復操作。
主引導記錄;分區結構;文件定位;數據恢復
隨著現代計算機技術、通訊技術和網絡技術的快速發展,計算機在人們的各行各業的應用已經非常普遍。通過對計算機的使用會產生越來越多的數據,而這些數據對工作的重要已不言而喻,也已經成為重要的保護對象。但是在人們使用和存儲這些數據時,數據會被錯誤地刪除或操作,這樣就會使數據丟失成為常見的問題。而基于文件定位的數據恢復技術,就可以正確還原這些被刪除的文件和數據,在NTFS文件系統中,不論文件是不是連續存放,文件或者是目錄在被刪除后都可以通過該文件記錄找到文件存放具體位置如起始簇號從而進行數據恢復,但是當誤刪除的文件或者數據比較多時,需要逐個恢復,工作效率可能會比較低。
硬盤的內部結構經常專門指的是盤體的內部構造。盤體是一個密封的空間,里面主要存在著磁頭、磁頭控制器、盤片、主軸、控制電機、數據轉換器、接口、緩存等部件。當我們經過操作系統對文件進行訪問的時候,操作系統就會通過查找硬盤相應位置來調用要求訪問的文件,而這些文件的分布則都是通過盤片上的邏輯參數所決定的。操作系統在劃分硬盤所有區域時,一般劃分的區域會被稱為磁道、扇區、柱面,而當硬盤在尋找文件存放的地址時則是通過這幾個邏輯參數進行的。在對硬盤分區之后,操作系統則會在硬盤的0柱面、0磁道、1扇區處創建硬盤分區表,這個分區表就是被我們稱為主引導扇區的分區表,簡稱MBR。主引導扇區的功能則是在操作系統之前進行工作,依據主分區表中的信息來管理硬盤,然后再將硬盤控制權交給屬于活動分區的操作系統。而主引導記錄磁盤的分區模式一般有主分區、擴展分區、非DOS分區這3類。而第一個分區表一直是位于硬盤的0柱面、0磁頭、1扇區,其余的分區表位置則都可以通過主分區表進行回推計算。從磁盤分區結構我們可以清楚明白,操作系統主要通過主引導記錄MBR和擴展引導記錄EBR來管理磁盤分區。在主引導記錄磁盤分區中,分區表占了64字節,而每個分區表項占了16字節,分區的分區表項是從1BEH偏移處開始到55AAH結束,這樣就共有4個分區表項,操作系統一般只是使用前面的兩個分區表項來定義和描述本分區結構和下一分區結構。如果硬盤的存儲容量比較大時,并且需要有更多的磁盤分區時,就必須使用擴展分區,這樣便可以用擴展引導記錄(EBR)表示和定義,主引導記錄磁盤分區的整體結構[1]如圖1所示。

圖1 MBR分區結構
通過圖1可以知道主磁盤分區是通過主引導記錄中的分區表進行定位,而擴展分區之間則經由指針結構從而形成一個單向鏈表來實現定位。在FAT16文件系統的每個分區表中包含著操作系統引導記錄DBR,FAT1/2,FDT和DATA,但在FAT32文件系統的FDT則是在數據區。在NTFS文件系統中的操作系統引導記錄DBR包含在$BOOT文件中,和文件有關的信息在NTFS文件系統中被稱為屬性,而這些屬性則以文件記錄的形式在$MFT中存放,NTFS文件系統位置結構[2]如圖2所示。

圖2 NTFS文件系統結構
由圖1看到FAT表與FDA表對數據是鏈式存儲和管理的,這樣就可以通過鏈式搜索查找相關數據。而只有將FAT表和FDT表聯結起來,才可以管理整個磁盤內的相關文件,也同樣可以準確找到被刪除文件的具體位置。通過閱讀資料[3]了解到,在Windows操作系統下刪除普通的文件,則是將FDT表中該文件的第一個特征字符改為“E5”來操作,同時對引導扇區的第二個扇區中信息進行改寫,該操作是修改刪除文件分區點占用空間大小的相應信息[4]。這樣根據文件的存儲結構,在恢復文件的時候,主要就是查找“E5”刪除標志,而后對被刪除文件采用回溯遞推方法尋找數據鏈并進行數據塊的反向恢復。
通過圖2了解到,對于NTFS分區,主要由主文件表MFT來管理數據。在對NTFS文件系統下執行刪除文件操作或者格式化文件的時候,操作系統則只是將文件頭部中的數據屬性體DATARUNS中的16-17H處標志字節設置為00/02H,還有其他微小的變化,如日志序列號發生變化(增1,使用次數發生變化),而對文件的其他如基本屬性10屬性、文件名30屬性沒有其他任何操作;對于正在運行的文件,則釋放該文件所占用的空間,不改變該文件占用數據區的數據,只將運行所占用的簇信息在文件$Bitmap中所相對應的位置處設置為0[5]操作。因此針對它的恢復軟件只要修改屬性體DATARUNS中的標志字節,即可恢復數據了。
當前信息的爆炸式增長,針對數據的丟失和破壞現象愈演愈烈,如何保護好重要數據信息,在數據被破壞或丟失的情況下,怎們盡可能的挽救回這些信息,將是長期而艱巨的話題。
本文簡單介紹了文件系統被刪除數據恢復相關理論知識,并相應地介紹了針對刪除操作引起的數據丟失所需要進行的恢復步驟,但是用戶的計算機系統發生重要數據被損壞或丟失的情況不只誤刪除一種,所以數據恢復的研究范圍十分廣泛,而如何實現不同數據丟失情形下的最大化恢復則成為當前研究的主要問題,因此對于數據恢復技術需要更進一步地研究與探討。
[1] 劉偉.數據恢復技術深度揭秘[M].北京:電子工業出版社,2010.
[2] 馬國富,馬勝利,王子賢,等.數據恢復在電子數據取證與司法鑒定中的應用[J].河北大學學報(自然科學版),2015, 35(5):538-545
[3] 傅祿,霍永.電子物證中數據恢復技術淺析[J].電腦編程技巧與維護.2016,46-47.
[4] 王強.Windows平臺下磁盤數據恢復技術的研究與實現[D].四川:四川師范大學,2008.
[5] 趙雙峰,費金龍,劉楠,武東英.Windows NTFS下數據恢復的研究與實現[J].計算機工程與設計,2008,(29):306-308.
TP29
甘肅省科技支撐計劃項目編號:1504FKCA039。