FAT檔案系統協議
阿新 • • 發佈:2018-11-03
FAT(File Allocation Table)
FAT,檔案配置表。主要分FAT12/FAT16/FAT32,這三者可支配的大小越往後越大,不過協議大體相同。
FAT的整體結構圖:
MBR
MBR是整個硬碟的起始引導處,不過對於U盤來說,MBR主要用來對整個U盤的空間進行分割槽,如圖所示,可以分成4個大區
MBR每個欄位所代表的含義:
我們只關心,第一個分割槽所在的位置,從1C6開始的4位元組表示第一分割槽所在的扇區處(每個扇區512位元組),沿著這條資訊我們能找到DBR
DBR
DBR用來記錄FAT所需的各項引數,包括扇區的大小,簇的大小,FAT1/FAT2的所在位置及大小
DBR各個欄位所代表的含義
我們關心的欄位如圖中標示,根據這個資訊我們就能找到FAT1/FAT2/DATA這三個分割槽
FAT1/FAT2
FAT2是對FAT1的備份,以防資料破壞不能修復。
FAT通過一整個FAT1來對整個DATA分割槽的資料進行標示與管理:
對於fat32來說,每4個位元組表示一個簇,一個簇就管理著一段記憶體(n個扇區,在DBR有記錄),每四個位元組所代表的含義:
DATA
DATA區主要包含兩部分,一個是目錄和檔案(統稱目錄項),另一個是資料;對於目錄項的含義如下:
一個目錄項由32個位元組組成,通過目錄項我們可以找到此項對應的簇號,然後在通過簇號鏈我們就能得到此項對應的資料,FAT就是通過這個原理來運作資料的。
那麼整個資料的根目錄在哪呢?對於FAT32來說,根目錄存在簇號2代表的地方,由於簇號0和1另有所用,它們不佔用實際的簇空間,所以一般來說根目錄就在DATA區域的起始位置。
工具
如果想要檢視FAT的具體協議,可以通過winhex或者DiskDenius工具來檢視,如下圖是通過DiskDenius開啟一個U盤所得到的資訊:
DBR每個欄位的含義:
每個地址的資料: