|
以用;FFF8H表不能示该簇为文件的最后一簇;其余数字表示文件的下一个簇号,注意高字节在后,低字节在前。
第5~6字节 (表项号3)表示第三簇状态,同上。
注意:
不要把表项内的数字误认为表示当前簇号,而应是该文件的下一个簇的簇号。.高字节在后,低字节在前是一种存
储数字方式,读出时应对其进行调整。是如两字节12H,34H,应调整为3412H。
文件分配表与文件目录(FDT)相配合,可以统一管理整个磁盘的文件。它告诉系统磁盘上哪些簇是坏的或已被使
用,哪些簇可以用,并存储每个文件所使用的簇号。它是文件的“总调度师”。
当DOS写文件时,首先在文件目录中检查是否有相同文件名,若无则使用一个文件目录表项,然后依次检测FAT中
的每个表项对应的簇中,同时将该簇号写入文件目录表项相的26-27字节,如文件长度不止一簇,则继续向后寻找
可用簇,找到后将其簇号写入上一次找到的表项中,如此直到文件结束,在最后一簇的表项里填上FFF8H,形成单
向链表。
DOS删除文件时只是把文件目录表中的该文件的表项第0个字节改为E5H,表此项已被删除,并在文件分配表中把该
文件占用的各簇的表项清0,并释放空间。其文件的内容仍然在盘上,并没有被真正删除,这就是
undelete.exe,unerase.exe等一类恢复删除工具能起作用的原因。
文件分配表在系统中的地位十分重要,用户最好不要去修改它,以免误操作带来严重的后果。 FAT表的定位 硬盘分区的主要结构说明: (Cylinder柱面/磁道-Side磁头-Sector扇区地址以下简称为?-?-?) 《主分区》 名称 地址 长度(扇区) 主引导记录(Main Boot Record) 0-0-1 1 系统扇区(System Secotrs) 0-0-2,0-0-63 62 引导扇区(Boot) 0-1-1 1 FAT16系统中,此扇区包含BPB(BIOS Parameter Block)表,描述逻辑盘结构组成,包含隐藏扇区数目(从0-1-1开始计算)、FAT扇区数、FAT拷贝数、硬盘磁头总数、根目录表项最大值等。 FAT32系统中,BPB表的偏移与FAT16不同,但表项基本相同。整个隐藏扇区部分都作为逻辑盘的描述区域。 隐藏扇区(Hidden Secotrs): FAT16 0-1-1 1 FAT32 0-1-1 32 文件分配表(File Allocation Table): FAT16 0-1-2 根据逻辑盘容量变化 FAT32 0-1-33 根据逻辑盘容量变化 说明: FAT16的每个表项由2字节(16位)组成,通常每个表项指向的簇包含64个扇区,即32K字节。 逻辑盘容量最大为2047MB。 FAT32的每个表项由4字节(32位)组成,通常每个表项指向的簇包含8个扇区,即4K字节。 逻辑盘容量最小为512MB。 对于C分区,在MBR的偏移01c2H处,FAT16为06H,FAT32为0CH。 有关计算公式为: 每个扇区长度=512字节 总簇数=逻辑盘容量/簇容量 总簇数=FAT表长度(字节)/每个表项长度(字节)-2 FAT表长度=逻辑盘容量/簇容量*每个表项长度 FAT表的开始由介质描述符+一串“已占用”标志组成: FAT16硬盘----F8 FF FF 7F FAT32硬盘----F8 FF FF 0F FF FF FF 0F 每个有效的FAT结构区包含两个完全相同的拷贝:FAT1、FAT2 文件目录表(File Directory Table),即根目录区,又称为ROOT区: 紧跟在FAT2的下一个扇区,长度为32个扇区(256个表项)。如果支持长文件名,则每个表项 为64个字节,其中,前32个字节为长文件链接说明;后32个字节为文件属性说明,包括文件长 度、起始地址、日期、时间等。如不支持长文件名,则每个表项为32个字节的属性说明。 数据区(Data Area): 紧跟在FDT的下一个扇区,直到逻辑盘的结束地址。 《扩展分区》 名称 地址 长度(扇区) 扩展分区(Extend Partition) ?-y-1 1 系统扇区(System Secotrs) ?-y-2,?-y-63 62 引导扇区(Boot) ?-(y+1)-1 1 其后各项与主分区相同……
FAT表引起的读写故障
硬盘文件分配表庞大无法手工修复,只能依靠工具。 上一篇:故障硬盘数据拯救全攻略 下一篇:怎样拯救故障硬盘数据? |