FAT文件系统总结(一)

                           FAT 文件系统总结

 
MBR:Master Boot Record (主引导记录)
 
DBR:DOS Boot Record (DOS引导记录,位于分区引导扇区)
 
BPB:BIOS Parameter Block (BIOS参数块)
 
FAT:File Allocation Table (文件分配表)
 
Sector:扇区
 
Cluster:簇
 
一、 硬盘组织结构
 
下面是一个包含 4 个分区的硬盘结构示意图,其中分为 3 个基本分区和一个扩展分区。

 

      FAT文件系统总结(一)  

二、 FAT 文件系统结构
 
FAT 文件系统是由按照如下顺序排列的几个部分组成的:
 
0 – Reserved Region
 
1 – FAT Region
 
2 – Root Directory Region (FAT32没有这部分)
 
3 – File and Directory Data Region
FAT文件系统总结(一) 
FAT 系统的数据存储采用小端(Little Endian)方式,注意到这一点很重要,在使用大 端(Big Endian)的系统中,读取多字节数据的时候必须要经过转换,否则,读取到的数据是不正确的。
 
例如:一个 32-bit 数据 0x12345678 在 FAT 中的保存方式如下图所示:
                 FAT文件系统总结(一) 
 
三、 主引导扇区
 
硬盘主引导扇区 = 硬盘主引导记录(MBR)+  分区表(DPT) MBR:扇区内偏移地址 0 ~ 0x1BD
 
DPT:扇区内偏移地址 0x1BE ~ 0x1FD,其中又分为 4 个分区表:
第一个分区表:0x1BE ~ 0x1CD
第二个分区表:0x1CE ~ 0x1DD
第三个分区表:0x1DE ~ 0x1ED
第四个分区表:0x1EE ~ 0x1FD
每个分区表的信息如下表所示:
 
 
 
分区表信息
 
 
 
 
 
字节位移
字段长度
字段名和定义
 
 
 
 
 
0x00
BYTE
引导指示符(Boot Indicator),指明该分区是否
 
是活动分区,0x80=活动分区,0x00=非活动分区
 
 
 
 
0x01
BYTE
开始磁头(Starting Head)
 
 
 
 
 
0x02
6Bits
开始扇区(Starting Sector),只用了0~5位。后
 
面的两位(第6位和第7位)被开始柱面字段所使用
 
 
 
 
 
 
 
 
 
 
开始柱面(Starting Cylinder),除了开始扇区
 
0x03
10Bits
字段的最后两位外,还使用了1位来组成该柱面
 
 
 
值。开始柱面是一个10位数,最大值为1023
 
0x04
BYTE
系统ID(System ID),定义了分区的类型,详见
 
下表
 
 
 
 
0x05
BYTE
结束磁头(Ending Head)
 
 
 
 
 
0x06
6Bits
结束扇区(Ending Sector),只使用了0~5位。最
 
后两位(第6、7位)被结束柱面字段所使用
 
 
 
 
 
 
结束柱面(Ending Cylinder),除了结束扇区字
 
0x07
10Bits
段最后的两位外,还使用了1位,以组成该柱面
 
 
 
值。结束柱面是一个10位的数,最大值为1023
 
0x08
DWORD
相对扇区数(Relative Sectors),从该磁盘的开
 
始到该分区的开始的位移量,以扇区来计算
 
 
 
 
0x0C
DWORD
总扇区数(Total Sectors),该分区中的扇区总
 
 
 
 
 

  

 
 
 
 
 
 
 
 
 
分区标志类型值及其含义
 
 
 
 
 
 
 
 
 
 
 
类型值
含义
类型值
含义
 
 
 
(HEX)
(HEX)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0
空。DOS或windows不允许
5C
Priam Edisk
 
 
 
使用,视为非法
 
 
 
 
 
 
 
 
 
1
FAT12
61
Speed Stor
 
 
 
2
XENIX root
63
GNU HURD or Sys
 
 
 
3
XENIX usr
64
Novell Netware
 
 
 
6
FAT16分区小于32M时为
65
Novell Netware
 
 
 
0x04
 
 
 
 
 
 
 
 
 
7
HPFS / NTFS
70
Disk Secure Mult
 
 
 
8
AIX
75
PC/IX
 
 
 
9
AIX bootable
80
Old Minix
 
 
 
0A
OS/2 Boot Manage
81
Minix/Old Linux
 
 
 
0B
Win95 FAT32
82
Linux swap
 
 
 
0C
Win95 FAT32
83
Linux
 
 
 
0E
Win95 FAT16
84
0s/2 hidden C:
 
 
 
0F
Win95 Extended(大于 8GB)
85
Linux extended
 
 
 
10
OPUS
86
NTFS volume set
 
 
 
11
Hidden FAT12
87
NTFS volume set
 
 
 
12
Compaq diagmost
93
Amoeba
 
 
 
14
Hidden FAT16<32MB
94
Amoeba BBT
 
 
 
16
HiddenFAT16
A0
IBM Thinkpad hidden
 
 
 
17
Hidden HPFS/NTFS
A5
BSD/386
 
 
 
18
AST Windows swap
A6
Open BSD
 
 
 
1B
Hidden FAT32
A7
NextSTEP
 
 
 
1C
Hidden FAT32 partition
B7
BSDI fs
 
 
 
(using LBA-mode INT 13
B8
BSDI swap
 
 
 
 
extensions)
 
 
 
 
 
 
 
 
 
1E
Hidden LBA VFAT partition
BE
Solaris boot partition
 
 
 
24
NEC DOS
C0
DR-DOS/Novell DOS
 
 
 
secured partition
 
 
 
 
 
 
 
 
 
3C
Partition Magic
C1
DRDOS/sec
 
 
 
40
Venix 80286
C4
DRDOS/sec
 
 
 
41
PPC Perp Boot
C6
DRDOS/sec
 
 
 
42
NTFS动态分区
C7
Syrinx
 
 
 
4D
QNX4.x
DB
CP/M/CTOS
 
 
 
4E
QNX4.x 2nd part
E1
DOS access
 
 
 
4F
QNX4.x 3rd part
E3
DOS r/0
 
 
 
50
OnTrack DM
E4
Speedstor
 
 
 
51
OnTrack DM6 Aux
EB
BeoS fs
 
 
 
52
CP/M
F1
SpeedStor
 
 
 
53
OnTrack DM6 Aux
F2
DOS 3.3+secondary
 
 
 
partition
 
 
 
 
 
 
 
 
 
54
OnTrack DM6
F4
SpeedStor
 
 
 
55
EZ-Drive
FE
LAN step
 
 
 
56
Golden Bow
FF
BBT
 
 
 
本站域名:www.mrtlab.com | QQ交流群:250649022 | 使用条款 | 备案:鄂ICP备11013447号
MRT数据恢复网,专业的硬盘固件维修与数据恢复技术资料提供站!
Copyright 2003-2019 Powered By MrtLab