龍鐵光



摘要:用戶使用U盤存儲編輯文件時,因文件單元大小及存儲次序等因素,導致在文件系統FAT32中的存儲結構不是連續的,碎片化的保存方式又因U盤的反復插拔或者誤操作導致數據的丟失。本文基于Winhex數據恢復軟件,模擬仿真U盤中文件碎片化存儲現象,深入分析其文件存儲的基本原理,并研究其快速恢復其文件的方法。
關鍵詞:FAT32;Winhex;碎片化;數據恢復
中圖分類號:TP309.3 文獻標識碼:A 文章編號:1007-9416(2020)02-0058-02
1 U盤FAT32文件系統簡介
目前,市面上U盤的文件系統包括FAT32\NTFS\ExFAT等文件系統,主要以16G\32G存儲大小的FAT32文件系統為主,U盤因價格便宜、小巧美觀、易于攜帶等優點被用戶廣泛用于文件的傳輸及保存[1]。FAT32文件系統在U盤的結構如圖1所示。FAT32文件系統將邏輯U盤的空間劃分為三部分,依次是引導區(BOOT區)、文件分配表區(FAT區)、數據區(DATA區),引導區和文件分配表區又合稱為系統區。
其中,DBR (DOS Boot Record )中文釋義為DOS 引導記錄,記錄了U盤分區的 BPB 參數,如分區的系統文件標志、每簇扇區數、FAT表1分區起始位置、分區大小、FAT表大小等相關重要信息,如圖2部分截取所示。
FAT表即為文件分配表,是FAT32文件系統的一個重要組成部分,它由很多個FAT表項構成,每個FAT表項占4個字節即32位,其中0號和1號FAT表項具有專門的用途,0號FAT表項用于存放分區所在的介質類型,硬盤的為F8,1號FAT表項一般為FFFFFFFF[2]。其空U盤的FAT表如圖3所示,2至5號FAT表項被文件所占,說明2到5號簇已被U盤系統結構空間置留,空間所分配的標志為FFFFFFOF。
數據區記錄數據,首先是文件根目錄的記錄情況,一個空U盤的根目錄為2號簇,從數據可知,該U盤數據為空,僅包括SYSTEM置留分配的數據空間及子目錄INDEXE置留分配的數據空間。
2 U盤文件的碎片化模擬仿真
由圖2的DBR截取圖可知,DBR的位置為0扇區,由③可知FAT表1的位置為8236扇區,由⑤可知FAT表大小為16362個扇區,從而推導出根目錄的位置8236+16362*2=40960。由②可知一個簇的大小為16個扇區,一個扇區512個字節,一個簇管理8192個字節,其碎片化仿真如下:
首先,新建兩個空的word文檔,其大小為9216個字節,分別命名為1.doc和2.doc,將其移植入U盤,截取根目錄數據如圖4所示,FAT表1的數據如圖5所示。由圖中⑥、⑧和⑨可知2.doc文檔是連續存儲,占用2個簇大小(8192<9216<16384)。
其次,在2.doc文檔中輸入字符,使其文檔的大小>16384個字節,本次模擬仿真的文件大小為32256個字節,將其再次移植到U盤,替換覆蓋原2.doc文件,根據計算,新的2.doc文件所占簇數為4,再次截取FAT表1的新數據如圖6所示。
3 碎片化文件分析及數據恢復
分析對比圖5與圖6的數據,發現⑨與⑩的數據發現了變化,由⑩可知新2.doc的數據的第2段被12號簇和13號簇管理,也就是說此刻U盤的2.doc在FAT32文件系統存儲不是連續的,分兩段進行存儲。如果依舊6號簇41024的位置,提取32256個字節,那么文件恢復出來將是亂碼或者打不開文件。那么,文件出現碎片化將如何進行正確的恢復呢?
第一步,Winhex軟件打開U盤后,跳轉到根目錄的位置,找到目標文件的目錄項,查看0C-0F位置上4個字節的文件大小,0A-0B位置上2個字節的首簇位置號,如本例2.doc的大小為32256個字節,首簇號為6號簇。第二步,跳轉到FAT表1,查看6號FAT表項。如本例2.doc所占簇數為3<32256/8192<4,應占4個簇,從6號FAT表項查看下一個簇連號是否為7號簇,是否連續存儲。第三步,分析判斷出目標文件所占的簇數號及碎片化的起始段。如本例2.doc所占簇號為6、7、12和13,提取6與7號簇連續滿簇16384字節再跳轉到12號簇,提取另一段數據15872個字節。最后,把兩段提取的數據拼湊到一起即可恢復新的目標文件。
4 結語
熟悉掌握文件在U盤中FAT32文件系統的結構及存儲的原理,利用好Winhex數據恢復軟件工具,將能確保我們U盤中的數據的可靠性和還原性。本文詳細闡述了文件的碎片化產生的過程及原理,同時總結歸納了如何恢復碎片化文件的方法及步驟。
參考文獻
[1] 劉偉.數據恢復技術深度揭秘[M].北京:電子工業出版社,2010.
[2] 蘇神保,劉丹.基于Winhex的exFAT文件系統結構研究[J].辦公自動化,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