一、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...