【技术实现步骤摘要】
基于FAT32文件系统的文件恢复方法及其系统
本专利技术涉及计算机数据恢复
,尤其涉及一种基于FAT32文件系统的文件恢复方法及其系统。
技术介绍
FAT32文件系统是Windows操作系统中应用最为广泛的文件系统之一,在SD卡与U盘等存储介质上使用的更多。FAT32文件系统由保留扇区(DBR)、文件分配表区(FAT)、根目录区(ROOT)以及数据区(DATA)组成;保留扇区位于FAT32文件系统起始位置,保留扇区的第一个扇区为FAT32文件系统的DOS引导记录,即DBR,保存着FAT32文件系统在磁盘上的簇大小、保留扇区数、总扇区数、根目录起始位置,FAT表的大小与数目等信息;FAT表用以描述数据区中的簇的分配状态以及用以描述文件或者目录的数据在磁盘中存储的位置,每个FAT表项由4个字节组成,记录着数据区每个簇的地址;根目录区位于数据区域的第一个数据簇,当在文件系统根目录下创建文件或者目录的时候,需要在根目录区中写入相应的文件或者目录的目录项;数据区域存储的所有数据的目录项信息以及实际的文件数据。目录项FDT是FAT32文件系统至关重要的数据结构,在FAT32文件系统中,所有的文件和文件夹都会被分配一个32字节的目录项,用以存储文件或者文件夹的元数据信息,FAT32文件系统的目录项分为短文件名目录项、长文件名目录项、“.”与“..”目录项和卷标目录项。FAT32文件系统删除文件的恢复技术在计算机安全领域中一直是备受关注的热点。目前,市面上已经有了许多较为成熟的FAT32文件系统删除数据恢复的技术以及相关的数据恢复软件,这些恢复技术与恢复软件都只是简 ...
【技术保护点】
一种基于FAT32文件系统的文件恢复方法,其特征在于,包括获取当前分区的扇区集合;遍历所述扇区集合内的扇区,分别获取当前分区内各个FDT目录项的起始簇号和起始扇区号;确定当前分区内第一个有效的FDT目录项;将所述第一个有效的FDT目录项的起始簇号和起始扇区号分别记录为当前分区的根目录的起始簇号和起始扇区号;确定下一有效的FDT目录项;根据所述下一有效的FDT目录项的起始簇号和起始扇区号以及所述根目录的起始簇号和起始扇区号,计算当前分区的簇大小;根据所述簇大小以及所述根目录的起始簇号和起始扇区号,计算所述根目录的偏移扇区数;根据所述下一有效的FDT目录项的起始簇号、所述簇大小和所述偏移扇区数,计算所述下一有效的FDT目录项的理论起始扇区号;若所述下一有效的FDT目录项的起始扇区号和所述理论起始扇区号不相等,则确定所述当前分区中存在新的分区;对所述下一有效的FDT目录项之前的FDT目录项进行恢复处理;将所述下一有效的FDT目录项的起始簇号和起始扇区号分别记录为所述新的分区的根目录的起始簇号和起始扇区号;清除计算获取的所述簇大小和所述偏移扇区数;返回继续执行所述确定下一有效的FDT目录项的步 ...
【技术特征摘要】
1.一种基于FAT32文件系统的文件恢复方法,其特征在于,包括获取当前分区的扇区集合;遍历所述扇区集合内的扇区,分别获取当前分区内各个FDT目录项的起始簇号和起始扇区号;确定当前分区内第一个有效的FDT目录项;将所述第一个有效的FDT目录项的起始簇号和起始扇区号分别记录为当前分区的根目录的起始簇号和起始扇区号;确定下一有效的FDT目录项;根据所述下一有效的FDT目录项的起始簇号和起始扇区号以及所述根目录的起始簇号和起始扇区号,计算当前分区的簇大小;根据所述簇大小以及所述根目录的起始簇号和起始扇区号,计算所述根目录的偏移扇区数;根据所述下一有效的FDT目录项的起始簇号、所述簇大小和所述偏移扇区数,计算所述下一有效的FDT目录项的理论起始扇区号;若所述下一有效的FDT目录项的起始扇区号和所述理论起始扇区号不相等,则确定所述当前分区中存在新的分区;对所述下一有效的FDT目录项之前的FDT目录项进行恢复处理;将所述下一有效的FDT目录项的起始簇号和起始扇区号分别记录为所述新的分区的根目录的起始簇号和起始扇区号;清除计算获取的所述簇大小和所述偏移扇区数;返回继续执行所述确定下一有效的FDT目录项的步骤。2.根据权利要求1所述的一种基于FAT32文件系统的文件恢复方法,其特征在于,所述“对所述下一有效的FDT目录项之前的FDT目录项进行恢复处理”具体为:依次对所述下一有效的FDT目录项之前的各个FDT目录项与其起始簇号进行关联。3.根据权利要求1所述的一种基于FAT32文件系统的文件恢复方法,其特征在于,所述“确定下一有效的FDT目录项”之后,进一步包括:判断所述下一有效的FDT目录项是否为卷标FDT目录项;若是,则确定所述当前分区中存在新的分区;对所述下一有效的FDT目录项之前的FDT目录项进行恢复处理;将所述下一有效的FDT目录项的起始簇号和起始扇区号分别记录为所述新的分区的根目录的起始簇号和起始扇区号;清除计算获取的所述簇大小和所述偏移扇区数;返回继续执行所述确定下一有效的FDT目录项的步骤。4.根据权利要求1所述的一种基于FAT32文件系统的文件恢复方法,其特征在于,所述“计算所述下一有效的FDT目录项的理论起始扇区号”之后,进一步包括:若所述下一有效的FDT目录项的起始扇区号和所述理论起始扇区号相等,则返回继续执行所述确定下一有效的FDT目录项的步骤。5.根据权利要求1所述的一种基于FAT32文件系统的文件恢复方法,其特征在于,所述“确定下一有效的FDT目录项”之前,进一步包括:判断是否还存在下一有效的FDT目录项;若否,则对所述根目录及其之后的FDT目录项进行恢复处理。6.根据权利要求1所述的一种基于FAT32文件系统的文件恢复方法,其特征在于,所述“根据所述下一有效的FDT目录项的起始簇号和起始扇区号以及所述根目录的起始簇号和起始扇区号,计算当前分区的簇大小”具体为:根据公式C=(S-RS)/(L...
【专利技术属性】
技术研发人员:邵炳阳,沈长达,吴少华,赵庸,滕达,
申请(专利权)人:厦门市美亚柏科信息股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。