Ntfs卷中重建目录结构和恢复数据的方法

文档序号:6561361阅读:1074来源:国知局
专利名称:Ntfs卷中重建目录结构和恢复数据的方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种恢复磁盘中数据的方法。
背景技术
当一个NTFS分区被病毒、黑客破坏、误格式化操作、软件使用不当等原因造成文件丢失,分区不可访问时,往往能够恢复文件数据是不够的,还必须能够重现这些文件的目录结构,并且要恢复这些文件在丢失前的文件名,比如一个软件中有很多数据文件,他们都有固定的目录结构,如果这些目录层次和文件名被破坏,即使恢复了所有该软件目录中的文件,这个软件还是不能正常运行的。

发明内容
本发明克服了现有技术中的缺点,提供一种可使文件数据和文件目录结构一同恢复的方法。
为了解决上述技术问题,通过以下技术方案实现NTFS卷中重建目录结构和恢复数据的方法,其包括文件扫描和文件恢复两个过程,文件扫描过程包括如下步骤A、定位$MFT数据区;B、遍历文件MFT;C、从该文件MFT中获取父目录信息,并向上访问其上所有目录,同时根据其上所有目录的目录名重新建立该文件的路径;D、在包含NTFS卷扫描到的包含文件位置、文件路径、文件大小、文件各种时间信息等的文件信息表中增加该文件的记录;E、判断是否已经到了$MFT最后,不是转B,是转F;F、结束文件扫描过程进入文件恢复过程;文件恢复模块包括如下步骤1.从上述文件扫描过程所建立的文件信息表中遍历取出一个表项;2.根据表中文件类型信息在用户所指定路径建立文件;3.根据表中文件大小信息和文件在磁盘中的存储位置对刚建立的文件写入文件数据;4.判断文件表是否为上述文件信息表中的最后表项,如果是进入步骤5,否则返回步骤1;5.结束。
本发明方法不依赖本来的文件系统,直接对磁盘的扇区进行扫描,结合某些特定文件类型所具有的特定标志,判断该文件在磁盘中的具体位置,再根据该位置信息和文件的类型信息重新建立文件,该方法可以作为其他根据文件系统恢复数据方法的有效补充。


图1是本发明方法中文件扫描过程流程图;图2是本发明方法中文件恢复过程流程图。
具体实施例方式
下面参照图1和图2介绍本发明方法的过程和工作原理。
一种NTFS卷中重建目录结构和恢复数据的方法主要包括两个过程,文件扫描过程和文件恢复过程。文件扫描过程主要是遍历磁盘的$MFT(主文件表),通过扫描MFT中的各种属性信息,得到全部文件的数据属性、文件路径、文件大小、文件各种时间等信息,并将这些信息记录在一个新建的文件信息表中;文件恢复过程主要是利用上述文件信息表,重新建立文件,恢复文件。
文件扫描过程如图1所示
a.定位$MFT数据区;NTFS卷与FAT卷不同,在NTFS卷中有一个$MFT文件,该文件中存放了卷中所有文件(文件夹)的主文件表(Master File Table,MFT),并且一一对应,即每个文件(文件夹)都有自身的MFT参考号。在MFT的属性列表中有多种属性信息,如,10$STANDARD_INFORMATION(标准信息);20$ATTRIBUTE_LIST(属性列表);30$FILE_NAME(文件名);40$VOLUME_VERSION(卷版本);50$SECURITY Descriptor(安全描述符);60$VOLUME_NAME(卷名);70$VOLUME_INFORMATION(卷信息);80$DATA(数据);90$INDEX_ROOT(索引根)等。
b.遍历文件MFT;确保磁盘内的文件全部恢复。
c.从该文件MFT中获取父目录信息,并向上访问其上所有目录,同时根据其上所有目录的目录名重新建立该文件的路径;本方法中是通过访问MFT中的30属性可以获得该文件父目录的MFT参考号;通过该步骤可获取每个文件(文件夹)的绝对路径,以便后续恢复数据过程中保证文件的目录结构不变。
d.在包含NTFS卷扫描到的包含文件数据属性、文件路径、文件大小、文件各种时间信息等的文件信息表中增加该文件的记录;上述各类信息也是通过访问MFT中的各对应属性得到的。
e.判断是否已经到了$MFT最后,不是转b,是转f;f.结束文件扫描过程进入文件恢复过程;文件恢复过程如图2所示1.上述文件扫描过程所建立的文件信息表中遍历取出一个表项;每个表项对应一个文件(文件夹),其中含有该文件(文件夹)的文件数据属性、文件路径、文件大小、文件各种时间信息等的文件信息。
2.根据表中文件类型信息在用户所指定路径建立文件;3.根据表中文件大小信息和文件在磁盘中的存储位置对刚建立的文件写入文件数据;4.判断文件表是否为上述文件信息表中的最后表项,如果是进入步骤5,否则返回步骤1;5.结束。
以上步骤仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
权利要求
1.NTFS卷中重建目录结构和恢复数据的方法,其特征在于,其包括文件扫描和文件恢复两个过程,文件扫描过程包括如下步骤a.定位$MFT数据区;b.遍历文件MFT;c.从该文件MFT中获取父目录信息,并向上访问其上所有目录,同时根据其上所有目录的目录名重新建立该文件的路径;d.在包含NTFS卷扫描到的包含文件数据属性、文件路径、文件大小、文件各种时间信息等的文件信息表中增加该文件的记录;e.判断是否已经到了$MFT最后,不是转b,是转f;f.结束文件扫描过程进入文件恢复过程;文件恢复模块包括如下步骤I.从上述文件扫描过程所建立的文件信息表中遍历取出一个表项;II.根据表中文件类型信息在用户所指定路径建立文件;III.根据表中文件大小信息和文件在磁盘中的存储位置对刚建立的文件写入文件数据;IV.判断文件表是否为上述文件信息表中的最后表项,如果是进入步骤V,否则返回步骤I;V.结束。
2.根据权利要求1所述的NTFS卷中重建目录结构和恢复数据的方法,其特征在于,所述步骤d中的文件数据属性信息通过遍历该文件的80H属性得到。
全文摘要
本发明涉及一种恢复磁盘中数据的方法。本方法包括文件扫描和文件恢复过程,文件扫描过程包括i.定位$MFT数据区;ii.遍历文件MFT;iii.从该文件MFT中获取父目录信息,向上访问其上所有目录,重新建立该文件的路径;iv.在文件信息表中增加该文件的记录;v.判断是否已经到了$MFT最后,不是转B,是转F;vi.结束文件扫描过程进入文件恢复过程;文件恢复模块包括如下步骤1.从上述文件信息表中遍历取出一个表项;2.根据表中文件类型信息在用户所指定路径建立文件;3.根据表中文件大小信息和文件在磁盘中的存储位置对刚建立的文件写入文件数据;4.判断文件表是否为上述文件信息表中的最后表项,如果是进入步骤5,否则返回步骤1;5.结束。
文档编号G06F17/30GK1959649SQ200610122248
公开日2007年5月9日 申请日期2006年9月19日 优先权日2006年9月19日
发明者涂彦晖 申请人:珠海金山软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1