FAT32详解

FAT32详解

1. FAT32文件系统由DBR及其保留扇区,FAT1,FAT2和DATA四个部分组成, 如下图所示

DBR及其保留扇区:DBR的含义是DOS引导记录,也称为操作系统引导记录,在DBR之后往往会有一些保留扇区。

FAT1:FAT的含义是文件分配表,FAT32一般有两份FAT,FAT1是第一份,也是主FAT。

FAT2:FAT2是FAT32的第二份文件分配表,也是FAT1的备份。

DATA:DATA也就是数据区,是FAT32文件系统的主要区域,其中包含目录区域。

在这里插入图片描述

1-1. FAT32文件系统的DBR有3部分组成,分别为BPB(包含跳转指令,OEM代号),引导程序和结束标志, 如下图所示。

首先,最开始的3各字节的数据分别是跳转指令与空指令EB 58 90,因为在汇编当中0xEB是跳转指令,0x58是跳转的地址,而0x90则是空指令。所以,EB 58 90 对应汇编代码即为JUMP 0x58; NOP;。
而从0x6D 6B 64 6F 73 66 73 00这8个字节的数据表示OEM (由各厂商设置)。
我们把地址从0x000B开始的79个字节的数据叫做BPB(BIOS Paramter Block),关于BPB的详细说明请参见下表
在这里插入图片描述

偏移量 字节数 含义
0x00B 2 每扇区字数 0x0200
0x00D 1 每簇扇区数 0x08
0x00E 2 保留扇区数 0x0006
0x010 1 FAT个数 0x02
0x011 2 根目录项数,FAT32以突破该限制,无效 0x0000
0x013 2 扇区总数,小于32M使用 0x0000
0x015 1 存储介质描述符 0x0F8
0x016 2 每FAT表占用扇区数 ,小于32M使用 0x0000
0x018 2 逻辑每磁道扇区数 0x0010
0x01A 2 逻辑磁头数 0x0004
0x01C 4 系统隐含扇区数 0x00000000
0x020 4 扇区总数,大于32M使用 0x0066d001
0x024 4 每FAT表扇区数,大于32M使用 0x000019A8
0x028 2 标记 0x0000
0x02A 2 版本 (通常为零) 0x0000
0x02C 4 根目录起始簇 0x00000002
0x030 2 Boot占用扇区数 0x0001
0x032 2 备份引导扇区位置 0x0003
0x034 14 保留 14个字节的0x00
0x042 1 扩展引导标记 0x29
0x043 4 序列号 0x60F15F00
0x047 10 卷标 转成字符即“NO NAME”
0x052 8 文件系统 转成字符即“FAT32”

代码中的定义如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shenjin_s/article/details/120458402