SD卡中的FAT32檔案系統(一)

2021-07-23 06:49:50 字數 2056 閱讀 3450

說明:

mbr :master boot record ( 

主引導記錄) 

dbr :dos boot record ( 引導扇區) 

fat :file allocation table ( 

檔案分配表) 

硬體:本文sd

卡為kingston 4gb

,fat32格式,簇大小

4kb,每扇區

512位元組。

如果你熟悉硬碟結構跳過本節。下圖是硬碟的結構,如果你只是為了學習sd

卡fat32

檔案系統的話,這裡你只需要注意硬碟排序結構:主引導記錄(

mbr)—引導扇區—資料—引導扇區—資料。

mbr(main boot record 主引導記錄區)放置在硬碟實體地址0

的地方。總共512位元組的主引導扇區中,mbr只占用了其中的446個位元組,另外64個位元組交給了 dpt(disk partition table硬碟分割槽表),最後兩個位元組「55,aa」是分割槽的結束標誌。dpt由4個分割槽表組成,每個16位元組。下圖中以以硬碟的mbr圖,粉紅色為硬碟分割槽表。

對於我們來說,更關注硬碟分割槽表表中紅色區域:下圖為硬碟分割槽表詳細說明 。如果要對sd卡、u盤等分多個區,dpt的內容就表示各個區的偏移位址和大小。

起始位址

位元組數描述

0x1be

1可引導標誌,0x00

不可引導,

0x80

可引導

0x1bf~0x1c1

3分割槽起始chs

位址(chs=磁頭、柱面、扇區),起始位址

0x1c2

1分割槽型別

0x1c3~0x1c5

3分割槽結束chs位址

0x1c6 4

從磁碟開始到該分割槽開始的偏移量(

分割槽起始lba

位址little-endian

順序)0x1ca 4

總扇區數(little-endian

順序)

sd卡沒有分割槽,預設就是乙個分割槽。首先用winhex

檔案開啟

sd所在的碟符,顯示如下圖:

圖4 

① 非分割槽空間(紅線所示): 起始扇區0

,我認為這個分割槽就是硬碟上的

mbr所在區域,

開啟後如下圖所示,

也可以稱為

sd卡的

mbr區域。

圖5根據表1

知道:

紅線區域(00002000

)為下個分割槽的扇區位址,即第8192

扇區,見圖3分割槽

1的起始扇區。

藍線區域(00760c00

)為sd

卡總的扇區個數,我們可以計算一下:

0x760c00 *512(每扇區位元組)

= 3960995840 (位元組),與實際大小基本一樣。

② 分割槽1(藍線所示):起始扇區8192.

③ 剩餘扇區    : 才疏學淺,我不知道幹嘛的,呵呵

由此可知sd卡檔案系統並不是處在整個

sd卡最開始的地方,它處在

mbr所處的保留區之後,於是我們可以對使用

fat32

檔案系統的

sd卡整體布局給出如下圖示。

圖6

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