首页 > 范文大全 > 正文

浅谈Windows NTFS下的数据恢复

开篇:润墨网以专业的文秘视角,为您筛选了一篇浅谈Windows NTFS下的数据恢复范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:对于依靠电脑办公的工作者来说,经常会遇到主观或者非主观原因造成的丢失数据的情况,一旦丢失关键数据对工作造成的影响是无法估量的,因此本文提出一种windows ntfs格式下文件数据恢复的解决方案,同过对NTFS格式下主文件表、文件存储结构等关键属性进行分析,阐述了数据恢复的实际运用情况。

关键词:NTFS格式 主文件表 数据恢复

中图分类号:TP309.3 文献标识码:A 文章编号:1007-9416(2013)07-0227-01

引言

在信息高速发展的当代,计算机在大众的工组生活中扮演的角色越来越重要,几乎所有的企事业单位、商业组织、普通个人都使用计算来来辅助工作,获取处理信息,同时也会将随之产生的数据存储在计算机硬盘中,一旦发生数据丢失,如何能够对数据恢复是非常重要的,这就使得数据恢复技术成为一个不可或缺的关键技术。

当前,微软公司的Windows操作系统在计算中操作系统中占据了多数份额,其文件系统广泛应用的是NTFS文件系统。因此本文就针对NTFS文件系统下的数据恢复进行分析。

1 NTFS文件系统的磁盘分析

簇是NTFS文件系统的基本分配单位,簇的大小是在对硬盘进行格式化过程中由程序自动分配的,NTFS文件系统通过逻辑簇号LCN和虚拟簇号VCN对簇进行定位。LCN从0开始对卷中的所有簇顺序编号,VCN也是从0开始,负责对属于具体文件的簇顺序编号,从而实现对文件数据的引用。

(1)NTFS分区由两部分构成,一是分区引导扇区和主文件表MFT,二是供文件存储的区域,MFT占据了NTFS磁盘空间前12%位置,剩下的88%的区域才可以用来存储文件。当MFT分配的空间不够使用时,系统会继续为其分配空间,但是不一定与开始12%的空间保持连续性。

(2)分区引导扇区是用来保存卷文件的结构信息和引导程序的,其中包括三个重要参数:起始簇号、每簇所占扇区数、每扇区字节数。

(3)主文件表MFT是由文件记录组成,文件在磁盘上的存储位置是通过MFT来确定的。MFT中从0开始对文件进行编号,前16分配给系统文件,这16个文件在MFT表中具有固定的地址,其他文件地址则由MFT随机分配。为防止关键数据丢失,NTFS系统对MFT的前16个文件数据进行了备份。

2 基于NTFS文件系统的数据恢复原理

NTFS文件系统的管理模式是磁盘上所有的数据都是以文件的形式进行存储,MFT记录了每一个文件的存储位置,每建立一个文件,MFT就增加一个文件记录,此文件记录并不随着文件被删了而被MFT删除。在数据恢复时可以对文件记录进行分析,确认其是否被删除。

(1)分析MFT文件记录,NTFS建立属性/属性值的集合来处理文件,能够直接存在MFT中的属性称为常驻属性;如果属性太大,NTFS就会将其存储在MFT之外的位置,这就是非常驻属性。

(2)文件记录起始位置,文件记录从“FILE”开始,其字位为“46 49 4C 45”,标志字节是自偏移0x16,删除的文件为00H,正常的文件为01H,删除的目录为02H,正的目录为03H表示;偏移0x2CH起的4个字节表示了文件号的低32位。

(3)分析文件名属性,文件名属性用于存储文件名,类型为0x30是常驻属性,数据恢复时必须获取文件名。

(4)分析数据流属性,其类型为0x80的常驻属性,包含了其属性常驻的标识位、起始与结束VCN等方面内容。如果数据值存储在MFT中,可以直接在文件记录中对数据操作;数据运行列表中记录了各数据块的起始运行LCN和以及所占用的簇数,从而可以通过定位对文件的数据进行操作。

3 NTFS文件系统下数据恢复步骤

结合前文的研究,NTFS文件系统中,文件被错误删除,系统就会将文件记录的标志字修改为00/02H,而其它的属性不做修改。基于以上知识NTFS文件系统下数通过对主文件表MFT进行扫描;确定被删除文件的记录并对其进行分析,进而得到文件的数据区。最后判断文件数据区的完整性就可以选择是否对已删除文件进行数据恢复。可将数据恢复的过程分为磁盘扫描和数据恢复两个阶段。

3.1 磁盘扫描

磁盘扫描的工作主要是通过分析MFT中的文件记录,得到全部已删除文件的文件记录,重新建立起初始的目录关系,便于数据恢复使用。磁盘扫描的具体步骤如下:(1)读取要恢复数据磁盘引导扇区的BPB参数;(2)找到NTFS格式分区中的MFT;(3)取得被删除文件其文件记录的存贮物理地址。

3.2 数据恢复

文件被删除以后如果可以确定文件的数据区完整,未被新的数据覆盖,那么此文件就可以完全恢复;否则,一旦文件的数据区域被新的文件占用,那么这个文件就无法完全恢复。

数据恢复的具体步骤为:(1)在数组里面读出要恢复的文件其物理存储地址,同过对数据流属性的分析,确认其属性是否常驻;(2)通过对元数据文件bitmap进行分析进而判断文件数据区是否完整;(3)对被删除文件进行恢复,如果能恢复完整的文件,则需要重新建立文件并按照逐一字位恢复的顺序对其进行存储;如果不能恢复完整的数据,则用户就可根据自己的要求,有选择性的对数据区域进行还原。

4 实际检验

按照前文的分析,笔者采用采用了当下比较流行的数据恢复工具Recuva,进行实际测试。结果证实了前文所分析的内容,当能从获得准确的MFT中文件存储的记录,并且未在被删除文件数据区域内存储新文件时候,其恢复数据的完整性非常好,实际证明了与原数据的一致性,实验证明了前文所分析理论的正确性。

5 结语

本文同过分析了NTFS文件系统中MFT、文件记录等内容,找出文件被删除后文件记录的变化,进而总结NTFS文件系统中数据恢复的操作方法及步骤,对今后需要进行数据恢复工作的读者提供了一定的理论支持。相信随着数据恢复工具的不断发展,数据恢复工作将越来越贴近于大众。

参考文献

[1]戴士剑,涂彦晖.数据恢复技术.北京:电子工业出版社,2005.