FAT32檔案系統定位FAT檔案分配表以及根目錄

2021-06-23 03:20:55 字數 2018 閱讀 7788

一、fat1起始扇區 =  dbr的扇區號 + 保留扇區數

1.獲取dbr的扇區號

磁碟的0號扇區的 0x1c6~0x1c9是第乙個分割槽的起始扇區,這個扇區就是dbr

下圖是本人的磁碟的0號扇區,可以看到dbr的扇區號是0x00 00 00 3f(小端格式)

2.得到保留扇區數

開啟dbr扇區,偏移0x0e~0x0f表示保留扇區數

由圖可知保留扇區數為0x00 26.

fat1起始扇區 =  dbr的扇區號 + 保留扇區數  = 0x3f + 0x26 = 0x65

開啟扇區號為0x65的扇區,這就是fat1的起始扇區

二 .fat2的起始扇區

fat2是緊鄰fat1的,所以  fat2的起始扇區 = fat1的起始扇區 + 乙個fat的扇區數

1.fat1的起始扇區

按照上面的方法得到,本例是0x65.

2.乙個fat的扇區數

從dbr的偏移0x24~0x27得到,由第乙個圖可知本例是0x3a79。

fat2的起始扇區 = fat1的起始扇區 + 乙個fat的扇區數 = 0x65 + 0x3a79 = 0x3ade

開啟扇區號為0x3ade的扇區,可以看到fat2與fat1是一樣的。

三、根目錄區

在fat32檔案系統中,根目錄的位置不再硬性地固定,可以儲存在分區內可定址的任意簇內,不過通常根目錄是最早建立的(格式化就生成了)目錄表。

所以,我們看到的情況基本上都是根目錄首簇緊鄰fat2,佔簇區順序上的第1個簇(即2號簇)。

同時,fat32檔案系統將根目錄當做普通的資料檔案來看,所有沒有了目錄項數的限制,在需要的時候可以分配空簇,儲存更多的目錄項。

根目錄起始扇區 = 保留扇區數 +

隱藏扇區數

+ 乙個fat的扇區數 × fat表個數 + (起始簇號-2) x 每簇的扇區數

1.保留扇區數

從dbr的偏移0x0e~0x0f得到,本例是0x65.

2.乙個fat的扇區數

從dbr的偏移0x24~0x27得到,由第乙個圖可知本例是0x3a79。

3.fat表個數

從dbr的偏移0x10得到,由第乙個圖可知本例是0x02。一般有兩個fat表,fat1和fat2。

4.起始簇號

從dbr的偏移0x2c~0x2f得到,由第乙個圖可知本例是0x00 00 00 02。

5.每簇的扇區數

從dbr的偏移0x0d得到,由第乙個圖可知本例是0x08,乙個簇是8個扇區。

所以 根目錄起始扇區 = 保留扇區數 +

隱藏扇區數 + 乙個fat的扇區數 × 2 + (起始簇號-2) x 每簇的扇區數

=fat1的起始扇區號 + 乙個fat的扇區數 × 2 + (起始簇號-2) x 每簇的扇區數

= 0x26+

0x3f +  0x3a79 * 2 + (0x2 - 2) * 8 = 0x7557

開啟扇區號為0x7557的扇區

FAT32檔案系統

windows95 osr2和windows 98開始支援fat32檔案系統,它是對早期dos的fat16檔案系統的增強,由於檔案系統的核心 檔案分配表fat由16位擴充為32位,所以稱為fat32檔案系統。在一邏輯盤 硬碟的一分割槽 超過 512 兆位元組時使用這種格式,會更高效地儲存資料,減少硬...

解析Fat32檔案系統

1.第一分區的起始扇區 2.第乙個檔案檔案配置表 fat 的位置 3.資料區域的位置 4.檔案 file1.txt 所在的簇 1 首先,用hxd開啟所要解析的fat32的檔案 2 選擇所要分析的檔案,開啟後,在起始的sector0,也就是0扇區我們就會看到該系統的主引導,在結束標誌的55aa之前的6...

NTFS與FAT32檔案系統

磁碟 包括行動硬碟 u盤 軟盤等 在格式化時都必須指定檔案系統,目前常用的檔案系統有ntfs和fat32。一 ntfs 1 概述 ntfs,即nt檔案系統。是微軟在windows nt作業系統上使用的一種檔案系統。ntfs不斷在改進,現在主流的版本是v3.1,來自windows xp。由於windo...