一种FAT32文件系统的DBR数据修复方法技术方案

技术编号:8105616 阅读:334 留言:0更新日期:2012-12-21 04:13
本发明专利技术涉及一种FAT32文件系统的DBR数据修复方法,包括步骤:打开磁盘,定位所述磁盘中当前FAT32分区的DBR所在扇区,并查询备份DBR;读取DBR中待修复字段的信息,对于非BPB字段信息,将其它FAT32分区的DBR信息拷入进行修复;对于BPB字段信息,先判断待修复字段信息为三类字段中的哪一类,再针对不同类字段采用不同方法进行修复,其中三类字段包括:与文件存储结构无关的字段、与文件存储结构有关但无需验证的字段和与文件存储结构有关且需要验证的字段。这样通过合理的将DBR中的BPB字段信息进行分类,并对不同类型的字段采用不同的修复方法,有效地减少了修复DBR参数的时间开销,并提高了修复DBR参数的准确性。

【技术实现步骤摘要】

本专利技术涉及数据修复方法,更具体地说,涉及一种FAT32文件系统的DBR数据修复方法
技术介绍
随着信息化和信息技术的发展,政府、企业以及个人越来越多地关注信息的安全。信息安全的核心是数据的安全,而病毒感染、误操作、意外事件等众多因素都在威胁着数据的安全,当一些重要数据一旦损坏或丢失,其损失有时候是相当严重的。然而,在实际应用中,又很难避免出现数据损坏与丢失的现象。因此,对那些遭受破坏的重要数据进行有效的恢复是相当必要的。 对数据进行恢复的软件及其方法有很多,其中,分区修复类软件是一种间接地恢复数据方式,即通过修复分区来找回丢失的数据。这种修复方式的优点是恢复速度极快,而且一旦分区修复成功,其中的文件也就都能随之而恢复。然而,目前这些分区修复软件或者方法都不能较好地满足FAT32的DBR数据修复的需求,其中FAT32是一种使用广泛的Windows的文件系统,很多操作平台都支持FAT32文件系统。当前,对FAT32的DBR数据修复的方法一般有两种一是采用“备份修复法”,但当备份DBR遭到破坏时,将导致此类方法的修复结果完全失效;二是依据分区类型和大小的不同对DBR各个字段重新赋值,并且对某些参数的赋值采用默认值或统计值,这样显然是不正确的。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种FAT32文件系统的DBR数据修复方法。本专利技术解决其技术问题所采用的技术方案是构造一种FAT32文件系统的DBR数据修复方法,其中,包括打开磁盘,定位所述磁盘中当前FAT32分区的DBR所在扇区,并查询备份DBR ;读取DBR中待修复字段的信息,对于非BPB字段信息,将其它的FAT32分区的DBR信息拷入进行修复;对于BPB字段信息先判断所述待修复字段信息为三类字段中的哪一类,再针对不同类字段分别进行修复,其中,所述三类字段包括与文件存储结构无关的字段、与文件存储结构有关但无需验证的字段和与文件存储结构有关且需要验证的字段;在所述待修复字段为与文件存储结构无关的字段时,利用默认值修复所述待修复字段;在所述待修复字段为与文件存储结构有关但无需验证的字段时,根据文件存储结构修复所述待修复字段;在所述待修复字段为与文件存储结构有关且需要验证的字段时,根据文件存储结构验证DBR的字段信息是否正确,正确则退出,不正确则判断是否有备份DBR,如果没有则根据文件存储结构直接修复DBR的值,如果有则根据文件存储结构验证备份DBR的字段信息是否正确,是则修复DBR字段的值,否则根据文件存储结构直接修复DBR的值。本专利技术所述的DBR数据修复方法,其中,所述与文件存储结构无关的字段包括每扇区字节数字段、介质描述符字段、每磁道扇区数字段、磁头数字段、标记字段、版本字段、文件系统信息扇区号字段、保留字段、BIOS驱动器号字段、扩展引导标记字段、卷序列号字段、卷标字段、文件系统类型字段;所述利用默认值修复所述待修复字段的过程具体为在所述与文件存储结构无关的字段中填入默认值。本专利技术所述的DBR数据修复方法,其中,所述与文件存储结构有关但无需验证的字段包括分区的扇区数字段和根目录首簇号字段;在所述与文件存储结构有关但无需验证的字段为分区的扇区数字段时,所述根据文件存储结构修复所述待修复字段的过程包括根据所述分区的EBR或MBR中的分区信 息获取到该分区的扇区总数,将所获取的所述分区的扇区总数填入到所述分区的扇区数字段;在所述与文件存储结构有关但无需验证的字段为根目录首簇号字段时,所述根据文件存储结构修复所述待修复字段的过程包括在所述根目录首簇号字段填入“Ox 02 0000 00”。本专利技术所述的DBR数据修复方法,其中,所述与文件存储结构有关且需要验证的字段包括每簇扇区数字段、DOS保留扇区数字段、FAT个数字段、隐藏扇区字段、每FAT扇区数字段和DBR备份扇区号字段。本专利技术所述的DBR数据修复方法,其中,在所述与文件存储结构有关且需要验证的字段为DBR备份扇区号字段时,数据修复过程包括步骤ElI、读取DBR中DBR备份扇区号字段值,然后读取DBR向后偏移该数目的扇区的数据,判断是否是DBR,是则表示DBR备份扇区号字段值正确,故退出,否则执行步骤E12 ;E12、由于DBR中DBR备份扇区号字段信息错误,无法找到备份的DBR,故无备份的DBR,则直接执行步骤E13 ;E13、从DBR向后搜索,直到找到备份DBR所在的扇区或者搜索已经超过本分区大小时为止,如果找到备份DBR所在扇区,则该扇区到DBR扇区的间隔扇区就是DBR备份扇区号;如果未找到备份的DBR,则填入默认值“0x06 00”。本专利技术所述的DBR数据修复方法,其中,在所述与文件存储结构有关且需要验证的字段为隐藏扇区字段时,数据修复过程包括步骤E21、读取DBR中隐藏扇区数字段值,然后读取DBR向前偏移该数目的扇区的数据,判断是否是EBR或MBR,是则表示DBR中隐藏扇区数字段值正确,故退出,否则执行步骤E22 ;E22、判断备份DBR是否存在,否则执行步骤E23 ;是则读取备份DBR中隐藏扇区数,然后读取DBR向前偏移该数目的扇区的数据,判断是否是EBR或MBR,是则表示备份DBR中隐藏扇区数字段值正确,根据该值修复DBR中隐藏扇区数字段,然后退出,否则执行步骤E23 ;E23、从DBR向前搜索,直到找到本分区的EBR或MBR所在的扇区,该扇区到DBR扇区的间隔扇区数就是隐藏扇区的数目。本专利技术所述的DBR数据修复方法,其中,在所述与文件存储结构有关且需要验证的字段为DOS保留扇区数字段时,数据修复过程包括步骤E31、读取DBR中DOS保留扇区数字段值,然后读取DBR向后偏移该数目的扇区的信息,判断是否是FAT的表头“0xF8 FF FF OF FF FF FF FF”,是则表示DBR中DOS保留扇区数字段值正确,故退出,否则执行E32 ;E32、判断备份DBR是否存在,否则执行E33,是则读取备份DBR中保留扇区的数目,然后读取DBR向后偏移该数目的扇区的信息,判断是否是FAT的表头“0xF8 FF FF OF FFFF FF FF”,是则表示备份DBR中DOS保留扇区数字段值正确,根据该值修复DBR中DOS保留扇区数字段,然后退出,否则执行E33 ;E33、从DBR向后搜索,直到找到FAT的表头“0xF8 FF FF OF FF FF FF FF”所在的扇区,该扇区到DBR扇区的间隔扇区就是DOS保留扇区数;如果扫描到分区末尾时,还未 找到FAT表头,则结束修复DBR的流程。本专利技术所述的DBR数据修复方法,其中,所述DBR数据修复方法还包括在完成对所述DOS保留扇区数字段的修复后,对所述每FAT扇区数字段进行修复,对所述每FAT扇区数字段的修复过程包括步骤E41、读取DBR中每FAT扇区数字段值和修复后的保留扇区字段值,然后再读取DBR向后偏移“每FAT扇区数字段值+修复后的DOS保留扇区数字段值”的扇区信息,判断是否是FAT的表头或根目录,是则表示DBR中每FAT扇区数字段值正确,故退出,否则执行步骤E42 ;E42、判断备份DBR是否存在,否则执行步骤E43,是则读取备份DBR中每FAT扇区数字段值和修复后的DOS保留扇区字段值,然后再读取DBR本文档来自技高网...

【技术保护点】
一种FAT32文件系统的DBR数据修复方法,其特征在于,包括:打开磁盘,定位所述磁盘中当前FAT32分区的DBR所在扇区,并查询备份DBR;读取DBR中待修复字段的信息,对于非BPB字段信息,将其它的FAT32分区的DBR信息拷入进行修复;对于BPB字段信息先判断所述待修复字段信息为三类字段中的哪一类,再针对不同类字段分别进行修复,其中,所述三类字段包括:与文件存储结构无关的字段、与文件存储结构有关但无需验证的字段和与文件存储结构有关且需要验证的字段;在所述待修复字段为与文件存储结构无关的字段时,利用默认值修复所述待修复字段;在所述待修复字段为与文件存储结构有关但无需验证的字段时,根据文件存储结构修复所述待修复字段;在所述待修复字段为与文件存储结构有关且需要验证的字段时,根据文件存储结构验证DBR的字段信息是否正确,正确则退出,不正确则判断是否有备份DBR,如果没有则根据文件存储结构直接修复DBR的值,如果有则根据文件存储结构验证备份DBR的字段信息是否正确,是则修复DBR字段的值,否则根据文件存储结构直接修复DBR的值。

【技术特征摘要】
1.一种FAT32文件系统的DBR数据修复方法,其特征在于,包括 打开磁盘,定位所述磁盘中当前FAT32分区的DBR所在扇区,并查询备份DBR ; 读取DBR中待修复字段的信息,对于非BPB字段信息,将其它的FAT32分区的DBR信息拷入进行修复;对于BPB字段信息先判断所述待修复字段信息为三类字段中的哪一类,再针对不同类字段分别进行修复,其中,所述三类字段包括与文件存储结构无关的字段、与文件存储结构有关但无需验证的字段和与文件存储结构有关且需要验证的字段; 在所述待修复字段为与文件存储结构无关的字段时,利用默认值修复所述待修复字段; 在所述待修复字段为与文件存储结构有关但无需验证的字段时,根据文件存储结构修复所述待修复字段; 在所述待修复字段为与文件存储结构有关且需要验证的字段时,根据文件存储结构验证DBR的字段信息是否正确,正确则退出,不正确则判断是否有备份DBR,如果没有则根据文件存储结构直接修复DBR的值,如果有则根据文件存储结构验证备份DBR的字段信息是否正确,是则修复DBR字段的值,否则根据文件存储结构直接修复DBR的值。2.根据权利要求I所述的DBR数据修复方法,其特征在于,所述与文件存储结构无关的字段包括每扇区字节数字段、介质描述符字段、每磁道扇区数字段、磁头数字段、标记字段、版本字段、文件系统信息扇区号字段、保留字段、BIOS驱动器号字段、扩展引导标记字段、卷序列号字段、卷标字段、文件系统类型字段; 所述利用默认值修复所述待修复字段的过程具体为在所述与文件存储结构无关的字段中填入默认值。3.根据权利要求I所述的DBR数据修复方法,其特征在于,所述与文件存储结构有关但无需验证的字段包括分区的扇区数字段和根目录首簇号字段; 在所述与文件存储结构有关但无需验证的字段为分区的扇区数字段时,所述根据文件存储结构修复所述待修复字段的过程包括根据所述分区的EBR或MBR中的分区信息获取到该分区的扇区总数,将所获取的所述分区的扇区总数填入到所述分区的扇区数字段; 在所述与文件存储结构有关但无需验证的字段为根目录首簇号字段时,所述根据文件存储结构修复所述待修复字段的过程包括在所述根目录首簇号字段填入“Ox 02 00 0000”。4.根据权利要求I所述的DBR数据修复方法,其特征在于,所述与文件存储结构有关且需要验证的字段包括每簇扇区数字段、DOS保留扇区数字段、FAT个数字段、隐藏扇区字段、每FAT扇区数字段和DBR备份扇区号字段。5.根据权利要求4所述的DBR数据修复方法,其特征在于,在所述与文件存储结构有关且需要验证的字段为DBR备份扇区号字段时,数据修复过程包括步骤 El I、读取DBR中DBR备份扇区号字段值,然后读取DBR向后偏移该数目的扇区的数据,判断是否是DBR,是则表示DBR备份扇区号字段值正确,故退出,否则执行步骤E12 ; E12、由于DBR中DBR备份扇区号字段信息错误,无法找到备份的DBR,故无备份的DBR,则直接执行步骤E13 ; E13、从DBR向后搜索,直到找到备份DBR所在的扇区或者搜索已经超过本分区大小时为止,如果找到备份DBR所在扇区,则该扇区到DBR扇区的间隔扇区就是DBR备份扇区号;如果未找到备份的DBR,则填入默认值“0x06 00”。6.根据权利要求4所述的DBR数据修复方法,其特征在于,在所述与文件存储结构有关且需要验证的字段为隐藏扇区字段时,数据修复过程包括步骤 E21、读取DBR中隐藏扇区数字段值,然后读取DBR向前偏移该数目的扇区的数据,判断是否是EBR或MBR,是则表示DBR中隐藏扇区数字段值正确,故退出,否则执行步骤E22 ; E22、判断备份DBR是否存在,否则执行步骤E23 ;是则读取备份DBR中隐藏扇区数,然后读取DBR向前偏移该数目的扇区的数据,判断是否是EBR或MBR,是则表示备份DBR中隐藏扇区数字段值正确,根据该值修复DBR中隐藏扇区数字段,然后退出,否则执行步骤E23 ; E23、从DBR向前搜索,直到找到本分区的EBR或MBR所在的扇区,该扇区到DBR扇区的间隔扇区数就是隐藏扇区的数目。7.根据权利要求4所述的DBR数据修复方法,其特征在于,在所述与文件存储结构有关且需要验证的字段为DOS保留扇区数字段时,数据修复过程包括步骤 ...

【专利技术属性】
技术研发人员:王大彬李普金
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1