NTFS卷中从指定目录中搜索已删除文件的方法技术

技术编号:2844920 阅读:515 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种搜索计算机中已删除数据的方法。其包括如下过程:A.输入需要恢复文件所在路径;B.分解路径得到第一层目录名;C.访问根目录的MFT并遍历其90H属性或AOH属性;D.判断是否已经分解到输入路径的最后一层子目录,如果是进入过程G,否进入过程E;E.进一步分解路径;F.根据上一层目录的MFT参考号访问其MFT并遍历其90H属性或AOH属性,然后进入过程D;G.遍历*MFT文件中的所有MFT并访问一个删除文件;H.判断是否遍历完*MFT文件中的所有MFT,如果是转入过程K,否进入过程I;I.判断该删除文件父目录或者其任意上层目录的MFT参考号是否和过程F中确定的最后一层子目录MFT参考号相等,如果是进入过程J,否则返回过程G;J.确定该文件为搜索目标文件;K.结束。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,尤其涉及一种搜索已删除数据的方法。
技术介绍
针对用户错误删除文件或者被他人恶意删除文件等问题,目前出现了各类数据恢复软件,可以帮助用户查找已经删除的文件并恢复,当用户误删除某个文件夹下的文件且需要恢复这些文件时,如果不能定位到这些被删除文件删除前所在的目录,将从根目录开始遍历所有路径,搜索所有已删除文件,这样将增加扫描时间,和降低数据恢复软件的易用性。因此,提供一种快速搜索指定目录中的已删除文件的方法极具实用性。
技术实现思路
本专利技术克服了现有技术中的缺点,提供一种可快速搜索指定目录中的已删除文件的方法。为了解决上述技术问题,通过以下技术方案实现NTFS卷中从指定目录中搜索已删除文件的方法,其包括如下过程A.用户通过输入设备输入需要恢复文件所在路径;B.分解用户输入的路径得到第一层目录名;C.访问根目录的MFT并遍历其90H属性或A0H属性得到上述第一层目录的MFT参考号;D.判断是否已经分解到用户所输入路径的最后一层子目录,如果是进入过程g,否则进入过程e; E.进一步分解用户输入的路径得到下一层目录的目录名;F.根据得到的上一层目录的MFT参考号访问其MFT并遍历其90H属性或A0H属性得到过程e中所述下一层目录的MFT参考号,然后进入过程d;G.遍历NTFS卷的$MFT文件中的所有MFT并访问一个删除文件,得到其父目录的MFT参考号;H.判断是否遍历完$MFT文件中的所有MFT,如果是转入过程k,如果否进入过程i;I.判断该删除文件父目录或者其任意上层目录的MFT参考号是否和过程f中确定的用户选择的最后一层子目录MFT参考号相等,如果是进入过程j,否则返回过程g;J.确定该文件为搜索目标文件;K.结束。通过本专利技术方法可结合用户输入的信息快速查找到用户需要恢复的文件,而无需进行全盘扫描,影响数据恢复速度。附图说明图1是本专利技术NTFS卷中从指定目录中搜索已删除文件的方法的流程图。具体实施例方式下面参照附图1并结合具体例子介绍本专利技术的方法,这里假设用户输入的目录是C\study\english,即需要修复的文件是在english子目录内。1.由用户通过键盘输入目录C\study\english;2.根据分隔符“\”分解上述路径的第一层目录名“study”;3.访问该目录MFT并遍历其90H属性或者A0属性得到第一层目录“study”的MFT参考号,假设为m;这里对几个术语进行简单介绍,NTFS卷与FAT卷不同,在NTFS卷中有一个$MFT文件,该文件中存放了卷中所有文件(文件夹)的主文件表(Master File Tabl,MFT),并且一一对应,即每个文件(文件夹)都有自身的MFT参考号。在MFT的属性列表中,30H属性$FILE_NAME;90H属性$INDEX_ROOT;A0H属性$INDEX_ALLOCATION;即通过90H属性或者A0属性可以查找到该文件子目录的MFT参考号,而通过30H属性可以获得该文件父目录的MFT参考号。4.判断是否已经分解到用户所输入路径的最后一层子目录,如果是进入过程7,否则进入过程5;本例中“study”并非最后一层子目录,进入过程5。5.进一步分解用户输入的路径得到下一层目录的目录名“english”6.根据得到的上一层目录的MFT参考号m,访问其MFT并遍历其90H属性或A0H属性得到其下一层目录“study”的MFT参考号,假设为n,然后进入过程4;7.遍历NTFS卷的$MFT文件中的所有MFT并访问一个删除文件,通过访问该文件MFT的30H属性得到其父目录的MFT参考号;8.判断该父目录MFT参考号是否与过程6中确定的用户选择的最后一层子目录“study”的MFT参考号n相等,如果是转到过程11,如果否到过程9;9.根据过程8中得到的MFT参考号访问该参考号对应文件父目录的MFT参考号;查找父目录的MFT参考号的方法与国成7中所述一至,都是通过访问该文件MFT的30H属性得到。10.判断过程9中得到的父目录MFT参考号是否为根目录参考号,如果是跳到过程11,否则跳到过程8;通过过程7、8、9来判断所删除文件是否为目录“study”某层子目录的文件,因为这种文件也是符合用户搜索要求的文件。11.判断是否遍历完$MFT文件中的所有MFT,如果是转入过程14,如果否进入过程12;该过程判断是否卷中所有已删除的文件已经全部被遍历。12.判断该删除文件父目录或者其任意上层目录的MFT参考号是否和过程f中确定的用户选择的最后一层子目录“study”的MFT参考号n相等,如果是进入过程13,否则返回过程7;13.确定该文件为搜索目标文件;即为符合用户查找要求的删除文件。14.结束。以上步骤仅用以说明而非限制本专利技术的技术方案。不脱离本专利技术精神和范围的任何修改或局部替换,均应涵盖在本专利技术的权利要求范围当中。本文档来自技高网...

【技术保护点】
NTFS卷中从指定目录中搜索已删除文件的方法,其特征在于,其包括如下过程:a.用户通过输入设备输入需要恢复文件所在路径;b.分解用户输入的路径得到第一层目录名;c.访问根目录的MFT并遍历其90H属性或AOH属性得到 上述第一层目录的MFT参考号;d.判断是否已经分解到用户所输入路径的最后一层子目录,如果是进入过程g,否则进入过程e;e.进一步分解用户输入的路径得到下一层目录的目录名;f.根据得到的上一层目录的MFT参考号访问其M FT并遍历其90H属性或AOH属性得到过程e中所述下一层目录的MFT参考号,然后进入过程d;g.遍历NTFS卷的$MFT文件中的所有MFT并访问一个删除文件,得到其父目录的MFT参考号;h.判断是否遍历完$MFT文件中的所有 MFT,如果是转入过程k,如果否进入过程i;i.判断该删除文件父目录或者其任意上层目录的MFT参考号是否和过程f中确定的用户选择的最后一层子目录MFT参考号相等,如果是进入过程j,否则返回过程g;j.确定该文件为搜索目标文件 ;k.结束。...

【技术特征摘要】
1.NTFS卷中从指定目录中搜索已删除文件的方法,其特征在于,其包括如下过程a.用户通过输入设备输入需要恢复文件所在路径;b.分解用户输入的路径得到第一层目录名;c.访问根目录的MFT并遍历其90H属性或AOH属性得到上述第一层目录的MFT参考号;d.判断是否已经分解到用户所输入路径的最后一层子目录,如果是进入过程g,否则进入过程e;e.进一步分解用户输入的路径得到下一层目录的目录名;f.根据得到的上一层目录的MFT参考号访问其MFT并遍历其90H属性或AOH属性得到过程e中所述下一层目录的MFT参考号,然后进入过程d;g.遍历NTFS卷的$MFT文件中的所有MFT并访问一个删除文件,得到其父目录的MFT参考号;h.判断是否遍历完$MFT文件中的所有MFT,如果是转入过程k,如果否进入过程i;i.判断该删除文件父...

【专利技术属性】
技术研发人员:涂彦晖
申请(专利权)人:珠海金山软件股份有限公司
类型:发明
国别省市:44[中国|广东]

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

1