第二章FAT32文件系统2.1FAT32文件系统结构总揽FAT32文件系统是从微软Windows95系统的OSR2版本开始使用的,它能够支持大于32MB小于32GB的分区。虽然第三方的格式化程序可以把超过32GB的分区格式化为FAT32,但微软自身的系统不允许将大于32GB的分区格式化为FAT32文件系统。FAT32文件系统由DBR及其保留扇区,FAT1,FAT2,DATA区四个部分组成。FAT32文件系统结构图关于DBRFAT1FAT2DATA的概念详解•1DBR及其保留扇区。DBR的全称为DOSBootRecord,含义是DOS引导记录,也称为操作系统引导记录,在DBR之后往往有一些保留扇区,在这些保留扇区中,有一个重要的扇区,一般为第六个扇区(相对于DBR的起始位置),具体位置要参阅DBR中所描述的位置,这个扇区就是DBR的备份。•2FAT1。FAT的全称为FileAllocationTable,含义是文件分配表,FAT32一般有两份FAT,FAT1是第一份,也是主FAT。•3FAT2。FAT2是FAT32的第二份文件分配表,也就是FAT1的备份,称为备份FAT。•4DATA。DATA也就是数据区,是FAT32文件系统的主要区域,其中包含了目录区。FAT32文件系统结构实例图2.2FAT32文件系统DBR•2.2.1DBR的概念和组成•什么是DBR?DBR(DOSBootRecord),含义是DOS引导记录,也称为操作系统引导记录•FAT32文件系统的DBR(即操作系统引导记录)大体可以分为5个部分,分别为:跳转指令,OEM代号,BPB(BIOSParameterBlock,BIOS参数块),引导程序,结束标志(55AA)。FAT32文件系统DBR结构模块图请参照下图FAT32文件系统DBR结构模块图FAT32文件系统DBR详细结构图FAT32文件系统的DBR解析•FAT32文件系统的DBR(即操作系统引导记录)大体可以分为5个部分,分别为:跳转指令,OEM代号,BPB(BIOSParameterBlock,BIOS参数块),引导程序,结束标志(55AA)。•1跳转指令跳转指令本身占用2个字节,它将程序执行流程跳转到引导程序处,比如当前DBR中的“EB58”,就是代表汇编语言的“JMP58”。需要注意该指令本身占用2字节,计算跳转目标地址时以该指令的下一个字节为基准,所以实际执行的下一条指令应该位于5A。紧接着跳转指令的是一条空指令NOP(90H)。•2OEM代号这部分占8字节,其内容由创建该文件系统的OEM厂商具体安排。当前DBR中的OEM代号为“MSDOS5.0”,说明这个FAT32分区是由微软的Windows2000以上的操作系统格式化创建的。•3BPB(BIOSParameterBlock)FAT32的BPB从DBR的第12(0BH偏移处)个字节开始,占有79个字节,记录了有关该文件系统的重要信息,具体内容如下:•4引导程序FAT32的DBR引导程序占用420字节(5AH~1FDH),在Windows98之前的系统之下,这段代码负责完成DOS三个系统文件的装入,在Windows2000之后的系统中,其负责完成将系统文件NTLDR装入,对于一个没有安装操作系统的分区来讲,这段程序没有任何作用。•5结束标志DBR的结束标志与MBR,EBR的结束标志都相同,为“55AA”。•以上五个部分共占用512字节,正好是一个扇区,因此成它为DOS引导扇区。该部分的内容中除了第5部分结束标志是固定不变之外,其余4个部分都是不完全确定的,都因操作系统版本的不同而不同,也因硬盘的逻辑盘参数的变化而变化。2.2.2DBR和MBR的异同比较•1DBR和MBR的相同点(1)所占空间大小相同:DBR与MBR占用相同大小的存储空间,均为1个扇区(即512字节)。(2)结束标志相同:DBR和MBR的结束标志都是“55AA”。•2DBR和MBR的不同点•(1)功能不同MBR的主要功能是存放硬盘分区信息和引导系统时检查分区。DBR则存放的是分区文件系统参数,同时,设置为活动分区的DBR将从MBR引导程序接过引导控制权,以装载操作系统。•(2)作用范围和性质不同MBR和虚拟MBR控制着整个硬盘的所有分区信息,作用范围是全局性的,其性质是基础性的。而DBR则存放着有硬盘分区的文件系统参数,作用范围是局部性的,其性质属于应用性的。通常MBR或1个虚拟MBR可以定义1~4个不等的分区,而1个DBR只能定义1个分区的文件系统。2.3FAT的概念与结构•1FAT的概念FAT(FileAllocationTable)即文件系统中的文件分配表,实际上就是一张记录文件存储位置的表格,文件存储位置用簇号来表示。文件的首簇号存放在FDT(FileDirectoryTable)文件目录表登记项中,后续簇号...