田全紅,達 虎,徐成俊,鄧哲鵬,張生月,肖 珺
(甘肅省計算中心,甘肅 蘭州 730030)
FAT32文件系統(tǒng)數據恢復技術淺析*
田全紅,達 虎△,徐成俊,鄧哲鵬,張生月,肖 珺
(甘肅省計算中心,甘肅 蘭州 730030)
FAT32文件作為Windows操作系統(tǒng)的主流文件被普遍使用。本文對Windows系統(tǒng)下FAT32文件系統(tǒng)的數據恢復進行了分析,介紹FAT32文件系統(tǒng)結構,詳細闡述DBR和FAT表損壞時,利用WinHex軟件結合自身條件進行快速數據恢復過程,。
數據恢復;FAT32;文件分配表
Windows操作系統(tǒng)常采用FAT32和NTFS這兩種文件管理系統(tǒng)來對存儲介質中的數據進行管理操作。伴隨著網絡的快速發(fā)展,計算機滲透到我們的日常生活中,尤其在學習和工作中發(fā)揮重要的作用。隨著大數據時代的來臨,政府、企事業(yè),甚至我們個人更多的以電子數據的形式存儲重要信息,如此龐大的數據一旦發(fā)生誤刪除、丟失、感染病毒或者存儲介質損壞,將帶來嚴重的損失。一方面盡可能的保護好數據和設備,另一方面要求在數據丟失時,盡可能的恢復數據,讓損失降到最小。本文主要研究Windows系統(tǒng)下FAT32文件系統(tǒng)的數據恢復,重點闡述DBR和FAT表損壞時數據恢復過程。
FAT32文件作為Windows操作系統(tǒng)的主流文件,其文件系統(tǒng)主要由MBR、DBR及其保留扇區(qū)、FAT1、FAT2和DATA五部分組成[1]。其中MBR一般占用63個扇區(qū),但實際只用1個扇區(qū)。DBR一般占用32個扇區(qū),但實際只占用第1和第6扇區(qū),第6扇區(qū)作為第1扇區(qū)的備份,只有第1扇區(qū)起作用。FAT1與FAT2的大小相同,F(xiàn)AT是可變長度的,其長度隨著分區(qū)大小、每簇扇區(qū)數的變化而變化。在FAT32文件中,把目錄當文件管理,所以沒有獨立的目錄區(qū),這也是FAT32與其它FAT文件的區(qū)別。DATA數據區(qū)中不僅包含數據部分,由于分區(qū)根目錄下的文件及文件夾的目錄項存放在根目錄區(qū)中,分區(qū)子目錄下的文件及文件夾的目錄項存放在子目錄區(qū)中,所以根目錄區(qū)和子目錄區(qū)都在數據區(qū)中。
1.1 主引導記錄
硬盤的第 1個扇區(qū)叫 MBR (Master Boot Record)扇區(qū),為主引導扇區(qū)記錄,也即C/H/S地址為0柱面0磁頭1扇區(qū),占用512字節(jié),MBR的引導程序占其中前446個字節(jié),偏移0~偏移1BDH,后64個字節(jié),偏移1BEH~偏移1FDH為硬盤分區(qū)表DPT,末尾兩個字節(jié) “55AA”,偏移1FEH~偏移1FFH是分區(qū)有效結束標志。引導標志位只能是00H和80H,80H位活動,00H位非活動,其余值系統(tǒng)默認非法。
1.2 操作系統(tǒng)引導記錄
DBR(DOS Boot Record),操作系統(tǒng)引導記錄。通常情形下,第一個分區(qū)的DBR位于硬盤0磁道1柱面1扇區(qū),是操作系統(tǒng)可以訪問的第1個扇區(qū)。其文件系統(tǒng)的DBR包括跳轉指令、OEM代號、BPB、引導程序和結束標志。對FAT32進行數據恢復時,通常可由引導扇區(qū)BPB參數中的保留扇區(qū)數、FAT數、每個FAT32所占扇區(qū)數來定位根目錄的起始位置。計算公式為:根目錄起始位置=保留扇區(qū)數+FAT個數*每個FAT所占扇區(qū)數。
1.3 文件分配表
FAT(File Allocation Table),文件分配表。在FAT32文件中,由于FAT對文件管理的重要性,有兩個相同的FAT,第一個稱為主FAT,另一個是FAT1的備份,稱為備份FAT。FAT是位于DBR之后,同一個文件的數據并不一定完整地存放在磁盤的一個連續(xù)區(qū)域內,往往分成若干段,像一條鏈子一樣存放。文件的這個存儲方式稱為鏈式存儲,硬盤上必須準確記錄已被文件占用的簇,為每個已經占用的簇指明存儲后續(xù)內容的下一個簇的簇號,每一個文件最后一個簇,還要指明本簇無后續(xù)簇,實現(xiàn)鏈式存儲的記錄都保存在FAT表中。
1.4 文件系統(tǒng)目錄項
FAT32文件系統(tǒng)中,沒有獨立的根目錄區(qū),分區(qū)根目錄下的文件及文件夾的目錄項存放在根目錄區(qū)中,分區(qū)子目錄下的文件及文件夾的目錄項存放在子目錄區(qū)中,根目錄區(qū)的和子目錄區(qū)都在數據區(qū)中。文件目錄項(FDT)占32字節(jié),子目錄項的長度為零,已刪除目錄項的首字節(jié)值為E5H。
1.5 數據區(qū)
FAT32的根目錄、子目錄及文件內容主要存放在數據區(qū)中,是真正意義上數據存儲的地方,位于FAT2之后。對數據區(qū)中數據定位,首先通過分區(qū)表信息,定位相應的DBR扇區(qū),讀取出DBR扇區(qū)的OEH~OFH偏移信息,得到DBR保留扇區(qū)數值,進一步讀取到DBR扇區(qū)的24H~27H,得到每個FAT扇區(qū)數,通過相應的計算公式得到分區(qū)的數據區(qū)起始扇區(qū)[2-4]。
2.1 數據刪除時文件系統(tǒng)的變化
FAT32文件系統(tǒng)中,誤刪除的文件在回收站時,文件的FAT不發(fā)生任何變化,可直接從回收站中復原文件。但當使用“Delete+Shift”組合鍵徹底刪除文件時,此時文件分配表和文件目錄項均發(fā)生變化。FDT中的首字節(jié)改為刪除標志“E5H”,所對應的FAT表項值改為空簇標志“00000000H”。當文件的起始簇號大于兩個字節(jié)所表示的最大值時,文件目錄項中偏移14H~15H處用來存儲超出部分的值,在徹底刪除的時候,起始簇號14H~15H處的兩個高字節(jié)被清零,對文件起始簇號小于兩個字節(jié)所能表示最大值時,不存在這樣的情況。數據是以二進制的方式存儲在磁盤上的,在徹底刪除后,數據仍存在數據區(qū)中,只要未寫入新數據,原數據未被覆蓋,這就為數據恢復提供了可行性[5-6]。
2.2 DBR破壞后的恢復
在FAT32文件系統(tǒng)中,6號扇區(qū)作為DBR扇區(qū)的備份。當6號扇區(qū)沒被損壞時,可直接復制6號扇區(qū)DBR的備份信息。當DBR扇區(qū)和備份DBR扇區(qū)都損壞時,則需要我們通過手動方式重新構建DBR扇區(qū)。找到一個完好的FAT32分區(qū),復制DBR扇區(qū)到需要恢復的DBR扇區(qū)。重建的DBR扇區(qū)需要手動修改的關鍵參數包括:保留區(qū)扇區(qū)數、根目錄簇號、每簇扇區(qū)數、FAT表個數及每個FAT表總扇區(qū)數等內容。具體操作過程中我們使用WinHex軟件。
主要做法如下:
1)保留區(qū)扇區(qū)數的確定。從恢復文件系統(tǒng)的0扇區(qū)開始搜索“F8FFFF0F”,找到此位置后,讀取出扇區(qū)數,此扇區(qū)數既是保留區(qū)扇區(qū)數,又是FAT1表的起始位置。
2)FAT表總扇區(qū)數的確定。接上一步操作,繼續(xù)搜索“F8FFFF0F”,確定此位置后,讀取出扇區(qū)數,此扇區(qū)數是FAT2表的起始位置。用FAT2表位置減去FAT1表位置就得到每個FAT表總扇區(qū)數。
3)每簇扇區(qū)數的確定。根據讀取到總扇區(qū)數由公式(1)可以確定數據區(qū)的總扇區(qū)數,進一步可通過公式(2)可得到每簇扇區(qū)數。
4)當DBR中的BPB表參數確定好以后,復制當前DBR表,找到當前分區(qū)的第6扇區(qū)粘貼,完成DBR表的修復。
2.3 FAT損壞后的恢復
由于FAT1和FAT2完全相同,F(xiàn)AT32文件系統(tǒng)中FAT1損壞后,考慮通過FAT2進行恢復。主要做法如下:
1)查找兩個子目錄。分別查找第一個子目錄和第二個子目錄,記下對應的扇區(qū)號和所在簇號。
2)計算每簇扇區(qū)數。兩個子目錄所在硬盤開始扇區(qū)號之差除以兩個子目錄簇號之差就是每簇扇區(qū)數。
3)計算根目錄開始扇區(qū)號。根據(2)得到每簇扇區(qū)數計算公式,反代入得到根目錄開始扇區(qū)號,根目錄開始扇區(qū)號減1就是FAT2表結束扇區(qū)號。
4)計算每個FAT表所占扇區(qū)數。搜索“F8FF FF0F”找到FAT2開始扇區(qū)號,確定每個FAT表所占扇區(qū)數。
5)復制當前FAT2表,通過每個FAT表所占扇區(qū)數確定FAT1起始扇區(qū),并粘貼,完成FAT1表的修復。
2.4 特征碼恢復文件
通過上述分析可知,一般的格式化、誤刪除或病毒感染等操作都只是針對文件分配表和文件目錄項,并沒有直接刪除數據,因此可以通過搜索一些文件的特征碼在數據區(qū)中定位文件,估算出相應大小,提取相對應的數據,放在一個完好的FAT32分區(qū)中恢復文件。常見文件格式的特征碼如:擴展名為“.doc”以“DOCF11E0A1B11AE1”開頭,擴展名為“.docx”以“0x504B030414”開頭等。
數據安全越來越受到人們的重視,但在日常中會遇到存儲設備損壞、病毒感染、誤刪除或者突然斷電等一些不可控因素造成的數據丟失,通過上文分析,我們看到只要分析到位,采取合理的方法,數據就可以恢復。為了能更好的恢復數據,盡可能挽回最大損失,一旦發(fā)生數據丟失情況,使用者應當停止數據讀寫操作,避免數據被覆蓋,造成二次損害。同時向專業(yè)維修人員詳細描述問題,以便他們能做出恰當的決策。恢復數據時,防止破壞原文件,對原文件做好鏡像,操作在鏡像文件中進行。
[1] 戴士劍,涂彥輝.數據恢復技術[M].北京:電子工業(yè)出版社, 2005.
[2] 劉偉.數據恢復技術深度揭秘[M].北京:電子工業(yè)出版社, 2010.
[3] 蔣笑天.FAT32文件系統(tǒng)的DBR恢復研究與實踐[J].軟件導刊,2014,13(12):46-49.
[4] 張明旺.基于FAT32文件系統(tǒng)的數據恢復技術[J].電子科技,2012,25(11):112-113.
[5] 魯恩銘,袁丁.WindowsFAT32下格式化數據恢復方案設計與實現(xiàn)[J].計算機應用與軟件,2010,27(6):165-168.
表1 平衡系數分析
本文對電梯的平衡系數的原理以及電梯的平衡系數的影響因素進行了研究,研究表明:影響電梯平衡系數的因素主要包括:曳引電動機的功率、轎廂的重量和對重的重量等,由于電梯的平衡系數對電梯的安全運行起著關鍵的重要作用。因此研究電梯平衡系數的影響因素具有重大的理論意義與工程意義,本文的研究為電梯平衡系數的設置提供了理論依據,能夠有效的減少由于電梯平衡系數不合理導致的電梯事故的發(fā)生。
參考文獻:
[1] 鄭祥盤.福建省老舊電梯缺陷與故障統(tǒng)計分析[J].質量技術監(jiān)督研究2014(5).
[2] 李中興平衡系數對電梯安全的影響及測試方法優(yōu)化[J].中國安全科學學報2015(11).
[3] 陳偉森平衡系數對電梯運行的影響及其測量方法探究[J].機電工程技術2013(5).
[4] 劉德勇對電梯曳引力和平衡系數的研究及相關影響[J].機電工程技術2015(4).
[5] 劉利文曳引電梯平衡系數的測量方法及其對電梯運行的影響分析[J].機電信息2016(9).
[6] GB/T7588-2003.電梯制造與安裝安全規(guī)范[S].
TP399
甘肅省科技支撐計劃社會發(fā)展類(編號1504FKCA039)。
△ 通訊作者:達虎(1987-),男,甘肅皋蘭人,甘肅省計算中心,碩士。Tel:18109445908。