FAT32文件系统一此关键参数
FAT32文件系统 Windows95 OSR2和Windows 98开始支持FAT32 文件系统,它是对早期DOS的FAT16文件系统的加强,因为文件系统的核心--文件分 配表FAT由16位扩充为32位,因此称为FAT32文件系统。在一逻辑盘(硬盘的一分区)超过512 兆字节时使用这种格式,会更高效地存储 数据,减小硬盘空间的浪费,通常还会使程序运行加快,使用的计算机系统资源更少,所以是使用大容量硬盘存储文件的极有效的系统。 本人对Windows 98下的FAT32 文件系统作了分析实验,整体上与FAT16文件系统变化不大,现将有关变化部分简介以下: (一)FAT32 文件系统将逻辑盘的空间划分为三部分,依次是引导区(BOOT区)、文件分配表区(FAT区)、数据区(DATA区)。引 导区和文件分配表区又合称为系统区。 (二)引导区从第一扇区开始,使用了三个扇区,保存了该逻辑盘每扇区字节数,每簇对应的扇区数等等重要参数和引导记录。以后 还留有若干保留扇区。而FAT16文件系统的引导区只占用一个扇区,没有保留扇区。 (三)文件分配表区共保存了两个相同的文件分配表,由于文件所占用的存储空间(簇链)及空闲空间的管理都是经过FAT实现的, FAT如此重要,保存两个以便第一个损坏时,还有第二个可用。文件系统对数据区的存储空间是按簇进行划分和管理的,簇是空间分配和 回收的基本单位,即,一个文件老是占用若干个整簇,文件所使用的最后一簇剩余的空间就再也不使用,而是浪费掉了。 从统计学上讲,平均每一个文件浪费0.5簇的空间,簇越大,存储文件时空间浪费越多,利用率越低。所以,簇的大小决定了该盘数据 区的利用率。FAT16系统簇号用16位二进制数表示,从0002H到FFEFH个可用簇号(FFF0H到FFFFH另有定义,用来表示坏簇,文件结束簇等), 容许每一逻辑盘的数据区最多不超过FFEDH(65518)个簇。FAT32系统簇号改用32位二进制数表示,大体从00000002H到FFFFFEFFH个可用簇 号。FAT表按顺序依次记录了该盘各簇的使用状况,是一种位示图法。 每簇的使用状况用32位二进制填写,未被分配的簇相应位置写零;坏簇相应位置填入特定值;已分配的簇相应位置填入非零值,具体 为:若是该簇是文件的最后一簇,填入的值为FFFFFF0FH,若是该簇不是文件的最后一簇,填入的值为该文件占用的下一个簇的簇号,这 样,正好将文件占用的各簇构成一个簇链,保存在FAT表中。0000000H、00000001H两簇号不使用,其对应的两个DWORD位置(FAT表开头的8 个字节)用来存放该盘介质类型编号。FAT表的大小就由该逻辑盘数据区共有多少簇所决定,取整数个扇区。 (四)FAT32系统一簇对应8个逻辑相邻的扇区,理论上,这种用法所能管理的逻辑盘容量上限为16TB(16384GB),容量大于16TB时, 能够用一簇对应16个扇区,依此类推。FAT16系统在逻辑盘容量介于128MB到256MB时,一簇对应8个扇区,容量介于256MB到512MB时,一簇 对应16个扇区,容量介于512MB到1GB时,一簇对应32个扇区,容量介于1GB到2GB时,一簇对应32个扇区,超出2GB的部分没法使用。显 然,对于容量大于512MB的逻辑盘,采用FAT32的簇比采用FAT16的簇小不少,大大减小了空间的浪费。 可是,对于容量小于512MB的盘,采用FAT32虽然一簇8个扇区,比使用FAT16一簇16个扇区,簇有所减少,但FAT32的FAT表较大,占用 空间较多,总数据区被减小,二者相抵,实际并不能增长有效存储空间,因此微软建议对小于512M的逻辑盘不使用FAT32。 另外,对于使用FAT16文件系统的用户提一建议,硬盘分区时,不要将分区(逻辑盘)容量正好设为某一区间的下限,例:将一逻辑盘 容量设为1100M(稍大于1024M),则使用时其有效存储容量比分区为950M的通常还少,因其簇大一倍,浪费的空间较多。还有,使用FDISK 等对分区指定容量时,因为对1MB的定义不同(标准的二进制的1MB为1048576B,有的系统将1MB理解为1000000B,1000KB等),及每一个分区 需重新磁道开始等因素,实际分配的容量可能稍大于指定的容量,亦需注意掌握。 (五)根目录区(ROOT区)再也不是固定区域、固定大小,可看做是数据区的一部分。由于根目录已改成根目录文件,采用与子目录文 件相同的管理方式,通常状况下从第二簇开始使用,大小视须要增长,所以根目录下的文件数目再也不受最多512的限制。FAT16文件系统的 根目录区(ROOT区)是固定区域、固定大小的,是从FAT区以后紧接着的32个扇区,最多保存512个目录项,做为系统区的一部分。 (六)目录区中的目录项变化较多,一个目录项仍占32字节,能够是文件目录项、子目录项、卷标项(仅跟目录有)、已删除目录项、 长文件名目录项等。目录项中原来在DOS下保留未用的10个字节都有了新的定义,所有32字节的定义以下: (1) 0 7字节文件正名 (1) 0-- 7字节文件正名。 (2) 8--10字节文件扩展名。 (3) 11字节文件属性,按二进制位定义,最高两位保留未用,0至5位分别是只读位、隐藏位、系统位、卷标位、子目录位、归档位。 (4) 11--13字节仅长文件名目录项用,用来存储其对应的短文件名目录项的文件名字节校验和等。 (5) 13--15字节24位二进制的文件创建时间,其中的高5位为小时,次6位为分钟。 (6) 16--17字节16位二进制的文件创建日期,其中的高7位为相对于1980年的年份值,次4位为月份,后5位为月内日期。 (7) 18--19字节16位二进制的文件最新访问日期,定义同(6)。 (8) 20--21字节起始簇号的高16位。 (9) 22--23字节16位二进制的文件最新修改时间,其中的高5位为小时,次6位为分钟,后5位的二倍为秒数。 (10)24--25字节16位二进制的文件最新修改日期,定义同(6)。 (11)26--27字节起始簇号的低16位。 (12)28--31字节32位的文件字节长度。 其中第(4)至(8)项为之后陆续定义的。对于子目录项,其(12)为零;已删除目录项的首字节值为E5H。在可使用长文件名的FAT32 系统中,文件目录项保存该文件的短文件名,长文件名用若干个长文件名目录项保存,长文件名目录项倒序排在文件短目录项前面,所有 是采用双字节内码保存的,每一项最多保存十三个字符内码,首字节指明是长文件名的第几项,11字节通常为0FH,12字节指明类型,13字 节为校验和,26--27字节为零。 (七)之前版本的Windows 和DOS与FAT32 不兼容,不能识别FAT32分区,有些程序也依赖于FAT16 文件系统,不能和FAT32 驱动 器一道工做。将硬盘转换为FAT32,就不能再用双引导运行之前版本的Windows(Windows 95 [Version 4.00.950]、Windows NT 3.x、 Windows NT 4.0 和Windows 3.x)。 硬盘数据恢复知识 数据恢复一直以来都是咱们关注的问题,由于你的电脑数据天天都在受着诸如病毒、恶意代码、***、误操做等的威胁!那么如何才能恢 复你的数据呢?但愿本文能对你有所帮助! 1、理论篇 要深刻学习数据恢复,并不是是一件容易的事,要想成为一个数据恢复专家,没有深厚的理论知识是不可能的,你必须了十分了解磁盘的逻 辑结构,就让咱们来看看须要学习的理论知识吧。 当咱们对文件进行访问时,你有没有想过,操做系统是如何对文件进行操做的呢?这些文件又是如何存放在磁盘当中的呢?先来看看硬盘 的整体结构,在介绍硬盘整体结构以前有必要介绍一下硬盘的参数,硬盘是以磁头(Heads),柱面(Cylinders),扇区(Sectors)进行访 问的。其中: 磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片, 最大为255 (用8 个二进制位存储); 柱面数(Cylinders) 表 示硬盘每一面盘片上有几条磁道,最大为1023 (用10 个二进制位存储); 扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为63 (用6 个二进制位存储). 每一个扇区通常是512个字节,学习过汇编语言的朋友可能想到了,BIOS中断13H的入口参数中,CH是磁道号其值 为0H~FEH(最多255个磁道),CL中低6位为扇区号,其值为1H~3FH(最多63个扇区),DH为磁头号的低位,CL中的高2位为磁头号的高 位,也就是说,磁头号最多由10位二进制数表示,(1111111111)2=(1023)10,也就是说最多能够表示的磁头数为1024个。请你们记住 这些在咱们之后的学习中还会用到的,由此能够看出基于这种访问方式咱们最大能访问的磁盘容量为: 255 * 1023 * 63 * 512字节=8414461440/1048576=8024.66M 只有大约8G的空间,这是由于早期磁盘还很小,想一想当年你拥有一块200M硬盘时的喜悦心情吧!就好象当年的科学家们觉得1K内存已经很 大了同样,让电脑用户很长一段时间都为配置DOS下的内存而烦恼。而今,你确定拥有一块大于8G的硬盘了,你可以用她,应该多亏了一 种较新的硬盘访问技术——扩展Int13H 技术。采用线性寻址方式存取硬盘, 因此突破了8 G的限制, 并且还加入了对可拆卸介质(如活 动硬盘)的支持,由于是谈数据恢复不是谈编程,关于扩展INT13H技术我在此就不详述了。 硬盘数据(基于FAT结构)整体结构以下: 一、主引导扇区(Master boot sector) (占用一个扇区) 二、第一个分区的引导扇区(Boot sector)(占用一个扇区) 三、第一个分区的FAT1 (占用空间由磁盘大小和FAT类型来定) 四、第一个分区的FAT2 (占用空间由磁盘大小和FAT类型来定) 五、第一个分区的根目录区 五、第个分区的根目录区 六、第一个分区数据区(用来存放各类文件的数据) 七、扩展分区表(占用一个扇区) 八、第二个分区的引导扇区(Boot sector)(占用一个扇区) 九、第二个分区的FAT1 (占用空间由磁盘大小和FAT类型来定) 十、第二个分区的FAT2 (占用空间由磁盘大小和FAT类型来定) 十一、第二个分区的根目录区 十二、第二个分区数据区(用来存放各类文件的数据) 1三、扩展分区表 . . . 注意:当你的硬盘没有扩展分区的时候,你就没有扩展分区表了;当你只有一个硬盘分区的时候你的硬盘结构到6就完了。 (一)主引导扇区(Master boot sector)的结构: 它是硬盘的第一个扇区, 由主引导程序(MasterBoot Record简称MBR),硬盘分区表(Disk Partition Table简称DPT )和结束标识三部 分组成。其结构以下: 一、偏移0H~1BDH 主引导程序(占446个字节,但实际可能并无到这么多的字节) 二、偏移1BEH~1FDH 硬盘分区表(占64个字节,每一个分区项占16个字节,最多可容纳4个分区项) 三、偏移1FEH~1FFH 结束标识(占2个字节,结束标志,总为55H AAH) 主引导程序我在此就不分析了,须要注意的是在主引导程序中有一些出错信息,一些引导型病毒每每会覆盖这些信息来将本身嵌入到主引 导程序中去,并将主引导程序开始的几个字节改成一条跳转指令,经过观察主引导程序的变化,每每可让咱们看出本身的电脑是否有引 导型病毒,一旦发现异常,咱们能够用FDISK/MBR命令来覆盖原有的MBR。结束标识的两个字节老是55H AAH,该标识只是用于判断这个扇 区是不是有效的主引导扇区,若是主引导程序发现没有这个结束标识,将会认为操做系统丢失,并显示“Missing Operating System”。 硬盘分区表: 从偏移1BEH~1FDH的64个字节存放的是硬盘分区表,其中最多包含4个分区项,每一个分区项由16个字节构成,其结构以下: 一、1BEH~1CDH 分区项1 二、1CEH~1DDH 分区项2 三、1DBH~1EDH 分区项3 四、1EFH~1FDH 分区项4 注意:没有用到的分区项上的记录老是16个十六进制码00H 咱们再来看看每一个分区项的详细含义,假设咱们的一个分区占用的16个字节被标为00H~0FH,其结构以下: 00H 引导标识字节,其值只能为00H或80H,为00H时表示该分区不可引导,为80H时表示该分区可用于引导。在许多诸如BOOT MAGIC之类 的软件都是利用了这一原理,实现多操做系统引导的,了解了这一原理,你也能够写出你本身的多操做系统引导程序了。 01H 分区起始磁头号 02H 其高2位为分区起始柱面号的高位,底6位为分区起始扇区号 03H 分区起始柱面号的低位 04H 分区系统标志,当该值为00H时,表示此分区为不可识别的系统;为04H时该分区为FAT16分区;为05H或0FH该分区为扩展分区;为0B 时该分区为FAT32分区;为83H时表示该分区为Linux分区, 为07时该分区为NTFS分区等等。一些如PQMAGIC磁盘软件在隐藏分区操做时就 是将此字节的内容保存后在把它改成00H。 05H 分区结束磁头号 06H 其高2位为分区结束柱面号的高位,底6位为分区结束扇区号 07H 分区结束柱面号的低位 08H~0BH 此4个字节为在线性寻址方式下的分区的扇区地址。当分区大于8G时,扩展INT13H是经过该信息进行寻址的,咱们能够发如今这 种方式下寻址最多可访问的空间为:FFFFFFFFH扇*512B/扇=2048G,也就是说咱们用扩展INT13H最大能够访问的空间为2048G,这个数字现 在对咱们来讲是很是大的,但谁都不能想象计算机的发展之快,到时到底要如何来突破这个限制呢?如今谁也不知道。注意:此4个字节 是从高位到低位排列的!例如个人分区表第一个分区项此4字节的内容为“3FH 00H 00H 00H”,它表明该分区是从0000003FH开始的,也 就是从线性地址63扇开始的(线性地址把硬盘的第一个扇记为0H扇) 0CH~0FH 此4个字节为以扇区为单位的该分区大小(总扇区数),此4个字节一样是从高位到低 位排列的! (二)引导扇区(Boot sector)的结构: 当主引导程序找到了带有引导标识为80H的分区后,就会将该分区的引导扇区读入到内存地址为0000:7C00 处,并把控制权交给引导扇区中的引导程序,让咱们来看看其中一些须要了解的地方: 一、0H~02H 一条跳转指令,指针指向后面的引导程序 二、03H~0AH 厂商名和系统版本 三、0BH~0CH 每扇字节数,通常为512字节 四、0DH 每簇扇区数(有关簇的概念咱们在后面会详细介绍),对于FAT32的磁盘该字节通常为08H,既每簇为8H*512B=4K。 五、0EH~0FH 保留扇区数 六、10H 磁盘FAT的个数,通常为2个 七、11H~12H 对于FAT16的磁盘为根目录的最大目录项,对于FAT32的磁盘该值总为“00H 00H” 八、13H~14H 对于软盘或早期小硬盘该处为分区总扇区数,对于硬盘通常此值为“00H 00H” 九、15H 介质描述,对于1.44软盘此处长为“F0H”,对于硬盘此处长为“F8H” 十、16H~17H 对于软盘或早期小硬盘该处为每一个FAT占用的扇区数,对于硬盘通常此值为“00H 00H” 十一、18H~19H 每道扇区数,通常为“3FH 00H”,即每道有63个扇区 十二、1AH~1BH 磁头数,通常为“FFH 00H”,即每一个柱面有255个磁头 1三、1CH~1FH 隐含扇区数 1四、20H~23H 对于大硬盘来讲该处存放的是该分区占用的扇区数 1五、24H~27H 对于大硬盘来讲该处存放的是每一个FAT占用的扇区数 1六、40H 该处为磁盘BIOS信息,第一块硬盘为“80H”,通常软盘为“00H” 1七、47H~51H 用户设置的卷标,若是没有卷标此处常为字符串“NO NAME ” 1八、52H~59H 文件系统,对于FAT32文件系统此处常为“FAT32 ” 1九、1FEH~1FFH 结束标识,和上文提到的主引导区的结束标识同样为“55H AAH” 以上是引导扇区的一些信息,在上面咱们能够得到一些有用的信息,咱们也能够想象一下为何当咱们在分区上单击右键在分区属性中可 以看到一些分区信息,好比分区大小,文件系统等等,知道原理,你也能够直接调用这些参数了。 (三)磁盘文件分配表(FAT) 在介绍FAT以前,咱们要先了解有关簇的概念,簇(Cluster)是文件数据区被划分红的具备大小相等的区域用于磁盘文件的计量分配单 位。一个簇可能有一、二、四、八、1六、3二、64或128(必须是2的幂)个扇区构成,但对于一种磁盘系统是其值每每是必定的,好比FAT16中 每簇通常为32K(占64个扇),FAT32中每簇通常为4K(占8个扇)。 要理解操做系统为何要用簇对磁盘进行管理,仍是得学习FAT,FAT32磁盘中在系统引导区以后有一些保留未用的扇区,再后面有一个以 F8H FFH FFH 0FH 开始的FAT表,(对于FAT16是以F8H FFH开始的),每一个FAT项占32位(4个字节),FAT16的每一个FAT项占16位(2个字 节),不一样的FAT值有不一样的含义: FAT12的表项值FAT16的表项值FAT32的表项值值的含义 000H 0000H 00000000H 未用的空簇 001H~FEFH 0001H~FFEFH 00000001H~0FFFFFEFH 文件已使用的簇 FF0H~FF6H FFF0H~FFF6H 0FFFFFF0H~0FFFFFF6H 系统保留簇 FF7H FFF7H 0FFFFFF7H 坏簇 FFF8H~FFFH FFF8H~FFFFH 0FFFFFF8H~0FFFFFFFH 文件的最后一簇 注意:在FAT表项中的16进制码老是从高向底排列的。 咱们再来看看系统是如何利用FAT表来管理和访问文件的。系统在建立一个新文件时,逐一扫描FAT,跳过已经分配的簇,将该簇分给文 件,其簇号做为该文件的起始簇号被放在该文件的文件目录项中(关于文件目录项咱们将在后面详谈),若是此文件的大小只须要一个簇 就能够放下的话,在该簇对应的FAT项中将放文件最后一簇的标志(通常是FFH FFH FFH F0H,即其值为0FFFFFFFH),若是文件大小一个 簇放不下,系统就会在继续寻找FAT表中未用的簇,找到后将该簇的簇号写到上一簇对应的FAT项中,若是此时已经能够存下该文件的数 据,系统就会在此簇对应的FAT中记上最后簇的标志,不然就继续找下一空簇...... 也就是说FAT和簇是一一对应的关系,对于FAT32的FAT来讲每4个字节为1个FAT项(对于FAT16的FAT每2个字节为一个FAT项),从0~N个FAT 项分别对应0~N个簇,在咱们对文件进行访问时,老是先访问文件的目录项,找到首簇簇号,再找到该簇号对应的FAT项,在其中找到下一 簇的簇号,再在下一簇对应的FAT项中找到再下一簇的簇号......一直到在FAT项中找到有文件最后一簇的标志,咱们对该文件的查找才结 束。(固然也可能在首簇对应的FAT中该文件就结束了)这样就造成了一个链,咱们把它称为盘簇链。 简要介绍一下FAT12系统,FAT12如今只用于软盘,由于是每一个FAT占12位因此是每2个字节含有3个FAT项,咱们来看看FAT12系统在寻找簇 链的过程:将10进制簇号*1.5并取整,该值为FAT相对位移,在该处存放的是下一簇的簇号,以此类推。 一个问题:到底每簇占多少扇区合适?文件所占簇数为: 文件占用的簇数=[文件长度/每簇所占空间]取整+1 文件在最后一个簇存放的时候不可能恰好放满,没有放满的空间就浪费了(就好象咱们打电话不可能每一个电话都打到X分59.99秒,即便你 通话时间为X分1秒你也要付出X+1分的电话费),咱们能够来计算一下你的FAT系统磁盘空间浪费的大小: 浪费的空间大小=文件个数/2*每簇字节数(平均每一个文件浪费半个簇的空间) 这样看来好象簇越小浪费的空间也越小,可是有个矛盾的地方是簇越小FAT所用的空间就会越大,同时簇小了,簇链就越长,访问文件的 时间就会加长,这又是一种资源上的浪费,所以,簇的大小应该是以提升文件的访问时间和充分利用磁盘空间为原则的。 (三)目录项的结构 在第2个FAT表(系统通常有两个一样的FAT表)后咱们能够找到该分区的根目录区,在上面有许多目录项(注意:目录项并不是根目录才 有),让咱们先来复习一下FAT16的目录项各个字节的含义: 由32个字节构成: 00H~07H 文件的文件名,其中00H为如下值时有些特定含义: 00H 表项为空表项 E5H 文件已被删除 05H 实际该字节为的值为E5H 08H~0AH 文件的扩展名 0BH 文件属性8位文件属性字节含义以下: B7~B6 未用 B5 归档位 B4 子目录(表明该文件是一个目录或叫文件夹) B3 卷标(卷标也解释为一种特殊的文件) B2 系统文件 B1 隐藏文件 B0 只读文件 0CH~15H FAT16系统保留未用 16H~17H 系统最后修改时间,其中: 16H字节的0~4位是以2秒为增量的秒 16H字节的5~7位和17H字节的0~2位是分钟 17H字节的3~7位是小时 18H~19H 文件最后修改的日期,其中: 18H字节0~4位是天号 18H字节5~7位和19H字节0位是月份 19H字节的1~7位为年号,0~119分别表明1980~2099 1AH~1BH 文件的起始簇号(咱们在以前已经介绍了) 1CH~1FH 文件的长度(单位为字节) 咱们知道用在FAT16系统下的文件名有一些弊端,如:文件名最多只能有8个字符(或4个汉字),扩展名最多有3个字符,不分大小写,不 能用一些特殊字符等。在FAT32系统这些问题已经获得解决,咱们来看看FAT32系统是如何解决长文件名问题的。假如在你的电脑中有一个 文件名为abcdefghijklmnopqrstuvwxyz111111.txt的文件名,那么该文件在磁盘目录中就占用了4个已32字节为单位的目录项,其中有3个目 录项是用来描述长文件名的,有1个目录项是用来兼容老的FAT系统的,咱们来看看例子中前3个用于描述长文件名的目录项: 43H 31H 00H 31H 00H 31H 00H 31H 00H 31H 00H 0FH 00H 27H 31H 00H 2EH 00H 74H 00H 78H 00H 74H 00H 00H 00H 00H 00H FFH FFH FFH FFH 02H 6EH 00H 6FH 00H 70H 00H 71H 00H 72H 00H 0FH 00H 27H 73H 00H 74H 00H 75H 00H 76H 00H 77H 00H 78H 00H 00H 00H 79H 00H 7AH 00H 01H 61H 00H 62H 00H 63H 00H 64H 00H 65H 00H 0FH 00H 27H 66H 00H 67H 00H 68H 00H 69H 00H 6AH 00H 6BH 00H 00H 00H 6CH 00H 6DH 00H 不难看出描述长文件名的目录项中的一些规则: 在每一个目录项的32个字节中,(1)、偏移0H处:表明了长文件描述目录项的序号,其中高4位若是为0100则表示此项为最后一个目录项,低 4位表示此长文件名的目录项的序号。若是此长文件名描述目录只用到了1个目录项,则此值为41H,若是此值为E5H表明此文件已被删除; (2)、偏移0BH~0CH处:其值总为0FH 00H;(3)、偏移0D处:该长文件目录项的标号,同一个长文件目录的不一样目录项该值总相同(好比本 例中3个目录项该值都为27H);(4)、偏移1AH~1BH处:该值总为00H 00H;(5)从偏移01H~1FH跳过前4项提到的字节,老是一个文件名的 ASCII码接一个00H排列的,若是文件名的ASCII码在一个目录项还未写完,则会接到下一个目录项(实际上这些目录项都是从高到低排列 的)一样的位置继续写,若是已经写完,则系统会在最后一个ACSII码后写00H,最多写3个00H,若是3个00H写完后,目录项还有空余位 置,则系统会把这些位置所有写上FFH。 同时FAT32系统还有一个相似与FAT16的目录项(紧接着长文件名的目录的后面),一样占32个字节: 00H~07H 文件的文件名 08H~0AH 文件的扩展名 0BH 文件属性 0CH 保留未用 0EH~0FH 文件建立时间 10H~11H 文件最后访问日期 12H~13H 文件建立日期 14H~15H 文件起始簇号的高16位 16H~17H 系统最后修改时间,其中: 16H字节的0~4位是以2秒为增量的秒 16H字节的5~7位和17H字节的0~2位是分钟 17H字节的3~7位是小时 18H~19H 文件最后修改的日期,其中: 18H字节0~4位是天号 18H字节5~7位和19H字节0位是月份 19H字节的1~7位为年号,0~119分别表明1980~2099 1AH~1BH 文件的起始簇号的低16位 1CH~1FH 文件的长度(单位为字节) 注意:其中文件名为DOS兼容文件名,好比上例中在DOS下的文件名为ABCDEF~1.TXT;其首字节含义同FAT16系统;文件属性字节含义同 FAT16系统;在FAT32系统中增长了最后访问日期和文件建立时间日期,其计算原理同FAT16中的最后修改的时间和日期。 其中第(4)至(8)项为之后陆续定义的。对于子目录项,其(12)为零;已删除目录项的首字节值为E5H。在可使用长文件名的FAT32 系统中,文件目录项保存该文件的短文件名,长文件名用若干个长文件名目录项保存,长文件名目录项倒序排在文件短目录项前面,所有 是采用双字节内码保存的,每一项最多保存十三个字符内码,首字节指明是长文件名的第几项,11字节通常为0FH,12字节指明类型,13字 节为校验和,26--27字节为零 (四)扩展分区表 咱们已经学习了在主引导扇区中的分区表的偏移04H,是分区系统标志,当该值为05H或0FH表示该分区为扩展分区,其实它并不是一个真正 意义上的分区项,此分区项只是指向一个扩展分区表,这样作是为了解决分区表中最多只能有4个分区项的问题,扩展分区表也是从扩展 分区表所在的扇区偏移1BEH~偏移1FD,该扇区0H~1BDH通常为1BEH个00H,一样要以结束标志55H AAH结束。 一样,在扩展分区表中也可能存在指向下一个扩展分区表的分区项。