数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复

上传人:E**** 文档编号:89482498 上传时间:2019-05-25 格式:PPTX 页数:81 大小:3.33MB
返回 下载 相关 举报
数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复_第1页
第1页 / 共81页
数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复_第2页
第2页 / 共81页
数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复_第3页
第3页 / 共81页
数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复_第4页
第4页 / 共81页
数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复》由会员分享,可在线阅读,更多相关《数据恢复技术案例教程 教学课件 ppt 作者 赵振洲 第4章 FAT文件系统数据恢复(81页珍藏版)》请在金锄头文库上搜索。

1、第4章 FAT文件系统数据恢复,4.1.1FAT文件管理系统的基本思想与发展过程 FAT文件管理系统最早是在软盘上实现的,当时为FAT12。 随着存储介质容量的加大,微软在FAT12的基础上推出FAT16,FAT16是一个具有高度兼容性的文件系统,目前仍然广泛应用于个人电脑尤其是移动存储设备中。随着存储空间的进一步扩大,微软又推出了FAT32文件管理系统。 FAT文件系统之所以有12,16,32不同的版本之分,其根本区别在于FAT表用来记录任意一簇链接的二进制位数。对于FAT12来说,就是用12个二进制位(也就是一个半字节)来表示簇号。其最大可以表示的簇号为0xFFF(十进制为4095)。少于

2、32680个扇区(约为16MB)的分区,系统通常会将其格式化成12位的FAT,FAT12是FAT的初始实现形式,是针对小型介质的。,4.1 FAT文件系统总揽,FAT16最大可以表示的簇号为0xFFFF(十进制的65535),以32K为簇的大小的话,FAT16可以管理的最大磁盘空间为:32KB65535=2048MB,这就是为什么FAT16不支持超过2GB分区的原因。 FAT32将记录簇链的二进制位数扩展到了32位,故而这种文件系统称为FAT32。32位二进制位的簇链决定了FAT表最大可以寻址2T个簇。这样即使簇的大小为1扇区,理论上仍然能够寻址1TB范围内的分区。但实际中FAT32是不能寻址

3、这样大的空间的,随着分区空间大小的增加,FAT表的记录数会变得臃肿不堪,严重影响系统的性能。WINDOWS系统自带的分区功能对FAT32支持分区的大小最大为32GB。但通过第三方软件建立的FAT32分区,可以支持大于32G分区的正常读写。,FAT文件管理系统磁盘分区大致分为以下几个部分:系统引导保留区、文件链表区、目录区、数据区。 不同版本的FAT系统略有不同,FAT32文件系统把目录区与数据区合并在一块。下图为一个FAT32文件管理系统的典型磁盘布局情况。,4.1.2 FAT文件管理系统的磁盘布局,4.2.1 DBR作用与形成 DBR(DOS BOOT RECORD)即操作系统引导记录的意思

4、,通常占用分区的第0扇区共512个字节(特殊情况也要占用其它保留扇区)。 DBR的引导过程:当系统把引导权交给DBR以后,系统首先读取DBR前边的BPB系统参数,并据此参数寻找用于系统进一步启动的IO.SYS、SYSTEM.SYS、NTLDR等文件,把系统引导权移交给相应的程序,完成系统启动。 DBR的作用:保证分区文件管理系统的正确加载。 DBR的形成:一个分区的DBR是在分区格式化时就产生的。它保证了对本分区文件的读写管理,都按指定的系统参数统一进行。,4.2 FAT文件系统的DBR分析,对于不同的文件系统来说,系统引导保留区是不同的,FAT12没有保留区,只有引导扇区,而FAT16除引导

5、扇区以外,还有一个扇区作为系统的保留区。FAT32,除了系统引导扇区以外,还会有3137个系统保留扇区。其中,有第6扇区有系统引导扇区(DBR)的一个完整备份。,4.2.2系统引导保留区与引导扇区(DBR)数据结构,下图是某个FAT32分区引导扇区的截屏图。,从中,我们可以看到,这一扇区 的数据结构大致分为以下几个部分: 1.跳转指令 跳转指令本身占用2个字节,它将程序执行流程跳转到引导程序处,比如当前DBR中的“EB 58”,就是代表汇编语言的“JMP 58”。需要注意该指令本身占用2个字节,计算跳转目标地址时以该指令的下一字节为基准,所以实际执行的下一条指令应该位于5A。紧接着跳转指令的是

6、一条空指令NOP(90H)。 2OEM代号 这部分占8个字节,其内容由创建该文件系统的OEM厂商具体安排。,3BPB(BIOS Parameter Block)参数表 FAT32的BPB从DBR的第12(0BH偏移处)个字节开始,占用79个字节,记录了有关该文件系统的重要信息,其各个参数的含义见表4.1。. 4引导程序 FAT32的DBR引导程序占用420个字节(5AH1FDH),在Windows 98之前的系统之下,这段代码负责完成DOS三个系统文件的装入,在Windows 2000之后的系统中,其负责完成将系统文件NTLDR装入,对于一个没有安装操作系统的分区来讲,这段程序没有用处。 5结

7、束标志 扇区的最后两个字节与我们所熟悉的MBR、EBR相同,55AA引导扇区有效标志。 以上5个部分共占用512个字节,正好是一个扇区,因此称它为DOS引导扇区。该部分的内容中除了第5部分结束标志是固定不变之外,其余4个部分都是不完全确定的,都因操作系统版本的不同而不同,也因硬盘的逻辑盘参数的变化而变化。,1.FAT32分区的BPB字段,4.2.3 BPB参数表详解,一个FAT32分区“J”双击打开时出现如图4-3所示的提示信息。一般情况下,用户会选择“是”,格式化分区,带来的后果是分区下的文件全部丢失,这时用户想要得到原来的文件只能采取分区格式化后的恢复方法(此方法后续介绍),此方法相对复杂

8、,且不能100%恢复。而实际上出现此种提示,绝大多数情况下是由于DBR遭到破坏引起的,此时我们应该点“否”,然后重构DBR。,4.2.4 DBR出错的重构方法,DBR扇区的结构分为以下几个部分:跳转指令、OEM代号、BPB参数、引导代码和结束标志。同一个文件系统类型的DBR扇区,除了BPB参数有部分不一样以外,其他各部分都是一样的,所以重构DBR的方法是从同一个文件系统类型的分区中复制一个DBR,然后再对BPB参数进行修改。 图4-4是J盘遭到破坏的DBR扇区,现在我们将另外一个FAT32分区的DBR复制到J盘DBR所在的扇区,覆盖原来的数据,如图4-5所示。,覆盖后的DBR扇区其BPB 参数

9、的模板如图4-5所示。,因为同样是FAT32文件系统的DBR扇区,所以大部分BPB参数的值都是一样的,只有个别参数的值可能不一样,需要修改,这几个参数是:每簇扇区数(Sectors per cluster)、保留扇区数(Reserved sectors)、每个FAT表扇区数(Sectors per FAT)、分区扇区总数(Sectors)、隐含扇区数(分区前已经使用的扇区数,Hidden sectors) 下面对这些值进行验证并修改。,第1步 验证“保留扇区数”。 保留扇区数也就是DBR与FAT1之间的扇区数,用WinHex搜索FAT1,FAT1标志是F8FFFF0F,搜索的设置如图4-6所示

10、。,搜索发现38号扇区就是FAT1,所以“保留扇区数”的值应该为“38”。,第2步 验证“分区大小”。 因为该分区的分区表是完好的,所以可以从分区表中获得该分区的大小,其分区表如图4-7所示。,图4-7中选中的4个字节就是这个分区的总扇区数,值为1F2180,转换为十进制等于2040192,所以分区大小为2040192扇区。,第3步 验证“FAT表大小”。 因为FAT1开始于38号扇区,在随后搜索找到FAT2开始于2027号扇区,所以可以确定FAT表大小为1989个扇区。 第4步 验证“每簇扇区数”。 设S为某目录当前目录项所在簇,C为该簇所对应扇区号。根据当前目录项特征值“2E2020”查找

11、两个目录项的S值和C值,然后用S2-S1除以C2-C1,结果即为“每簇扇区数”。例如某目录项所在扇区号为19164,簇号为4,另一个目录项所在扇区号为19132,簇号为3,那么簇大小=(19140-19132)/(4-3)=8。另外,FAT文件系统在默认情况下,分区大小与每簇扇区数是有一定的对应关系的,如表4-1、4-2所示。因此,我们也可以根据分区大小估算“每簇扇区数”。,第5步 验证“隐含扇区数”。 隐含扇区数一般为63,我们可以从整个磁盘的开始位置向后查看,在63号扇区或其前后会有一个扇区其数据明显不同,具体数据内容因DBR遭到破坏的程度而异。 经过以上5步BPB的关键参数都已计算完毕,

12、用模板填入DBR即可,如图4-8所示。,填完后,存盘,分区就可以打开了,如图4-9所示。,4.3.1 FAT表的结构 FAT(File Allocation Table)表即文件分配表,它是文件管理系统用来为每个文件分配硬盘物理空间的表格,用于告诉操作系统,文件存放在硬盘的哪个位置。 FAT表在硬盘上是紧接DBR之后的,它一般有两个,一个是基本FAT表,另一个是其备份。FAT表的大小根据分区的大小及文件分配单元的大小不同而变化。 硬盘上的簇在FAT中的表项占12、16或32位。在FAT16文件系统中,每簇在FAT中所取表项值是占12位还是16位与所用硬盘的容量有关,12位表项值可表示4096个

13、簇,若硬盘的簇数大于4096,则用16位表项值。一般来说,小于20740个扇区(10MB)的硬盘DOS分区可用12位映射一个簇,如多于20740个扇区的硬盘分区,则采用16位的FAT。,4.3 FAT文件系统的FAT表分析,我们知道FAT文件系统是以簇为单位给文件分配磁盘空间的,每个簇在FAT表中占有一个登记项,所以,在FAT表中,簇编号也是登记项的编号。每一个登记项作为一个簇的标志信息按照FAT12、FAT16和FAT32结构的不同分别为1.5个字节、2个字节和4个字节。该标志信息可取的表项值及其含义如表4-3所示。,了解了FAT表的结构和功能后,那么如何寻找文件的簇链呢?这里我们以FAT3

14、2文件系统的32位登记项为例,讲解文件寻找簇链的计算步骤: (1)假设已经由文件目录表(FDT)中查得该文件的起始簇号。 (2)将该起始簇号换为十进制数a,该十进制数即为查找下一簇号的本簇号。 (3)a*4,即得到FAT中的相对位移b,该位置存放的是文件簇链的下一簇号。 (4)由b开始读取一个簇。 (5)重复以上簇链的查找过程,直至找到其值为0xFFFFFF0F0xFFFFFFFF的簇号。,4.3.2 根据FAT表对文件簇链进行定位,图4-10为一个FAT32分区下某文件FAT表起始簇号的实例。其起始簇号的高16位为0000,低16位为0006,所以该文件的起始簇号为6号簇。,找到起始簇号后,

15、我们跳转到FAT表,如图4-11所示,并查看偏移为6*4=24开始的4个字节的值,确定下一簇号,然后依此类推,直至看到结束标志FFFFFF0F,得到该文件的完整簇链,如表4-4所示。,如上表所示,某文件入口簇为6,则下一簇位置为:0x4818(7)0x481C(8)0x4820(9)0x4824(A)0x4828(B)0x482C(C)0x4830(D)0x4834(E)0x4838(F)0x483C(10) 0x4840(11)0x4844(12)0x4848(13)0x484C(14)0x4850(15)0x4854(FFFFFF0F),由于硬盘文件分配表很庞大,无法手工修复,只能依靠工具

16、。 FAT 表记录着硬盘数据的存储地址,每一个文件都有一组FAT链指定其存放的簇地址。FAT表的损坏意味着文件内容的丢失。庆幸的是DOS系统本身提供了两个 FAT表,如果目前使用的FAT表损坏,可用第二个进行覆盖修复。 但由于不同规格的磁盘其FAT表的长度及第二个FAT表的地址也是不固定的,所以修复时必须正确查找其正确位置。如果第二个FAT表也损坏了,则也无法把硬盘恢复到原来的状态,但文件的数据仍然存放在硬盘的数据区中,可采用CHKDSK或SCANDISK命令进行修复,最终得到*.CHK文件,这便是丢失FAT链的扇区数据。如果是文本文件则可从中提取出完整的或部分的文件内容。,4.3.3 FAT表引起的读写故障及处理方法,文件目录表(File Directory Table,FDT),即根目录区,又称为ROOT区、DIR区。在FAT文件系统中,仅有 FAT还不能定位文件在磁盘中的位置,FAT还必须和DIR配合才能准确定位文件的位置。DIR记录着每个文件(目录)的起始单元(这是最重要

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号