恢复fat32分区已删除文件的方法

文档序号:6643845阅读:645来源:国知局
专利名称:恢复fat32分区已删除文件的方法
技术领域
本发明涉及计算机领域,特别涉及一种计恢复已删除文件的方法。
背景技术
FAT32目录项结构如图1所示。Windows在进行文件操作时,根据该结构定位文件数据。在Windows系统中删除一个FAT32逻辑盘的文件时,首先将文件名的首字节标注为已经删除标志,然后将文件数据起始簇的高16位修改为0,最后进行空间释放的处理。FAT32分区中文件删除后的目录项的结构如图2所示。FAT32分区中文件被删除时,描述其起始簇的高16位数据被清0,虽然描述其数据起始簇的低16位是正确的,但大多数情况根据文件删除后的残余目录项中的数据结构,并不能正确找到文件数据的位置。根据该残余目录项只能正确定位到文件数据起始簇的高16位本来就是0的情况,通过以下计算可以得知,该情况可能是1、FAT32逻辑盘的簇大小为32K,已经删除文件数据位于逻辑盘的2G之内;2、FAT32逻辑盘的簇大小为16K,已经删除文件数据位于逻辑盘的1G之内。
1、FAT32逻辑盘的簇大小为32K时32位簇的起始位置最多能表示的大小=0xFFFF簇×32K/簇=2097120K2、FAT32逻辑盘的簇大小为16K时16位簇的起始位置最多能表示的大小=0xFFFF簇×16K/簇=1048560K当然,以此类推,FAT32逻辑盘的簇大小为64K,已经删除文件数据位于逻辑盘的4G之内时也有上述问题等等。簇大小是格式化分区时确定下来的,簇大小越大,浪费的空间也越大,但文件访问速度会快,Windows文件系统在格式化FAT32分区时一般默认选择16K大小或者32K大小,并以16K大小的情况居多(一般根据分区的总大小来确定),所以当FAT32逻辑盘中的文件被删除,若其数据位于分区的2G(情况1)或1G(情况2)以上时,文件的恢复成为一个难题。

发明内容
本发明所要解决的技术问题在于,提供一种有效的恢复FAT32分区已删除文件的方法。
本发明所要解决的技术问题是通过如下技术方案实现的一种恢复FAT32分区已删除文件的方法,其包括如下步骤a)分析分区中的已删除文件目录项,得到其数据起始簇的低16位信息;b)获取该已删除文件的扩展名;c)读该文件目录项中起始簇的低16位所指的磁盘位置,将高16位设为0;d)读文件起始簇低16位和假定高16位所指扇区,读取该扇区;e)判断是否已经超出该分区所能表示的最大扇区号,如果是跳到步骤h;f)判断匹配该数据是否和已删除文件的文件类型相匹配,如果匹配说明该数据可能是该文件的数据,取这些数据保存为文件,从而实现文件恢复。如果不匹配说明该数据不是该文件的数据,跳到步骤g;g)簇的起始位置的高16位加1,低位不变,进入步骤d;
h)退出。
本发明利用一个扫描循环和文件格式判断相结合的方式,通过判断文件类型和磁盘数据中的文件类型标识是否匹配,来确定该数据是否属于此文件数据。可准确恢复FAT32分区已删除文件,当扫描结果中有多个文件格式相同的文件时(出现这种情况几率很小),可人工判断筛选。


图1为FAT32目录项结构图;图2为删除文件后的FAT32目录项结构图;图3为本发明复FAT32分区已删除文件的方法流程图。
具体实施例方式
本发明方法是通过判断文件类型和磁盘数据中的文件类型标识是否匹配,来确定该数据是否属于此文件数据。具体步骤如下1.分析分区中的已删除文件目录项,得到其数据起始簇的低16位信息;2.获取该已删除文件的扩展名;3.读该文件目录项中起始簇的低16位所指的磁盘位置,将高16位设为0;4.读文件起始簇低16位和假定高16位所指扇区,读取该扇区;5.判断是否已经超出该分区所能表示的最大扇区号,如果是跳到步骤8;6.判断匹配该数据是否和己删除文件的文件类型相匹配,如果匹配说明该数据可能是该文件的数据,取这些数据保存为文件,从而实现文件恢复。如果不匹配说明该数据不是该文件的数据,跳到步骤7;
7.簇的起始位置的高16位加1,低位不变,进入步骤4;8.退出。
由于大多数文件都有一个特定的文件类型标志,这些标志一般指文件最开头的几个字符,比如windows的可执行文件EXE、DLL、VXD等文件的文件头为字符串“MZ”,Adobe公司的PDF文件的文件头为字符串“%PDF”等。但也有些少数文件的文件标志不是在文件最开头的几个字符,而是出现在文件中的特定偏移位置。这些标志往往用于确定文件格式是否正确,文件是否损坏等。
本发明利用一个扫描循环和文件格式判断相结合的方式,通过判断预恢复文件的类型和磁盘数据中的文件类型标识是否匹配,来确定该数据是否属于此文件数据。可准确恢复恢复FAT32分区已删除文件,当扫描结果中有多个文件格式相同的文件时(出现这种情况几率很小),可人工判断筛选。
本发明还有其他一些变形或者改进。如果本技术领域的技术人员受到本发明的启发做出的显而易见的非实质性的改变或者改进,均属于本发明权利要求书的保护范围。
权利要求
1.一种恢复FAT32分区已删除文件的方法,其特征在于,包括如下步骤a.分析分区中的已删除文件目录项,得到其数据起始簇的低16位信息;b.获取该已删除文件的扩展名;c.读该文件目录项中起始簇的低16位所指的磁盘位置,将高16位设为0;d.读文件起始簇低16位和假定高16位所指扇区,读取该扇区;e.判断是否已经超出该分区所能表示的最大扇区号,如果是跳到步骤h;f.判断匹配该数据是否和已删除文件的文件类型相匹配,如果匹配说明该数据可能是该文件的数据,取这些数据保存为文件,从而实现文件恢复。如果不匹配说明该数据不是该文件的数据,跳到步骤g;g.簇的起始位置的高16位加1,低位不变,进入步骤d;h.退出。
2.根据权利要求1所述的恢复FAT32分区已删除文件的方法,其特征在于,当结果得到多个与预恢复文件类型相同的文件时,最后可通过人工判断筛选。
3.根据权利要求1所述的恢复FAT32分区已删除文件的方法,其特征在于,所述已删除文件的高16位大于0。
全文摘要
本发明涉及计算机领域,特别涉及一种计恢复己删除文件的方法。一种恢复FAT32分区已删除文件的方法,其包括如下步骤A.分析分区中的已删除文件目录项,得到其数据起始簇的低16位信息;B.获取该已删除文件的扩展名;C.读该文件目录项中起始簇的低16位所指的磁盘位置,将高16位设为0;D.读文件起始簇低16位和假定高16位所指扇区,读取该扇区;E.判断是否已经超出该分区所能表示的最大扇区号;F.判断匹配该数据是否和已删除文件的文件类型相匹配;G.簇的起始位置的高16位加1,低位不变,进入步骤d;H.退出。本发明可准确恢复FAT32分区已删除文件。
文档编号G06F17/30GK1773462SQ20051010030
公开日2006年5月17日 申请日期2005年10月17日 优先权日2005年10月17日
发明者涂彦晖, 邓振波, 陈睿 申请人:珠海金山软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1