APP下载

一种NTFS硬盘数据恢复新技术设计分析

2014-09-21

长春大学学报 2014年6期
关键词:格式化扇区硬盘

吴 琪

(吉林警察学院 信息工程系,长春 130117)

0 引言

在信息大爆炸的当代,计算机在人们日常生活工作当中扮演的角色越来越重要,几乎所有的企事业单位、普通个人都使用计算机处理信息,辅助日常的生活工作,同时也会将需要的数据信息存储到计算机的硬盘当中。但是,一旦发生了意外的状况,造成了数据的丢失,可能会对企业个人造成不可估量的损失。因此,如何进行有效的数据恢复是非常重要的,这就使得数据恢复技术成为一个不可或缺的关键的技术。目前市场上的计算机操作系统多数是微软的Windows,其文件系统广泛使用的是NTFS文件,本文就着重分析了NTFS数据恢复技术。

1 数据损坏的原因

计算机当中数据损害的原因有很多,通常分为硬故障和软故障两个原因。硬故障是指硬盘受到自然灾害或者是人为的因素受到实质性的物理损伤导致数据无法正确的读取。比如说硬盘的读写磁头受到剧烈震动后遭到损坏,电路的主板烧毁,硬盘上的物理通道损坏等等。软故障是指硬盘的物理性能完好,但是由于用户的误操作或者病毒入侵等等造成了丢失数据。比如,由于错误操作格式化硬盘,误拷贝数据覆盖原来数据,意外的电磁干扰,意外中了木马病毒或者黑客非法入侵等等,造成操作系统没办法正常的启动,找不到需要的文件或者文件打开是乱码或者硬盘的没有分区甚至分区瘫痪等错误。

2 NTFS文件介绍

微软当前的文件系统有FAT和NTFS两种,FAT又可分为FAT12、FAT16、FAT32三种文件类型,这三种文件结构当中只有FAT32支持大于2GB的分区,最大可达到4GB。但是随着文件信息量的增多,4GB已经远远不能满足当前的需要,NTFS由此产生。NTFS文件系统是伴随着微软的Windows NT操作系统而产生的,NTFS分区主要有引导扇区、系统文件、主文件表、文件存储区域4个部分组成。它具有极为出色的安全稳定性能,在使用的过程当中不像FAT那样容易产生碎片,并且NTFS还提供容错日志。由于NTFS支持的文件可以达到64GB,目前已经能够满足人们的日常的需要。

2.1 NTFS的存储结构

NFFS的结构是按照簇分配来存取文件的,每个簇都是物理扇区的整数倍数,为2的整数次方,格式化程序依据卷的大小自动分配簇的大小。NTFS主要是采用虚拟簇号和逻辑簇号来进行簇的定位,使用逻辑符号对簇按照一定的顺序来编号,然后将卷因子乘上逻辑簇号,这样就能够得到字节的偏移量,然后根据偏移量能够得到物理磁盘的地址。虚拟簇号主要对特定的文件进行编号,方便对其进行引用。

2.2 分区引导扇区

分区引导扇区对于操作系统而言至关重要,启动引导程序和结构的信息都存在该地方。操作系统在建立文件系统的时候,会生成BPB参数,参数当中记录了簇扇区数目、文件的系统标识等NTFS的关键的信息,并且以文件形式存储这些数据。

2.3 主文件表MFT

NTFS当中的重要核心就是主文件表MTF,MFT可以确定文件在磁盘当中的存储地址,主文件表是由一系列的文件记录组成的,记录了与之对应的数据库。每个文件都有相应的文件记录,其中第一个文件记录是最基本的文件,扩展文件的重要的信息就存储在其中。

2.4 NTFS文件属性

NTFS文件属性分为非常驻属性和常驻属性。文件记录当中存储的属性值就是常驻属性,存储在文件记录之外的就是非常驻属性。属性类型包含了属性头的前4个字节,其中包含了文件的创建时间、修改时间、文件名等等信息。

3 NTFS硬盘数据恢复程序设计

3.1 NTFS下数据恢复方案

当用户对NTFS采用高级格式化的方式格式化时,计算机格式化程序会进行自动删除操作,但是并没有完全删除保存在根目录的索引信息,并且在MFT当中详尽记录了删除的信息。如果没有对硬盘进行数据覆盖,对硬盘上数据恢复的话,,那么能够恢复的可能性是十分大的。但是如果用户对NTFS进行的是低级格式化,格式化的程序会填充改卷的数据,此时进行数据的恢复就会比较困难。幸好,现在Windouws操作系统主要采用的是高级格式化,具体主要体现在如下几个方面:

3.1.1 获得文件的数据属性和名字

作为主控文件的MFT,记录了NTFS文件系统当中文件的所有属性和文件的存储位置。MFT则被存放在了约占12%磁盘存储空间的MFT区域空间当中。因此,如果找到了MFT区域的起始位置,那么便能够找到所有的MFT,从而获得所有文件的文件属性和数据属性。

3.1.2 获取MFT的起始的位置

若格式化硬盘后仍然使用MTFS系统,可以通过BPB参数可以快速找到MFT区域的起始位置。如果换成FAT32文件系统,需要从第16扇区开始扫描MFT。因为MFT前16项存储了数据文件,后面的才开始建立文件夹的MFT。所以,此时从16扇区开始扫描。

3.1.3 生成目录截点

在恢复数据的过程当中,需要找到每个文件对应的目录名称,用来恢复数据。如果是在30H属性当中偏移18H的地方,那么可以轻易的找到文件的参考号。如果找不到有关文件的目录信息,那么可以将根目录的名称设置成父目录的形式,然后继续寻找有关的信息。

图1 整体的恢复流程图

3.1.4 重构目录树

NTFS格式中的目录结构通常情况是以B+的结构出现的。整个树目录是由子节点定位数据组成,树目录的定位信息被保持在了由索引分配的属性当中,因此只要找到这些定位信息就能够重新构建目录树。重构目录树主要是利用MFT的文件编号结合父目录,查找到相应的数据信息来进行的。

3.1.5 数据恢复操作

查找到数据信息之后,在存储位置建立一个文件目录,文件目录需要和上述信息对应,等物理地址读取完成后,判断文件的数据属性。如果为非常驻属性,需要从头到尾读取运行的数据,然后重新写入。如果是常驻属性,则仅仅需要将数据重新定义到文件当中。

方案的设计思想:恢复Windows NTFS下格式化了的数据的程序设计原理,分为以下的步骤,首先获得文件的MFT的初始的位置,然后再架构出文件系统的目录树,然后读取出存在目录树当中的地址,根据地址查找出详细的数据,最后将数据写入到新的文件当中,从而完成数据恢复的工作。其整体的恢复流程图如图1所示。

3.2 恢复程序当中的主要的数据结构

3.2.1 DBR结构

3.2.2 文件存储链中一项结构

4 结语

本文详细的分析了NTFS文件系统的结构和存储数据的结构,重点分析研究了NTFS的系统的主文件表以及其他的关键的特性,然后提出了恢复数据的方法。需要提醒的是,并不是所有的数据在丢失之后都能够恢复的,需要在保证数据安全的前提条件之下,及时备份重要文件。当删除数据后,应该尽量的避免进行新的存储操作,减少原来的数据被覆盖的可能性,从而提高数据恢复的概率。

[1]杜江,王石东.计算机取证中的数据恢复技术研究[J].重庆邮电大学学报:自然科学版,2010(10):683-687.

[2]向科峰.基于NTFS格式的数据恢复关键技术研究[J].长春理工大学学报,2011(3):183-184.

[3]赵双峰,费金龙,刘楠,武东英.Windows NTFS下数据恢复的研究与实现[J].计算机工程与设计,2008(1):306-308.

[4]降岩.计算机取证中关键技术研究[M].上海:上海交通大学,2010.

[5]张娜,冯云鹏.Windows FAT32和NTFS下的数据恢复研究[J].信息技术,2010(5):162-164.

[6]翁盛鑫,吴泊翰,谢邦铁.数据恢复关键技术与实战指南[M].北京:电子工业出版社,2012.

猜你喜欢

格式化扇区硬盘
分阶段调整增加扇区通行能力策略
现代人守则:昏死之前请把手机格式化
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
管制扇区复杂网络特性与抗毁性分析
U盘故障排除经验谈
格式化
基于贝叶斯估计的短时空域扇区交通流量预测
我区电视台对硬盘播出系统的应用