原创 FAT16格式SD卡磁盘存储结构分析

2011-10-6 13:50 3659 10 10 分类: 软件与OS

本文根据“file allocation table - 16bit”(16位文件分配表)一文,使用WinHex工具分析FAT16格式的SD卡存储结构。

一.格式化后,放入文件和文件夹SD卡抓图:

20111006134735001.jpg

打开磁盘H,磁盘共包含一下几个部分

20111006134743002.jpg

每个区域的名称和大小如上图所示,其中对FAT16文件系统比较重要的是BootSectorFAT1FAT2RootDirectory

接下来就分析分析上面各个存储分区在FAT16文件系统中的作用和存储结构。

1.       BootSector 启动区

启动扇区地址空间为0x0000 0000~ 0x0000 03FF,占据磁盘的第一扇区和第二扇,其中第一扇区记录对FAT16的重要信息,第二扇区空白(备用)。

20111006134813003.jpg

第一扇区记录的信息,使用Winhex BootSector template)分析器,分析结果为,每个部分的意义请参考博文“file allocation table - 16bit一文。

20111006134821004.jpg

2.       FAT1FAT2  FAT

FAT1区空间地址0x0000 0400~0x0001 E9FF ,占据磁盘的2~243扇区。

FAT2区空间地址0x0001 EA00~0x0003 CFFF,占据磁盘的244~487扇区

纪录信息一致,FAT2作为FAT1的备份使用。个数据意义请参考我的博文“file allocation table - 16bit一文。

20111006134831005.jpg20111006134841006.jpg

此后一直到FAT1结束全为00.

3Rootdirectory 根目录区

Rootdirctory 空间地址0x0003 D000~ 0x0004 0FFF 占据磁盘488 ~ 520扇区。此扇区为根目录记录区,每32个字节为一个纪录(8.3格式文件名),32字节纪录信息。

根目录一条记录为32字节数据(8.3文件名)

Name in 8.3 format (11 bytes)

Attribute (1 byte, described later in this section)

Create time (3 bytes)

Create date (2 bytes)

Last access date (2 bytes)

Last modified time (2 bytes)

Last modified date (2 bytes)

Starting cluster number in the file allocation table (2 bytes)

File size (4 bytes)

20111006134844007.jpg

 

4.文件存储区

根目录过后,所有分配去都为文件存储区。存储内容包括文件和文件夹(子目录)等信息。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /3 下一条