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