首页| 论坛| 消息
主题:fat32文件系统解析
山东小王发表于 2010-07-01 09:35
通过使用DiskEditor对硬盘的分析,现对硬盘的MBR区及FAT32文件系统做一个详细的介绍。
新硬盘->低格后变化:所有扇区中的字节数据填充为0x00
低格后->分区后变化:写硬盘的MBR(主引导扇区)区
分区后->格式华变化:写硬盘的FAT(文件分配表)区
MBR区介绍:
起始位置:0柱面0磁头1扇区(硬盘的第一个扇区)
结束位置:0柱面0磁头1扇区
大小:512(硬盘每个扇区的所占用的字节数)个字节

00 01 02 03 04 05 06 0708 09 0a 0b 0c 0d 0e 0f
00000000 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
00000010 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
………… … … … … … … … … - … … … … … … … …
000001b0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 80 01
000001c0 01 00 0c ff ff fe 3f 00 - 00 00 fc 8a 38 01 00 00
000001d0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000001e0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000001f0 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 aa
000 ~ 1bd (446字节)executable code(我们不使用,固定填写0x00)
1be ~ 1cd (16字节)1st partition entry(参数解释见下面)
1ce ~ 1dd (16字节)2st partition entry(同第一个分区)
1de ~ 1ed (16字节)3st partition entry(同第一个分区)
1ee ~ 1fd (16字节)4st partition entry(同第一个分区)
1fe ~ 1ff (2字节)boot record signature(固定值:55 aa)
现以第一个分区的入口参数为例:
80分区状态(80H表示为激活分区, 00H表示为非激活分区)
01 分区的开始磁头
01 00 分区的开始柱面和扇区(0 ~ 5位为扇区号、8 ~ 15位为柱面号的低8位,6 ~ 7位为柱面号的高两位)
0c 分区的类型(0c表示为FAT32,用LBA方式)
ff 分区的结束磁头
ff fe 分区的结束柱面和扇区(表示同开始磁头)
3f 00 00 00 从MBR到第一个分区扇区的扇区个数(一般为硬盘扇区的最大值)
fc 8a 38 01 分区的总扇区数(可以计算扇区的总大小)

FAT区介绍:
起始位置:0柱面1磁头0扇区
结束位置:根据硬盘参数不同有所不同
大小:硬盘的总簇数×4字节
FAT区中的BOOT:
起始位置:0柱面1磁头0扇区
结束位置:0柱面1磁头0扇区
大小:512字节
00 01 02 03 04 05 06 0708 09 0a 0b 0c 0d 0e 0f
00000000 eb 58 90 4d 53 57 49 4e - 34 2e 31 00 02 08 20 00
00000010 02 00 00 00 00 f8 00 00 - 3f 00 ff 00 3f 00 00 00
00000020 fc 8a 38 01 fc 4d 00 00 - 00 00 00 00 02 00 00 00
00000030 01 00 06 00 00 00 00 00 - 00 00 00 00 00 00 00 00
00000040 80 00 29 ab 0b 64 15 00 - 00 00 00 00 00 00 00 00
00000050 00 00 46 41 54 33 32 20 - 20 20 xx xx xx xx xx xx
00000060 xx xx xx xx xx xx xx xx - xx xx xx xx xx xx xx xx
…… … … … … … … … … - … … … … … … … …
000001f0 xx xx xx xx xx xx xx xx - xx xx xx xx xx xx 55 aa
000 ~ 059 (60字节)各个参数(参数解释见下面)
000 ~ 059 (420字节)executable code(初始值固定)
000 ~ 059 (2字节)boot record signature(固定值:55 aa)
现解释各个参数的含义:
eb 58 90 跳转代码(固定值: eb 58 90)
4d 53 57 49 4e 34 2e 31 OEM名字(固定值: 表示N4.1)
00 02每扇区的字节数(512)
08 每簇的扇区数
20 00保留的扇区数(通常固定为32)
02 FAT表的个数(通常有2个)
00 00未使用(固定为0)
00 00 未使用(固定为0)
f8 介质类型(硬盘为f8)
00 00 未使用(固定为0)
3f 00 每磁道的最大扇区数(硬盘的参数)
ff 00 最大磁头数(硬盘的参数)
3f 00 00 00 分区中隐藏的扇区数(初始化时写入每磁道的最大扇区数)
fc 8a 38 01 分区中的扇区总数(自己根据硬盘参数计算)
fc 4d 00 00 每个FAT表占用的扇区数
00 00 Flags(Bits 0-4 Indiate Active FAT Copy)(Bit 7 Indicates whether FAT mirroring is enabled or disable )(if FAT mirroring is disabled, the FAT information is only written to the copy indicated by bits 0-4)
00 00 FAT32驱动版本(固定值:00 00)
02 00 00 00 根目录区的开始簇号(00 01 两个簇号不使用)
01 00 文件系统信息(后面有相关的说明)扇区所在位置的扇区号(此扇区号为相对位置)
06 00 备份引导扇区所在位置的扇区号(此扇区号为相对位置)
00 00 00 00 00 00 00 00 00 00 00 00 保留
80 分区的逻辑驱动号(第一个分区固定为80)
00 未使用
29 扩展标识(固定值:
下一页 (1/4)
回帖(1):
1楼:还是不错的,谢谢了

全部回帖(1)»
最新回帖
收藏本帖
发新帖