Windows NTFS下数据恢复的研究

2019-09-10 10:59李林蔚
信息技术时代·上旬刊 2019年2期
关键词:数据恢复

李林蔚

摘要:本篇文章通过对NTFS文件系统的论述,分析了储存在NTFS文件系统的结构以及存储机制,提供了常驻文件以及非常驻文件的数据恢复的思路,对丢失数据的恢复工作提供了一定的借鉴作用。

关键词:数据恢复;文件系统;数据运行

引言

近年来,随着科学技术的不断发展,也推动了计算机信息技术的快速发展。人们在日常生活和工作中也越来越依赖计算机。不论是企业、个人还是政府机关单位,现在也都是依靠计算机来进行数据信息的接受和处理,同时对于重要的数据信息也都是保存在计算机中。和传统的数据处理相比,利用计算机来进行数据处理,可大大降低相关工作人员的劳动强度,提高数据处理工作的工作效率,是数据处理工作变的更简单快捷。而将重要数据保存在计算机中,如果计算机硬件或者软件因某些原因导致数据信息丢失,那么如何快速地将计算机丢失的数据信息恢复将成为计算机技术中的重要问题。如何快速恢复丢失的数据信息,无论是对企业、个人还是政府机关单位来说都是十分重要的问题。现在,在人们使用的电脑当中,绝大多数用户使用的还是windows的操作系统。其中windows操作系统中主要使用和发展的文件处理系统是NTFS文件系统,本篇文章主要叙述了NTFS文件系统中文件删除和恢复的方法和原理。

一、NTFS磁盘分析

在windows操作系统中的NTFS的文件系统都是按照簇来进行文件存取的分配,对于一个簇来说,在使用格式化程序时由格式化程序根据卷的大小的自动分配决定着簇的大小,还要是2的整数次方。在NTFS文件系统中,按照簇的定位还可以将簇分为逻辑簇号以及虚拟簇号两种。而对于逻辑簇号来说,指的是对卷中所有的簇按照顺序进行从前到后的排列,并且起始的逻辑簇号是0;对于虚拟簇号来说,指的是对具体文件的簇按照先后顺序进行编号,这样的编号方式也便于對文件中的数据进行引用,同样虚拟簇号也是从0开始编号。

1.1NTFS分区的磁盘空间分配

对于NTFS文件系统来说,共有两大部分共同组成了NTFS的系统分区。其中一部分指的就是分区引导扇区以及主文件表;另外一部分指的就是文件的储存区域,同时在文件储存区域的中间位置储存的正是主文件表中的前四个或者更多的元数据文件的备份。在NTFS文件系统中,为了保证主文件表中的元文件的连续性,NTFS文件系统会把整个磁盘空间的前12%分配给主文件表,并且主文件表对这12%的磁盘空间享有独占权,而剩下的88%的系统空间才被用来储存文件。根据相关研究表明,随着计算机的长时间使用,文件数量也会随之增加,最终出现主文件表的分区空间不够使用的情况。在这种情况下,NTFS文件系统会分配另外一个空间来供主文件表使用。而对于这些空间区域的逻辑位置上,在整个储存空间上是连续的,而在物理地址在空间则不一定是连续的。而对于确定主文件表区域的物理地址对磁盘空间的扫描来说是非常重要的。

1.2分区引导扇区

分区引导扇区保存的是有关卷文件结构的信息以及启动引导的程序,其中主要的是关于BPB的参数表。而对于BPB表来中的参数来说,主要是在建立文件系统由操作系统自动生成的一组参数。同时在对丢失数据进行恢复时还要用到相关的BPB参数,其中有主文件表区域的起始簇号。

1.3主文件表

在windows操作系统中的NTFS文件系统的核心就是主文件表,电脑中的文件应该在什么位置储存都是由主文件表来决定的。对于主文件表来说,它指的就是由多个系列文件记录组成的对应的数据库,同时主文件表也有其自身的文件需要记录。而每个文件记录的大小都为1kb。在主文件表中从0开始编号来完成文件的记录工作,而编号为前16的文件被称之为系统文件,同时也可以叫做元文件,这些被用来储存系统的元数据。同时这些编号在前16的系统文件都以“$”开头来命名,并且这些也都是隐藏文件。在NTFS文件系统中的主文件表中唯一有固定位置的就是这些元文件。并且这些元数据文件在系统中也有着十分重要的作用,因此为了防止这些元数据文件的丢失,NTFS文件系统都会将它们备份并保存在文件储存的中部。在NTFS文件系统中上簇的使用情况都被保存在这个位图文件中,同时为了容易区分出每一簇的使用情况,一般是将每一位代表着卷中的每一簇。同时在数据进行恢复时,也需要运用到被第七记录的位图文件“$”bitmap来判断文件数据区的完整性。在NTFS文件系统卷上都有一个并且是唯一的被称之为文件引用号的标示。而对于文件引用号来说,其都是由文件号以及文件顺序号这两部分组成,其中文件号是用来表示该文件的主文件表的位置信息。

二、NTFS文件系统下数据恢复的研究

在NTFS文件系统中,其原理就是将磁盘上的所有数据看作文件来处理,同时每一个数据文件在主文件表都有记录。通过相关研究表明,一般情况下每个文件在创建时,主文件表都会为其自动生成一个文件记录。而该文件在被删除时,主文件表所生成的文件记录并没有被删除。根据这一点,在对文件进行恢复的过程中,一般也是通过分析文件记录以及记录的属性,来判断文件是否被删除,同时也是根据这点来获取被删除文件进行恢复时所需要的文件信息。

2.1MFT文件记录分析

在NTFS文件系统中,一般是将文件作为属性或者属性值的集合来进行处理。当属性值可以被放在文件记录中时,被称之为常驻属性。而当属性因为太大不能被存储到主文件表中时,NTFS文件系统一般是将主文件表之外的储存空间来进行储存。而对于只储存在运行空间的属性称之为非常驻属性。

2.2文件名属性分析

按照上述分析,文件名属性是被用来储存文件名,同时也是常驻属性。NTFS文件系统几乎不会限制文件命名,但是为了同时支持旧版本的应用程序,NTFS文件系统会为每一个和dos不兼容的文件名提供一个和dos兼容的文件名。因此,当命名的文件名和dos不兼容时,在系统的文件记录中会同时出现两个文件名属性。这两个文件名属性分别是记录完整文件名的属性以及记录与dos兼容的文件名属性。在进行数据恢复时,需要获取的也是完整的文件名。

2.3数据流属性分析

对于数据流属性来说,其中包含了该属性的起始和结束的VCN、数据运行的偏移以及是否为常驻属性的标识位等信息。按照上述分析,如果标识位的数值为0,那么将表示该数据就储存在主文件表的文件记录中,同时对该数据的操作可以直接在文件记录中来完成,也表示该数据属性为常驻属性。如果标识位的数值信息为1,那么将表示该数据储存在运行中,也表示该数据属性为非常驻属性,同时也可以根据该数据运行的偏移情况来分析出该数据的运行列表。而在数据列表中也可以详细了解到每一组数据运行的起始LCN以及该数据运行过程中所占据的簇数,这样一来便可定位每一个数据的运行情况。

三、NTFS文件系统下数据恢复的实现

根据上述的分析,在NTFS文件系统中,当文件被删除之后,文件系统需要做的就是在文件记录的头部中将标志字设置为00/02H,同时不改变文件记录的其他属性信息。而对于有运行的文件,文件系统在文件被删除后,在改变数据运行内容的前提下,回收文件在运行时所占据的空间,在这个过程中,只是将数据运行所占据的簇在文件中对应的为重置为0.同时根据这些,NTFS文件系统在进行数据恢复时,相关人员也提出了相应的算法:首先是扫描主文件表,从而查找所删除文件的文件记录,然后对文件记录进行分析,从而确定文件运行的数据区,最后是对文件的数据区进行完整性的判断。因此也可以将数据恢复的工作分为磁盘扫描阶段和数据恢复阶段。

3.1磁盘扫描阶段

在磁盘扫描阶段,主要做的就是扫描整个主文件表,找出被删除文件的文件记录。然后根据找到的BPB参数,移动到主文件表中的起始地方,在读取第一个元文件的同时,对文件记录中的数据流属性进行分析,以此找出主文件表中的所有运行。同时因为主文件表区域中又存在着一些不连续性,所以在查找整个磁盘上的删除文件时最重要的就是确定文件系统中的主文件表的位置。

3.2数据恢复阶段

在数据删除后,如果有的文件有数据运行,而在文件原来的数据區上会出现以下情况。当数据区完好时,被删除的文件可以被全部恢复;而对于数据区被其他文件分配使用时,文件就不能被全部恢复。

结语

随着信息技术的不断发展,在数据被删除后的恢复工作也越来越受到人们的关注。对于数据的保存工作,人们既要提前做好备份工作,还要在发生数据丢失时,能及时进行数据恢复。能掌握一项完善的数据恢复技术也能在重要数据被删除时,尽量降低因数据丢失带来的重大损失。

参考文献

[1]陈培德,王丽清,吴建平.NTFS被快速格式化成NTFS后数据恢复的研究[J].计算机技术与发展,2018,28(08):191-195.

[2]万超.数据恢复技术在数据恢复取证中的应用研究[J].福建电脑,2017,33(01):114-115+158.

[3]刘俊.WINDOWS系统下基于底层数据分析的数据恢复研究[J].深圳信息职业技术学院学报,2015,13(03):27-32.

猜你喜欢
数据恢复
常见硬盘数据丢失的分析与恢复
浅议数据安全与恢复
基于Android—x86的windows恢复系统研究与设计
Windows操作平台下的数据恢复技术
Redis基于RDB+AOF的数据恢复策略研究
浅析数据恢复技术
数据备份技术
Windows下数据恢复的一点认识
服务器数据备份和恢复研究
浅谈计算机数据恢复