龍鐵光
摘要:用戶使用U盤(pán)存儲(chǔ)編輯文件時(shí),因文件單元大小及存儲(chǔ)次序等因素,導(dǎo)致在文件系統(tǒng)FAT32中的存儲(chǔ)結(jié)構(gòu)不是連續(xù)的,碎片化的保存方式又因U盤(pán)的反復(fù)插拔或者誤操作導(dǎo)致數(shù)據(jù)的丟失。本文基于Winhex數(shù)據(jù)恢復(fù)軟件,模擬仿真U盤(pán)中文件碎片化存儲(chǔ)現(xiàn)象,深入分析其文件存儲(chǔ)的基本原理,并研究其快速恢復(fù)其文件的方法。
關(guān)鍵詞:FAT32;Winhex;碎片化;數(shù)據(jù)恢復(fù)
中圖分類號(hào):TP309.3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)02-0058-02
1 U盤(pán)FAT32文件系統(tǒng)簡(jiǎn)介
目前,市面上U盤(pán)的文件系統(tǒng)包括FAT32\NTFS\ExFAT等文件系統(tǒng),主要以16G\32G存儲(chǔ)大小的FAT32文件系統(tǒng)為主,U盤(pán)因價(jià)格便宜、小巧美觀、易于攜帶等優(yōu)點(diǎn)被用戶廣泛用于文件的傳輸及保存[1]。FAT32文件系統(tǒng)在U盤(pán)的結(jié)構(gòu)如圖1所示。FAT32文件系統(tǒng)將邏輯U盤(pán)的空間劃分為三部分,依次是引導(dǎo)區(qū)(BOOT區(qū))、文件分配表區(qū)(FAT區(qū))、數(shù)據(jù)區(qū)(DATA區(qū)),引導(dǎo)區(qū)和文件分配表區(qū)又合稱為系統(tǒng)區(qū)。
其中,DBR (DOS Boot Record )中文釋義為DOS 引導(dǎo)記錄,記錄了U盤(pán)分區(qū)的 BPB 參數(shù),如分區(qū)的系統(tǒng)文件標(biāo)志、每簇扇區(qū)數(shù)、FAT表1分區(qū)起始位置、分區(qū)大小、FAT表大小等相關(guān)重要信息,如圖2部分截取所示。
FAT表即為文件分配表,是FAT32文件系統(tǒng)的一個(gè)重要組成部分,它由很多個(gè)FAT表項(xiàng)構(gòu)成,每個(gè)FAT表項(xiàng)占4個(gè)字節(jié)即32位,其中0號(hào)和1號(hào)FAT表項(xiàng)具有專門(mén)的用途,0號(hào)FAT表項(xiàng)用于存放分區(qū)所在的介質(zhì)類型,硬盤(pán)的為F8,1號(hào)FAT表項(xiàng)一般為FFFFFFFF[2]。其空U盤(pán)的FAT表如圖3所示,2至5號(hào)FAT表項(xiàng)被文件所占,說(shuō)明2到5號(hào)簇已被U盤(pán)系統(tǒng)結(jié)構(gòu)空間置留,空間所分配的標(biāo)志為FFFFFFOF。
數(shù)據(jù)區(qū)記錄數(shù)據(jù),首先是文件根目錄的記錄情況,一個(gè)空U盤(pán)的根目錄為2號(hào)簇,從數(shù)據(jù)可知,該U盤(pán)數(shù)據(jù)為空,僅包括SYSTEM置留分配的數(shù)據(jù)空間及子目錄INDEXE置留分配的數(shù)據(jù)空間。
2 U盤(pán)文件的碎片化模擬仿真
由圖2的DBR截取圖可知,DBR的位置為0扇區(qū),由③可知FAT表1的位置為8236扇區(qū),由⑤可知FAT表大小為16362個(gè)扇區(qū),從而推導(dǎo)出根目錄的位置8236+16362*2=40960。由②可知一個(gè)簇的大小為16個(gè)扇區(qū),一個(gè)扇區(qū)512個(gè)字節(jié),一個(gè)簇管理8192個(gè)字節(jié),其碎片化仿真如下:
首先,新建兩個(gè)空的word文檔,其大小為9216個(gè)字節(jié),分別命名為1.doc和2.doc,將其移植入U(xiǎn)盤(pán),截取根目錄數(shù)據(jù)如圖4所示,F(xiàn)AT表1的數(shù)據(jù)如圖5所示。由圖中⑥、⑧和⑨可知2.doc文檔是連續(xù)存儲(chǔ),占用2個(gè)簇大?。?192<9216<16384)。
其次,在2.doc文檔中輸入字符,使其文檔的大小>16384個(gè)字節(jié),本次模擬仿真的文件大小為32256個(gè)字節(jié),將其再次移植到U盤(pán),替換覆蓋原2.doc文件,根據(jù)計(jì)算,新的2.doc文件所占簇?cái)?shù)為4,再次截取FAT表1的新數(shù)據(jù)如圖6所示。
3 碎片化文件分析及數(shù)據(jù)恢復(fù)
分析對(duì)比圖5與圖6的數(shù)據(jù),發(fā)現(xiàn)⑨與⑩的數(shù)據(jù)發(fā)現(xiàn)了變化,由⑩可知新2.doc的數(shù)據(jù)的第2段被12號(hào)簇和13號(hào)簇管理,也就是說(shuō)此刻U盤(pán)的2.doc在FAT32文件系統(tǒng)存儲(chǔ)不是連續(xù)的,分兩段進(jìn)行存儲(chǔ)。如果依舊6號(hào)簇41024的位置,提取32256個(gè)字節(jié),那么文件恢復(fù)出來(lái)將是亂碼或者打不開(kāi)文件。那么,文件出現(xiàn)碎片化將如何進(jìn)行正確的恢復(fù)呢?
第一步,Winhex軟件打開(kāi)U盤(pán)后,跳轉(zhuǎn)到根目錄的位置,找到目標(biāo)文件的目錄項(xiàng),查看0C-0F位置上4個(gè)字節(jié)的文件大小,0A-0B位置上2個(gè)字節(jié)的首簇位置號(hào),如本例2.doc的大小為32256個(gè)字節(jié),首簇號(hào)為6號(hào)簇。第二步,跳轉(zhuǎn)到FAT表1,查看6號(hào)FAT表項(xiàng)。如本例2.doc所占簇?cái)?shù)為3<32256/8192<4,應(yīng)占4個(gè)簇,從6號(hào)FAT表項(xiàng)查看下一個(gè)簇連號(hào)是否為7號(hào)簇,是否連續(xù)存儲(chǔ)。第三步,分析判斷出目標(biāo)文件所占的簇?cái)?shù)號(hào)及碎片化的起始段。如本例2.doc所占簇號(hào)為6、7、12和13,提取6與7號(hào)簇連續(xù)滿簇16384字節(jié)再跳轉(zhuǎn)到12號(hào)簇,提取另一段數(shù)據(jù)15872個(gè)字節(jié)。最后,把兩段提取的數(shù)據(jù)拼湊到一起即可恢復(fù)新的目標(biāo)文件。
4 結(jié)語(yǔ)
熟悉掌握文件在U盤(pán)中FAT32文件系統(tǒng)的結(jié)構(gòu)及存儲(chǔ)的原理,利用好Winhex數(shù)據(jù)恢復(fù)軟件工具,將能確保我們U盤(pán)中的數(shù)據(jù)的可靠性和還原性。本文詳細(xì)闡述了文件的碎片化產(chǎn)生的過(guò)程及原理,同時(shí)總結(jié)歸納了如何恢復(fù)碎片化文件的方法及步驟。
參考文獻(xiàn)
[1] 劉偉.數(shù)據(jù)恢復(fù)技術(shù)深度揭秘[M].北京:電子工業(yè)出版社,2010.
[2] 蘇神保,劉丹.基于Winhex的exFAT文件系統(tǒng)結(jié)構(gòu)研究[J].辦公自動(dòng)化,2019(02):28-30.
Research on Data Recovery of? U Disk File Fragmentation Based on Winhex
LONG Tie-guang
(Hunan Mechanical Electrical Polytechnic, Changsha? Hunan? 410600)
Abstract:When users use usb flash drive to store and edit files, the storage structure in file system FAT32 is not continuous due to file unit size, storage order and other factors, and the fragmentation of the storage method is due to the usb flash drive repeatedly inserted or mistakenly operated resulting in the loss of data. Based on Winhex data recovery software, this paper simulates the fragmented storage of usb flash disk files, deeply analyzes the basic principle of file storage, and studies the method of fast recovery of files.
Key words:FAT32; WinHex; fragmentation; data recovery
數(shù)字技術(shù)與應(yīng)用2020年2期