FAT32文件系统 - 图文(2)

2019-04-16 17:46

FAT12/16的根目录是没有簇号的,它们的2号簇由根目录之后开始。

提示:FAT文件系统共有三种:FAT12、FAT16和FAT32。FATI2大多用于旧式的软

盘,随着软盘的消逝,FAT12文件系统也几乎难以见到了。随着数据存储容量的剧增,FATI6也正在逐渐淡出人们的视线。因此,我们以FAT32为主要对象进行讲解。然后再对FAT12和FAT16进行简单的介绍。

3.4 FAT32的保留区

FAT32文件系统前部有一个由若干个个扇区组成的保留区,保尉区的大小会记录主引导扇区(文件系统的0{扇区,也称为DBR扇区)中,比较常见的为32、34、或38个扇区。

3.4.1 引导扇区

引导扇区是FAT32文件系统的笫一个扇区,也称为DBR扇区。它包含文件系统的下列基本信息。

(1)每扇区字节数。 (2)每簇扇区数。 (3)保留扇区数。 (4)FAT表个数。

(5)文件系统大小(扇区数)。 (6)每FAT表大小(扇区数)。 (7)根目录起始簇号。 (8)其他附加信息。

提示:DBR扇区中记录文件系统参数的部分也被称为BPB(BIOS Parameter Block)。 ★ 引导扇区中的某些参数是至关重要的,例如文件系统的大小(扇区数)、保留扇区数每

簇扇区数、FAT表的个数及每个FAT表的大小(扇区数)、根目录的起始簇号等。 它们的重要性表现在:

◆ 通过每个FAT表的大小扇区数乘以FAT表的个数可以得到FAT区域的大小。 ◆ 通过保留扇区数和FAT区域的大小就可以得知数据区的起始位置,也就得到了文

件系统第一簇的位置。

◆ 由根目录的簇号和第一簇的位置就可以得到根目录的位置。 ★ 除了布局结构信息外,引导扇区中还有一些非实质性数据。非实质性数据是指那些文件

系统在存取数据过程中并不需要的数据,这些数据只是提供一些附加的信息而己。例如引导扇区巾有一个8字符的“OEM版本号”,这个版本号只是用来说明是什么工具创建了这个文件系统。例如,Windows 95将此处设置为“MSWIN4.0”,Windows 98则设置为“MSWIN4.1”,Windows XP/2000设置为“MSDOS5.0”,Linux的mdfs.msdos则将其设置为“mkdosfs”,一些USB则会取任意值,而有的数码相机中的闪存卡则被设置为相机型号。使川任何十六进制编辑工具都可以改变这个版本值,而且并不影响文件系统的使用。不过这个版本号可以帮助我们识别一张软盘是被哪种机器格式化的,有些版本的系统需要根据此值进行相应的设置。

★ FAT文件系统有一个4字节的卷序号,这个序号是遵循微软定义,将文件系统建立 的时问按一定方式组合而成的。Windows的不同版本所用的操作方式也不同,

Windows 98是将日期和时间按一定顺序相加,而Windows XP则使用不同的计算方 法。Windows还利用这个值对移动媒体进行识别。

★ 引导扇区中还有一个8个字符的类型标志,内容为“FAT12”、“FAT16”、“FAT32”

或“FAT”。大多数工具在创建文件系统时会对此处进行相应的设置,不过此处的 标志是否正确并不影响文件系统的正常运行。因此我们应该计算文件系统的某些特 征数据来确定它的实际类型,而不只是依据此处的标志值。

★ 最后,引导扇区中还有一个11个字符的卷标,这个卷标由用户在创建文件系统的过 程中指定。同时,这个卷标也保存在该卷的根目录中,不过Windows XP则只是将 此卷标存放在根目录中,而并不将其写入引导扇区。 1.引导扇区数据结构

FAT32引导扇区的数据结构如表3.1所示。

表3.1 FAT32引导扇区的结构

字节偏 (十六进制) 00~02 03~0A 0B~0C 0D~0D 0E~0F 10~10 11~12 13~14 15~15 16~17 18~19 1A~1B 1C~1F 20~23 24~27 28~29 2A~2B 2C~2F 30~31 32~33 34~3F 40~40 41~41 字节数 3 8 2 1 2 1 2 2 1 2 2 2 4 4 4 2 2 4 2 2 12 1 1 含义 汇编指令,跳转到引导代码处 文件系统标志(ASCII码) 每扇区字节数,可用值包括512、1024、2048、4096。硬盘一般为512 每簇扇区数,该值为一个2的整数次幂,最大不超过64 保留扇区数 FAT表个数,通常为2,但对于一些较小的存储介质允许只有一个FAT表 根目录最多可容纳的目录项数,FAT12/16通常为512,FAT32不使用此处值,设置为0 扇区总数,小于32MB时使用此处存放。超过32MB时使用偏移0x20~0x23字节处的4个字节存放值 介质描述符 每个FAT表的大小扇区数(FAT12/16使用,FAT32不使用此处,设置为0) 每磁道扇区数 磁头数 分区前已用扇区数,也称为隐藏扇区数,指DBR扇区相对于磁盘0号扇区的扇区偏移 文件系统扇区总数 每个FAT表大小扇区数(FAT32使用此处,FAT12/16不使用) 标记,确定FAT表的工作方式,如果bit7设置为1,则表示只有一份FAT表是活动的,同时由bit0~bit3对其进行描述。否则,两份FAT互为镜像 版本号 根目录起始簇号,通常为2号簇 FSINFO所在扇区号,通常位于1号扇区 备份引导扇区号的位置,通常为6号扇区 未使用 BISO Int 13H设备号 未使用 42~42 43~46 47~51 52~59 5A~1FD 1FE~1FF 1 4 11 8 410 2 扩展引导标识,如果后面的三个值是有效的,则此处的值设置为0x29 卷序列号,某些版本的Windows会根据文件系统建立日期和时间计算该值 卷标(ASCII码),建立文件系统时由用户指定 文件系统格式(ASCII码) 未使用 签名值“55AA” 提示:备份引导扇区总是位于卷的6号扇区,当0号扇区的引导扇区损坏时可以用备份扇区进行恢复。 文件系统信息(FSINFO)扇区中包含有关下一个可用簇及空闲簇总数的信息,这些数据只是为操作系统提供一个参考,并不总是能够保证它们的准确性。 2.引导扇区实例分析 下面我们来分析一个FAT32文件系统的引导扇区,如图3 9所示。

图 3.9 FAT32文件系统的引导扇区

具体分析如下。

(1)0x00~0x02:3个字节,跳转指令。

(2)0x03~0x0A:8个字节,文件系统标志和版本号,呵以看到版本号为WIN4.1。 (3)0x0B~0x0C:2个字节,每扇区字节数,512(0x0200)。 (4)0x0D~0x0D:1个字钳,每簇扇区数,16(0xl0)。

(5)0x0E~0x0F:2个宁节,保留扇区数,32(0x0020),即FAT1起始于文件系统32扇区处。

(6)0x10~0x10:1个字节,FAT表个数,通常为2。 (7)1x11~0x12:2个字节,FAT32不使用此处,置0。 (8)0x13~0x14:2个字节,FAT32不使用此处,置0。

(9)0x15~0x15:1个字节,介质描述符,:0 xF8表示为本地硬盘。 (10)0x16~0x17:2个字节,FAT32不使用此处,置0。 (11)0x18~0x19:2个字节,每磁道扇区数,63(0x003F)。 (12)0x1A~0x1B:2个字节,磁头数,255。

(13)0x1C~0x1F:4个字符,分区前已用扇区数。该数值因分区及建立该文件系统的程序不同而有所差异,通常Windows会将主分区的此值设置为文件系统起始扇区相对于MBR位置的扇区数,将扩展分区内的逻辑分区的此值设置为文件系统起始位置相对于EBR位置的扇区数。

注意:某些程序会将所有文件系统此处的值全部设置为相对于MBR位置的扇区数。 (14)0x20~0x23:文件系统大小扇区数,30716208(0x0ID48130)。 (15)0x24~0x27:每个FAT表的大小扇区数,14984(0x3A88)。 (16)0x28~0x29:标记。 (17)0x2A~0x2B:版本号。

(18)0x2C~0x2F:根目录的簇号,通常为2。虽然在FAT32文件系统下,根目录和其他目录及文件一样可以存放在数据区的任何位置,但通常情况下仍然起始于数据区的第一个簇,即2号簇。

(19)0x30~0x31:2个字节,FSINFO扇区号。此处值通常为1,该扇区为操作系统提供关于空闲簇总数及下一个可用簇的信息。

(20)0x32~0x33:2个字节,备份引导扇区的位置。备份引导扇区总是位于文件系统的6号扇区。

(21)0x34~0x3F:12个字节,未使用。

(22)0x40~0x40:1个字节,BIOS INT 13H设备号,0x80。 提示:有时在某些软件中看到将第一个本地磁盘标为128,其实就是0x80的十进制表现形式。 (23)0x41~0x41:1个字节,未使用。 (24)0x42~0x42:扩展引导标志。如果此处值为0x29,说明它后面的三个参数值是有效的。

(25)0x43~0x46:卷序列号。通常情况下为一个随机值,但某些版本的Windows会根据文件系统建立日期和时间计算该值。

(26)0x47~0x51:11个字节,卷标(ASCII码)。如果建立文件系统时用户指定了卷标名,则保存在此处。

(27)0x52~0x59:8个字节,文件系统格式的ASCII码。明文则形如“FAT32”,但有

时并不完全准确。

(28)0x5A~0x1FD:410个字节,未使用。该部分区域没有明确指定用途,但通常是用于存放引导代码和错误信息。

(29)0x1FE~0x1FF:签名标志“55AA”。 提示:Winhex中提供了FAT32引导扇区模板,模板名为“Boot Sector FAT32”。图3.10是Winhex模板中显示的参数。


FAT32文件系统 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:mcnp从入门到精通讲座

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: