NTFS文件系统数据恢复_第1页
NTFS文件系统数据恢复_第2页
NTFS文件系统数据恢复_第3页
NTFS文件系统数据恢复_第4页
NTFS文件系统数据恢复_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第5章 NTFS文件系统数据恢复5.1.1 NTFS5.1.1 NTFS文件系统特点文件系统特点NTFS支持更大的分区NTFS是一个可恢复的文件系统NTFS支持对分区、文件夹和文件的压缩NTFS能够更加有效地管理磁盘空间可以为共享资源、文件夹以及文件设置访问许可权限NTFS文件系统下可以进行磁盘配额管理5.1 NTFS5.1 NTFS文件系统基本介绍文件系统基本介绍NTFS一改前边FAT文件系统的管理规则,将整个磁盘分区上每件事物都看作一个文件,而文件的相关事物又视为一个属性(比如数据属性)。统一按文件方式对磁盘上的一切事务进行管理,使得文件系统数据定位和维护变得很容易。甚至是原FAT系统是承

2、担启动功能的DBR,都成为了Boot文件的一个部分。这些文件在磁盘中的位置相对比较灵活,在对文件进行读写的过程中,当发现磁盘某个扇区有缺陷时,能及时更改存放位置,而不像FAT文件系统那样等磁盘出现坏道以后,文件数据已经丢失。这对文件的安全性有很大的提高。5.1.2 NTFS5.1.2 NTFS文件系统管理思想文件系统管理思想5.2 NTFS5.2 NTFS文件系统总体布局文件系统总体布局需要说明的是:图5-1中的结构只是NTFS文件系统的示意图,并不完全成比例。元文件在图中只体现了一部分,没有画完整,并且除了$BOOT文件之外,其它元文件的位置不是固定的,包括$MFT文件也可以在$MFTMir

3、r文件之后。在NTFS文件系统所在分区的最后一个扇区是DBR的备份,但该扇区并不属于NTFS文件系统。5.3 NTFS5.3 NTFS文件系统的文件系统的DBRDBR分析分析下边我们对此内容进行一下解读:下边我们对此内容进行一下解读:字节偏移(字节)长度常用值意义FAT参数含义0 x0030 xEB5290JMP指令0 x034NTFS文件系统ID0 x0B20 x0002每扇区字节数0 x0D10 x08每簇扇区数0 x0E20 x0000保留扇区第一个FAT开始之前的保留扇区数(ReservedSector)0 x1030 x000000总为010:FAT数(NumberofFAT)11-

4、12:根目录项数(RootEntries)0 x1320 x0000NTFS未使用,为0小扇区数(SmallSector)0 x1510 xF8介质描述0 x1620 x0000总为0每FAT扇区数(SectorsPerFAT)0 x1820 x00每磁道扇区数0 x20 xFF00磁头数0 x40 x000000隐含扇区分区的引导扇区之前的扇区数0 x2040 x00000000NTFS未使用,为0总扇区数(LargeSector)0 x2440 x80008000物理驱动器号(PhysicalDriveNumber)物理驱动器号(PhysicalDriveNumber)/FAT扇区数表表5

5、-1 NTFS卷的卷的BPB参数含义参数含义在NTFS文件系统的元文件中,主文件表($MFT)是一个非常重要的元文件,它由文件记录构成,每个文件记录占用2个扇区。NTFS分区中的每个文件都有一个文件记录,包括元文件本身,主文件表中前16个文件记录是元文件的记录。NTFS文件系统通过$MFT来确定文件在磁盘上的位置并且记录文件的所有属性,系统访问任何文件都必须先访问$MFT。可以认为,MFT承担了FAT文件文件系统中,进行数据组织管理的FAT、FDT所具有的职能,且不仅于此。由于$MFT文件非常重要,为了确保文件系统结构的可靠性,系统为它准备了一个镜像文件($MftMirr),也就是$MFT中的

6、第2个记录。不过这并不是$MFT的完整镜像,而是一个小部分镜像,一般只镜像$MFT中的前四个文件记录。5.45.4主文件表主文件表MFTMFT的分析的分析MFT以文件记录来实现对文件的管理,每个文件记录的大小固定为1KB,也就是占用两个扇区,而不管簇的大小是多少。文件记录在MFT中物理上是连续的,从0开始依次按顺序编号。文件记录由两部分构成:一部分是文件记录头,另一部分是属性列表,其结构见表5-2。5.4.15.4.1文件记录结构文件记录结构图5-3是我们通过另一个很有效的工具DiskExplorer for NTFS所看到的某NTFS卷中$MFT文件记录的构成:文件记录头记录文件的一些最基本

7、的信息,其长度和具体偏移位置的数据含义是不变的。其数据结构如如表5-3所示。5.4.2 5.4.2 文件记录头文件记录头图5-4是通过WINHEX的NTFS文件记录模板看到的某NTFS卷上的$MFT这个文件的文件头所表示的相关信息。通过14-15这两个字节的大小(0 x38),我们知道,该NTFS卷是WindowsXP下产生的,作为MFT中的第一个文件记录项,2C-2F处所记录的文件记录号为0。通过文件记录项的总体结构,我们知道每个文件都有多个不同的文件属性构成。NTFS文件系统中,所有与文件相关的数据均被认为是属性,包括文件的内容。文件记录是一个与文件相对应的文件属性数据库,它记录了文件数据

8、的所有属性。每个文件记录中都有多个属性,它们相对独立,有各自的类型和名称。从一个属性的偏移00H03H的4个字节,为该属性的类型标志,不同的属性其结构和含义各不相同。Windows NT+文件系统中,所有文件记录的属性均使用在元数据文件$AttrDef(文件属性列表)中所预定义的文件属性,具体属性类型及其含义见表5-4。5.4.35.4.3文件记录的属性文件记录的属性在上表所罗列的各种属性中,由于它们所承担的功能不同,里边的内容不同,故内部结构也是不同的的。但每个文件属性都的一个共性:那就是都由一个“属性头”和相应的“属性值”构成。(1 1)常驻属性与非常驻属性)常驻属性与非常驻属性(2 2)

9、属性头)属性头每一个属性都有一个属性头,其包含了一些该属性的重要信息,如属性类型、属性大小、名字及是否为常驻属性等。一个属性根据其是否常驻和是否有属性名,可以排列组合成四种不同的情况,分别为常驻没有属性名、常驻有属性名、非常驻没有属性名、非常驻有属性名,下面分别介绍它们的属性头结构。(3 3)属性值)属性值属性头之后就是属性值,不同文件属性的属性值内容有不同的格式和大小,下面仅对与数据恢复相关的标准信息、文件名属性、数据属性进行介绍。标准信息属性标准信息属性标准信息属性($Standard_Information)的类型值为0 x10,总是常驻。它所说明的是一个文件或者目录的基本元数据、如时间

10、,所有权、安全信息等内容,所有文件都会存在一个标准属性,其各字节的含义见表5-9。文件名属性文件名属性文件名属性($File_Name) 的类型值为0 x30,总是常驻。任何文件和目录在它的MFT项中,都至少有一个文件名属性。该属性用于存储文件名,也包括了文件大小和时间信息。它所提供的另一个重要信息是,父目录索引中的文件名属性参考号,便于文件在MFT中存储路径的准确定位。文件名属性各字节的含义见表5-10。常驻数据属性常驻数据属性数据属性($Data)的类型值为0 x80。每个文件都有数据属性,这个属性容纳的是文件的内容。数据属性的大小没有限制,可以为0字节。每个文件都有一个没有文件名的数据属

11、性。对于一些小的文件,如果文件内容能在MFT中存放,那这一属性会成为常驻属性。常驻80H属性的结构见表5-11。非常驻数据属性非常驻数据属性非常驻的数据属性,其MFT项中的属性内容是一个簇流的列表,由簇流列表说明它真正的数据属性内容存储的位置。簇流列表由一个或多个簇流项组成。最后一个簇流项结束处的下一个字节被设置为0 x00,表示已没有簇流项。第一个簇流项描述第一个簇流的位置偏移时是相对于文件系统的起始处而言,自第一个簇流项之后的所有后续簇流项所描述的后续簇流位置信息,均是相对于前一个簇流的起始位置而言的。5.5.1 5.5.1 文件删除前的底层分析文件删除前的底层分析现在以NTFS分区中的两

12、个文件“huayi.jp”和“sjhf.txt”为例,讲解文件的各部分结构,文件如图5-11所示。Huayi.jpg是一个图片文件,打开该文件其画面如图5-12所示。5.5 NTFS5.5 NTFS文件系统删除文件的分析文件系统删除文件的分析该文件在NTFS文件系统中由文件记录进行管理,文件记录占用2个扇区,其文件记录的第一个扇区的内容如图5-13所示。从80H属性可以看出,偏移08H的值为“01”说明该属性是非常驻属性,偏移30H37H的值为“2D 9F 00 00 00 00 00 00”说明文件大小为9F2DH(十进制值为40749)字节;偏移40H47H的值为“31 50 C3 ED

13、02 00 01 00”说明该文件的Run List中只有一个数据流,所以文件是连续存储的,数据的开始簇号为02ED50H(十进制值为191939),用WinHex跳转到191939号簇,其内容如图5-16所示。从191939号簇所在扇区开始,往后连续的40749字节(“huayi.jpg”文件的大小),就是这个文件的所有数据。现在再以NTFS分区中的另一文件“sjhf.txt”为例,讲解文件的各部分结构。这是一个文本文件,打开后内容如图5-17所示。文件的数据是由80H属性管理的,文件“sjhf.txt”的80H属性如图5-19所示。从80H属性中可以看出文件“sjhf.txt”的属性体是常

14、驻的,属性体开始于该属性的18H偏移处,属性体的大小为0120H(十进制值为288)字节,“FF FF FF FF”为文件记录的结束标志,在此也是80H属性的结束标志。因为80H属性为数据属性,所以其属性体就是这个文件的数据。注意:文件“sjhf.txt”的数据直接放在80H属性体中,而文件“huayi.jpg”的数据则放在一个Run List数据流当中。为了了解文件删除后恢复的方法,先从文件系统级别了解一下文件删除时在NTFS文件系统中发生的变化。首先讲文件“huayi.jpg”彻底删除,删除后其文件记录如图5-21所示。5.5.2 5.5.2 文件删除后的底层分析文件删除后的底层分析从图5

15、-21中可以看出文件“huayi.jpg”的文件记录的状态字节已经由01 00(文件在使用中)变为00 00(文件被删除),而30H属性中的文件名、80H属性中的文件大小、Run List等重要信息没有任何变化。根据Run List中的信息,跳转到文件“huayi.jpg”的开始位置191939号簇,其内容如图5-22所示。从图5-22中可以看出,“huayi.jpg”文件的数据区的内容没有任何变化。下面我们再来看看文件“sjhf.txt”的删除过程。首先将文件“huayi.jpg”彻底删除。删除后其文件记录如图5-23和图5-24所示。从图5-23和图5-24中可以看出文件“sjhf.txt

16、”的文件记录的状态字节已经由01 00(文件在使用中)变为00 00(文件被删除),而30H属性中的文件名、80H属性中的属性头、属性体等重要信息没有任何变化。首先,新建一个文本文档,内容为huayi.jpg,然后将该文件另存为Unicode编码类型的文件,文件名任意。具体如图5-25所示。5.2.3 5.2.3 文件删除后的恢复文件删除后的恢复用Winhex打开“新建文本文档.txt”,得到待恢复文件名的十六进制。如图5-26所示。注意:偏移00H01H这两个字节(值为FF FE)不是文件名的十六进制数据而是固定的标识信息,具体的文件名十六进制为:680075006100790069002E

17、006A0070006700。然后,在WinHex中从分区开始位置往后搜索十六进制“680075006100790069002E006A0070006700”,直至找到待恢复文件的文件记录。识别搜索结果是否是待恢复文件的文件记录主要根据文件记录的标识“46 49 4C 45”和文件记录的30H属性,也就是待恢复的文件的文件名文件,具体如图5-27和图5-28所示。最后,根据文件记录的80H属性定位文件数据区,如图5-28所示,文件“huayi.jpg”的起始簇号为191939,文件大小为40749个字节。将文件数据区的内容全部选中,并另存为一个新的文件,如图5-29所示。将该文件的数据区中这些

18、十六进制值保存到D盘根目录下,并命名为“123.jpg”。保存后在D盘根目录下可以看到“123.jpg”文件,如图5-30所示。很明显,这个文件的画面就是被删除的“huayi.jpg”文件。以上的过程就是80H属性为非常驻的文件被删除后的恢复过程。80H属性为常驻的文件(例如“sjhf.txt”文件)删除后的恢复更为简单,我们只需要在第二步找到文件的文件记录,然后把80H属性的属性体选中复制到一个新的文件即可。5.6.15.6.1格式化的底层分析格式化的底层分析格式化就是给分区创建一个文件系统。首先看一个有数据的NTFS分区,然后将其格式化,并分析格式化后原来数据的改变。图5-32是一个NTF

19、S分区“I”中的数据,分区内有一个文件夹“123”和一个文件“数据恢复透明解析.pdf”。5.6 NTFS5.6 NTFS文件系统误格式化的分析文件系统误格式化的分析文件夹“123”下有三个jpg文件,如图5-33所示。以文件“1.jpg”为例,分析这个文件的结构。文件“1.jpg”的文件记录如图5-34所示。根据文件记录中的80H属性,可以看出这是一个非常驻属性,从Run List中可以看出文件开始于191939簇,跳转到191939号簇找到文件的内容,如图5-35所示。其它文件的结构这里就不一一讲述了,现在将这个NTFS分区“I”格式化,如图5-36所示。格式化后再来看这个分区的MFT文件

20、,发现所有文件的文件记录都在,内容也完好,图5-37是“1.jpg”的文件记录。根据Run List跳转到191939号簇,看到数据也完好,如图5-38所示。从前面的分析可以看出,NTFS文件系统格式化后,MFT中还遗留着格式化之前的文件记录,而只要文件记录还在,数据恢复就非常简单了,而如果文件记录被破坏了,文件的恢复就相对困难了。分区格式化后,只要找到原来文件的文件记录,利用80H属性中的Run List就可以找到数据并恢复,不管文件是否连续存放。具体做法同5.2.3文件删除后的恢复,这里就不在演示。5.6.2 5.6.2 格式化后文件的恢复格式化后文件的恢复一个NTFS分区“I”双击打开时

21、出现如图5-36所示的提示信息。一般情况下,用户会选择“是”,格式化分区,带来的后果是分区下的文件全部丢失,这时用户想要得到原来的文件只能采取分区格式化后的恢复方法,此方法相对复杂,且不能100%恢复。而实际上出现此种提示,绝大多数情况下是由于DBR遭到破坏引起的,此时我们应该点“否”,然后重构DBR。5.7 NTFS5.7 NTFS文件系统文件系统DBRDBR手工重建实手工重建实例例用WinHex打开分区“I”,出现类似如图5-37所示的信息,可以判定DBR一定有错误。此时,我们只能用WinHex打开分区所在的硬盘,然后跳转到“I”盘的DBR扇区,DBR扇区如图5-38所示。从图5-38中我

22、们可以看出“I”盘的DBR扇区已经被完全破坏,而DBR是分区的引导扇区,所以分区无法正常打开。下面我们来修复DBR扇区。首先考虑到NTFS分区的DBR有一个备份,且备份的位置固定,就在分区的最后一个扇区。如果DBR的备份扇区没有被破坏,我们直接把这个扇区复制、粘帖到分区的0扇区也就是DBR所在扇区即可。而且,通常情况下,NTFS分区的DBR备份被破坏的概率是比较小的,但也不能完全排除被破坏的可能。因此,下面我们就假设DBR及DBR的备份扇区都遭到了破坏,然后采取手工重建的方法来修复DBR扇区。手工重建NTFS文件系统DBR的方法与手工重建FAT文件系统DBR的方法类似,都是从同一个文件系统类型

23、的分区中复制一个DBR,然后再对BPB参数进行修改。我们将另外一个正常访问的NTFS分区“H”盘的DBR复制到J盘DBR所在的扇区,覆盖原来的数据,如图5-39所示。因为同样是NTFS文件系统的DBR扇区,所以大部分BPB参数的值都是一样的,只有个别参数的值可能不一样,需要修改,这几个参数是:每簇扇区数(Sectors per cluster)、隐藏扇区数(Hidden sectors)、分区扇区总数(Total Sectors)、$MFT起始簇号(Start C#$MFT)、$MFTMirr起始簇号(Start C#$MFTMirr)、文件记录的大小描述(FILE record size i

24、ndicator)、索引缓冲区的大小描述(INDX buffer size indicator),下面对这些值进行验证并修改。第第1 1步步 验证“隐藏扇区数”隐藏扇区数就是分区的相对开始扇区号。如果硬盘的分区表没有被破坏,这个参数可以从分区表中查看。现在“I”盘的分区表并没有被破坏,“I”盘是硬盘上的第二个主分区,用分区表模板查看硬盘分区表,如图5-41所示。从模板中我们可以看出“隐藏扇区数”为4305420。第第2 2步步 验证“扇区总数”扇区总数也可以从分区表中看到,查看图5-41所示的分区表模版,该值为1847475。因为“I”盘是NTFS分区,所以DBR中记录的扇区总数要比分区表中记

25、录的少一个扇区,“扇区总数”应该为1847474。第第3 3步步 验证“$MFT起始簇号”$MFT起始簇号可以通过搜索文件记录的方法获得,搜索文件记录的具体方法是搜索文件记录的头标志“46 49 4C 45”,如图5-42所示。通过搜索我们找到一个文件记录后,再观察其30H属性,验证其文件名是否是$MFT,一般我们搜索到的第一个文件记录就是$MFT自身的文件记录,如图5-43所示。$MFT的文件记录中的80H属性通过Run List描述$MFT文件的开始簇号。当前值为“04 B2 C8”,换算为十进制值为307912,所以$MFT起始簇号为307912簇。第第4 4步步 验证$MFTMirr起始簇号上一步通过搜索找到了$MFT的文件记录,该记录的下一个记录就是$MFTMirr的文件记录了,从$MFTMirr文件记录的80H属性中就能查看到$MFTMirr起始簇号。$MFTMirr的文件记录如图5-44所示。$MFTMirr的文件记录中80H属性显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论