FAT32的協議總結

2021-07-06 07:41:17 字數 911 閱讀 2655

讀了fat32協議等,做了一些工作,學會不少東西,但是也有很多不懂得地方,希望明白人多來指教。

在u盤進行fat32格式化後,發現除了mbr,dbr,data資料區外,還有一些資料區。就是用winhex發現的,有些資料段都沒見過,不知道是幹什麼的。

就是那兩個unpartitioned space。

fat32裡就三個部分比較重要,mbr,drb中的bpb和data區。可能我還沒看完,目前覺得fat表在讀取fat32資料的功能上,沒什麼用處。

1. mbr

mbr中比較重要的是兩個資料:

一是有四個位元組記錄了這塊fat32格式的儲存區總容量大小是多少。

二是有四個位元組記錄了這塊fat32的dbr在**。

2. dbr

通過mbr中的偏移,可以找到dbr的位址。然後根據協議裡面的bpb的資料結構什麼的,這些網路上可以很容易搜尋到。

從dbr這塊找出來的比較重要的資料是:

a. 每簇包含幾個扇區

b. 每扇區包含幾個位元組

c. 在fat分割槽之前所隱藏的扇區數

d. 該卷總扇區數

e. 乙個fat表所佔的扇區數

f. 總共有幾個fat表

g. 根目錄所在第乙個簇的號

然後通過這些又可以計算出幾個數值來:

a. fat表起始位址 = dbr位址 + 保留扇區數

b. 第2個fat表起始位址 = 第1個fat表起始位址 + fat表所佔空間

c. 根目錄位址 = dbr位址 + fat表數目 * fat表所佔空間 + 保留扇區空間

3. dat

在進入到根目錄之後,就可以找表項了。每32位元組代表乙個目錄或者檔案。

這裡會有點凌亂,因為有些刪除的資料的表項也在這裡,所以從邏輯位址的表面來看,檔案是不連續的。所以這裡要做點區分工作,把無效資料過濾掉,哈哈。

FAT32學習筆記(一)

從最簡單的開始,如何在fat32格式的u盤裡找到乙個檔案?如果有u盤,那麼可以拿實際的u盤做試驗,這裡可以使用乙個image檔案來做試驗,效果一樣。在整個實驗過程當中,會不停的用到如下幾條命令 mount test.img mnt umount mnt hexdump c s x n x test....

FAT32的幾個問題

參考 在 中的mbr和dbr的6處,指出了當前分割槽的扇區數,占用4個位元組。每個扇區是512位元組,那麼最大容量為 2 32 1 512 2tb。fat32是以4個位元組代表1簇,但4個位元組中只用到了低28位 高4位保留 因此有2 28個簇,即268435456簇。如果每簇位4kb,那麼2684...

FAT16和FAT32目錄結構分析

fat16和fat32從原理上看是同一類技術,放在一起分析,有助於了解其細節差異 先回歸一下fat16 fat32 分割槽的大致結構如下 從分割槽結構上看,fat16和fat32目錄結構比較不一樣的地方在於 fat16 多了乙個根目錄區,根目錄區由fdt目標表項組成,每乙個分割槽表項佔32位元組 由...