




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 NTFS文件系统 第第3章章 NTFS文件系统文件系统 3.1 NTFS基础知识 3.2 NTFS和FAT比较 3.3 NTFS下的数据恢复 思考题 第3章 NTFS文件系统 Windows NT文件系统(即NTFS)提供了FAT文件系统所没有的性能、可靠性和兼容性。NTFS设计上能够快速实现标准的文件操作,例如读写和查询,它甚至实现了在超大容量硬盘上的文件系统恢复操作。用NTFS文件系统格式化一个卷(分区)后,就生成几个系统文件和主文件表 (Master File Table,MFT),MFT包含了NTFS卷上所有文件和文件夹的信息。NTFS卷开头包含的信息是分区引导记录,始于0扇,
2、最大长度为16个扇区。NTFS卷的第一个文件是MFT。格式化后,NTFS卷的布局如图3-1所示。第3章 NTFS文件系统 图3-1 已格式化的NTFS卷第3章 NTFS文件系统 3.1 NTFS基础知识基础知识NTFS文件系统包含了公司环境中的文件服务器和高端个人计算机所要求的安全特性。 NTFS文件系统同样支持数据访问控制和对关键性数据很重要的所有者权限。不仅一个Windows NT机器上共享的文件夹可以赋予特定的许可,NTFS 卷的文件和文件夹也可以赋予各种许可,而不论它们是否是共享的。NTFS 是Windows NT 上唯一可以对单个文件赋予权限的文件系统。第3章 NTFS文件系统 NT
3、FS文件系统有一个简单而又强大的设计思想。简言之,卷上的所有东西都是一个文件,所有东西都是文件的一个属性,有数据属性、安全属性、文件名属性等。NTFS卷上分配的每个扇区属于某个文件,甚至文件系统元数据(即描述文件系统自身的信息)也是一个文件的部分。第3章 NTFS文件系统 1加密技术加密技术加密文件系统(EFS)提供了核心的用于在NTFS卷上保存加密文件的文件加密技术。EFS保证了文件的安全,使之免受入侵者对已保存的敏感数据进行未授权的物理访问(如通过便携式电脑或外部磁盘窃取信息)。2磁盘配额磁盘配额Windows 2000中对NTFS卷支持磁盘配额,用户可以通过磁盘配额监视和限制磁盘空间的使
4、用。第3章 NTFS文件系统 3重解析点重解析点重解析点(Reparse Points)是NTFS中新的用于文件或文件夹的文件系统对象。一个包含重解析点的文件或文件夹拥有此前的文件系统所没有的附加行为。重解析点用于Windows 2000中新的存储特性的很多方面,包括卷挂载点。 4卷挂载点卷挂载点卷挂载点(Volume Mount Points)是NTFS的新特点。基于重解析点,卷挂载点允许管理员将对一个本地卷的根的访问移植成对另一个本地卷的某个文件夹的访问。第3章 NTFS文件系统 5稀疏文件稀疏文件稀疏文件(Sparse Files)允许程序生成很大的文件,但在必要的时候会消耗磁盘空间。6
5、分布式链接跟踪分布式链接跟踪NTFS提供了一项链接跟踪(link-tracking)服务,即分布式链接跟踪(Distributed Link Tracking),用于维护文件快捷方式的完整性,类似于复合文档中的OLE链接。第3章 NTFS文件系统 3.1.1 NTFS的的DBR表3-1描述了格式化成NTFS卷的引导扇区。当格式化一个NTFS卷时,格式化程序分配开始的16个扇区给引导扇区和自举代码。第3章 NTFS文件系统 表3-1 NTFS的引导扇区第3章 NTFS文件系统 在NTFS卷上,BPB后面的数据字段构成扩展BPB。启动过程中,这些字段中的数据可以使NTLDR(NT loader程序
6、)找到主文件表(MFT)。在NTFS卷上,MFT不会放在特定的预定义扇区上(和FAT16或FAT32不一样),因此,如果MFT通常的位置有坏扇区,它可以移动。但是,如果数据遭到破坏,MFT无法定位,则Windows NT/2000就认为该卷未格式化。 第3章 NTFS文件系统 例如,演示运行Windows 2000时一个NTFS卷格式化后的引导扇区。打印输出分为三节:字节0 x000 x0A 是jump指令和OEM ID(粗体显示);字节0 x0B0 x53是BPB和扩展BPB;剩余的代码是自举代码和扇区结束标记(粗体显示)。物理扇区为:0柱1面1扇第3章 NTFS文件系统 第3章 NTFS文
7、件系统 第3章 NTFS文件系统 表3-2描述了该例中NTFS卷上BPB和扩展BPB的字段。字段和它们在FAT16、FAT32卷上一样,开始于0 x0B, 0 x0D, 0 x15, 0 x18, 0 x1A和0 x1C。示例值对应该例中的数据。由于一般的系统常依赖引导扇区来访问一个卷,因此应经常性地运行Chkdsk这样的磁盘扫描工具,以保护引导扇区,就如同无法访问一个卷就备份所有的数据文件以免数据丢失一样。第3章 NTFS文件系统 表3-2 NTFS卷上的BPB第3章 NTFS文件系统 第3章 NTFS文件系统 3.1.2 NTFS主文件表主文件表NTFS卷上的每个文件表达成一个称为主文件表
8、(Master File Table,MFT)的特殊文件的一个记录。NTFS保留了开头的16个记录用于保存特殊的信息。MFT中的第一个记录是MFT的自我描述,紧跟其后的第二个记录是MFT镜像文件。如果第一个MFT记录被破坏了,则NTFS就读出第二个记录找到MFT镜像文件,镜像文件的第一个记录和MFT的第一个记录完全相同。MFT和MFT镜像文件的位置记录在引导扇区中,引导扇区的一个副本放在逻辑磁盘的中间或末尾。第3章 NTFS文件系统 MFT的第三个记录是日志文件,用于文件恢复。MFT第17个及之后的记录用于卷上的每个文件和目录(NTFS视目录也为文件)。 图3-2是MFT结构的简单演示。第3章
9、 NTFS文件系统 图3-2 MFT的结构第3章 NTFS文件系统 主文件表给每个文件记录都分配一定的空间,文件的属性写入MFT中已分配的空间。像图3-3中那样的小文件或小目录(典型的是1500字节或更少),可以整个地包含在主文件表的记录里。该设计使得文件的访问速度非常快。目录记录在主文件表中的存放和文件记录几乎一样。目录包含着索引信息而非数据。小的目录记录整个驻留在MFT结构中;大的目录记录则组织成B+树,树中有些指向外部簇的指针记录,用于保存无法容纳在MFT结构中的目录入口。第3章 NTFS文件系统 图3-3 小文件或小目录的MFT记录第3章 NTFS文件系统 3.1.3 NTFS文件类型
10、文件类型1NTFS文件属性文件属性NTFS文件系统视每个文件(或文件夹)为一个文件属性的集合。集合中的元素,如文件名、安全信息以及数据,都是文件的属性。每个属性用一个属性类型码(或属性名)相互区分。 第3章 NTFS文件系统 当一个文件的属性可以放入MFT文件记录时,称之为常驻属性。如文件名和时间戳那样总包括在MFT文件记录里的信息。当一个文件所拥有的信息太多,以至于MFT容不下时,一些属性就成为非常驻的。非常驻属性分配在该卷磁盘空间的其它地方,使用一个或更多的簇。NTFS创建“属性列表”属性来描述所有属性记录的位置,该列表是可扩展的,这意味着将来可定义其他的文件属性。表3-3列出了NTFS文
11、件系统目前定义的所有文件属性。第3章 NTFS文件系统 表3-3 NTFS定义的文件属性第3章 NTFS文件系统 第3章 NTFS文件系统 2NTFS系统文件系统文件NTFS包括几个系统文件,从NTFS卷来看,它们都是隐藏的。文件系统用系统文件来存放元数据并实现文件系统。系统文件是用Format实用程序放在卷上的,如表3-4所示。第3章 NTFS文件系统 表3-4 记录在主文件表中的元数据第3章 NTFS文件系统 3NTFS特性特性1) NTFS多数据流NTFS支持多数据流,它标志着在文件之上的一种新型数据。每个数据流可以打开一个句柄。从而一个数据流是一个唯一的文件属性集合。流不但有公共的权限
12、,而且可以有单独的机会锁、文件锁和大小。第3章 NTFS文件系统 该特性允许把数据当作单个的单元来管理。下面是一个替换流的例子: myfile.dat:stream2或者存在一个文件库,其中的文件定义成替换流,如下例所示: library: file1 : file2 : file3第3章 NTFS文件系统 一个文件可以同时和一个以上的应用程序关联,如Microsoft Word和Microsoft WordPad。例如,一个如下所示的文件关联文件结构,而不是多个文件: program: source_file : doc_file : object_file : executable_fil
13、e第3章 NTFS文件系统 为创建一个替换数据流,可以在命令提示符下输入如下命令: echo textprogram:source_filemore8GB),压缩后性能就越低。但如果压缩包含有不可压缩数据的卷或文件夹(如JPG图片、ZIP文件等)则是没有用的。压缩的理想数据是文本和办公文档,以及位图图片和其它包含大量重复字符的文件。若要压缩文件/文件夹/卷,就在Windows资源管理器中打开它的属性,选中“压缩”复选框即可。第3章 NTFS文件系统 6转换转换FAT卷为卷为NTFS卷卷如果没有在新生成的NTFS卷上安装Windows,但卷是从FAT转到NTFS 的,这通常会引发普遍的MFT碎片
14、化,转换后的卷比原始生成的NTFS卷慢得多。碎片整理工具一般不能处理MFT,但是可以备份整个系统,用合理的簇大小重新格式化卷,再把系统恢复回去。第3章 NTFS文件系统 3.3 NTFS下的数据恢复下的数据恢复因为NTFS文件系统与FAT和FAT32文件系统完全不同,故数据恢复通常需要采用不同的方法。如果用Google搜索一下NTFS数据恢复技术,可能得到最多的链接是关于销售数据恢复产品的网站。这是因为NTFS被设计成可以自己执行数据恢复,而不需要使用第三方数据恢复软件或者操作。簇重映射(cluster remapping)和事务日志(transaction logging)这两项技术可用来实
15、现数据的恢复。但是,通常我们还是会遇到NTFS文件系统的系统数据被破坏无法运行或者用户误操作文件丢失的情形。第3章 NTFS文件系统 3.3.1 NTFS的的DBR恢复恢复NTFS分区的DBR参数和FAT16/32分区的DBR参数不同,NTFS文件系统也不依赖FAT和FDT来管理分区中的文件,而是通过元文件来管理整个分区。从文件系统结构来看,NTFS远比FAT要复杂,但对于DBR的恢复,NTFS系统反而更容易。NTFS分区一般在分区的最后一个扇区对DBR进行了备份,因此,只要将备份DBR复制到DBR扇区即可。第3章 NTFS文件系统 如果没有备份的DBR,也可以通过复制正常NTFS分区的DBR
16、,并根据分区实际情况修正参数的方法来修复NTFS分区的DBR。某NTFS分区的DBR扇区的参数部分如图3-12所示。利用WinHex软件的模板功能对NTFS分区DBR参数的分析如图3-13所示。第3章 NTFS文件系统 图3-12 NTFS分区的DBR参数部分第3章 NTFS文件系统 图3-13 用WinHex模板分析NTFS分区DBR的参数第3章 NTFS文件系统 从图3-13可以看到,NTFS分区的DBR与FAT分区的DBR不同,其结构相对来说要简单一些,需要恢复的内容也不是太多。下面按顺序进行分析。 0D:每簇扇区数。需要修改。对此项的修改,一般参照微软默认设置进行即可。微软系统在格式化
17、NTFS分区时对该项的默认设置可以参考表3-5。 1C1F:隐含扇区。可从分区表计算。第3章 NTFS文件系统 282F:扇区总数。可从分区表计算。 3037:$MFT的位置(逻辑簇号)。需要修改。可以通过查找$MFT的特征字符来定位该文件所处的位置,其起始的4个字节一定是46 49 4C 45,即FILE的ASCII码,如图3-14所示。按字符串或按十六进制值查找均可,找到之后记录下起始扇区号,换算成簇号(即除以每簇扇区数)填入相应位置即可。第3章 NTFS文件系统 图3-14 $MFT的位置第3章 NTFS文件系统 383F:$MFTMirr位置的(逻辑簇号)。需要修改。$MFTMirr位
18、置的确定和$MFT位置的确定应当同时进行,即查找特征字节“FILE”的时候会找到两个区域,其中大的是$MFT,小的是$MFTMirr。常见的情况是$MFT在前,$MFTMirr在后,但也不绝对。 40:每个MFT文件记录的簇数(如果是负数,就表示2扇区)。需要修改。找到$MFT后,相邻两个$MFT记录(根据头部“FILE”确定)之间的扇区数根据簇大小换算成簇数就是一个MFT记录占用的簇数。第3章 NTFS文件系统 44:每个索引块(索引缓冲区)的簇数(如果是负数,就表示2扇区)。需要修改。两个索引之间的扇区数按簇大小换算成簇数就是每个索引所占用的簇数。索引的特征字节为49 4E 44 58,即
19、INDX的ASCII码,如图3-15所示。因为NTFS会对DBR进行备份,且一般情况下两个DBR同时遭到破坏的概率极小(除非有意地同时破坏),所以NTFS分区的DBR恢复相对容易,问题转换成如何去定位分区的尾部。分区的定位问题和分区的恢复是一样的。另外,还有一些其他的工具软件也能够完成分区的定位。第3章 NTFS文件系统 图3-15 索引块的簇数第3章 NTFS文件系统 3.3.2 系统文件缺失的恢复系统文件缺失的恢复 在NTFS卷上,MFT仅供系统本身组织、架构文件系统使用,在NTFS中称为元数据(Metadata,即存储在卷上支持文件系统格式管理的数据。它不能被应用程序访问,只能为系统提供
20、服务)。其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。这些元数据文件的名字都以“$”开始,是隐藏文件,在Windows NT/2000/XP/2003中不能使用dir命令(甚至加上/ah参数)像普通文件一样列出。 第3章 NTFS文件系统 这些元数据文件是系统驱动程序管理卷所必需的,因此非常重要。为了防止数据丢失或者损坏导致NTFS卷无法访问,NTFS系统在卷存储中部对它们进行了备份,即$MftMirr。$MftMirr备份了$Mft的前4个记录(如以每个记录1KB计算,即8个扇区),以保证卷的可访问性。和NTFS卷的DBR恢复一样,我们通常可以用$MftMirr来恢复$Mft
21、的起始部分,但这种恢复非常少见。下面以一个例子来进行说明。首先,使用WinHex软件将安装了Windows XP操作系统的主分区(NTFS文件系统)的主文件表MFT破坏掉(将起始的128字节填充为0),如图3-16所示。第3章 NTFS文件系统 图3-16 用WinHex软件将$Mft起始的128字节清零(破坏)第3章 NTFS文件系统 其次,再次在WinHex的文件浏览器中点击$MFT,WinHex提示$MFT找不到,如图3-17所示。这是因为$MFT已经被破坏了,从而NTFS卷不能正常访问,通过文件系统,$MFT本身也不能访问了。第3章 NTFS文件系统 图3-17 $MFT已被破坏,通过
22、文件系统找不到第3章 NTFS文件系统 再次,重新启动计算机,出现“A disk read error occurred ”的错误提示,然后机器死机,如图3-18所示。第3章 NTFS文件系统 图3-18 $MFT起始受损,Windows XP无法启动第3章 NTFS文件系统 出现这样的提示并不是$MFT受损特有的,主要是因为$MFT受损引起分区引导扇区的引导代码(即$Boot)不能定位操作系统引导文件NTLDR等引起的。下面通过DiskEdit软件利用$MFT的备份来恢复该故障。用DiskEdit打开物理硬盘,定位到绝对扇区0,即MBR扇区,点选“View”“As Partition Tab
23、le”查看,可以看到第一个分区(主分区)的相对扇区数(隐含扇区数)为63,如图3-19所示。第3章 NTFS文件系统 图3-19 定位$MFT受损的分区(查找相对扇区数) 第3章 NTFS文件系统 打开绝对扇区63,如图3-20所示。从扇区偏移0 x30处读取8个字节,为“00 00 04 00 00 00 00 00”,这就是$MFT的起始逻辑簇号0 x0000000000040000(64位整数),点选“Tools”“Calculator”可以化成十进制数262144。同理,从扇区偏移0 x38处读取8个字节,得到$MFTMirr的起始逻辑簇号0 x04FDB4=327092。从扇区偏移0
24、 x0D处读取一个字节,得到每簇扇区数为8。从“Info”“Drive”可以知道硬盘共365柱面,228磁头,63扇区。第3章 NTFS文件系统 图3-20 绝对扇区63(分区引导扇区和BPB参数)第3章 NTFS文件系统 $MFT在262144簇,即绝对扇区2621448+63=2097215。将线性地址2097215化成CHS几何参数,(2097215/(22863)=146(柱面),(2097215/63)除以228的余数为1(磁头),2097215除以63的余数再加1为9(扇区)。$MFTMirr在327092簇,即绝对扇区3270928+63=2616799。打开绝对扇区209721
25、5,长度为8扇区。可以看到$MFT的开头都是一些0字节,再向后可看到文件名(Unicode)$MFT,如图3-21所示。第3章 NTFS文件系统 图3-21 开头受损的MFT第3章 NTFS文件系统 向下翻页,可以看到第2个1KB的文件记录(绝对扇区2097217)正常,开头有“FILE”字样,文件名(Unicode)为$MFTMirr,如图3-22所示。打开绝对扇区2616799,长度8扇区(4个记录),可以看到$MFTMirr包含了主文件表前4个记录的完整备份,如图3-23所示。第3章 NTFS文件系统 图3-22 MFT第2个记录$MFTFMirr第3章 NTFS文件系统 图3-23 $
26、MFTMirr包含了主文件表前4个记录的备份第3章 NTFS文件系统 点选“Tools”“Write Object to”,写入物理扇区,目标位置为146柱面,1磁头(盘面),9扇区,用这8个扇区的备份覆盖$MFT开头4个记录。覆盖后,再次打开绝对扇区2097215,可发现$MFT已经修复,如图3-24所示。第3章 NTFS文件系统 图3-24 修复后的$MFT第3章 NTFS文件系统 再次启动计算机,发现Windows XP系统可正常启动。NTFS元文件损坏会导致分区无法访问,但同时操作系统要正确引导,操作系统的系统文件必须安全。对于Windows 95/98/ME,这些文件是msdos.s
27、ys、config.sys、autoexec.bat、system.ini、system.dat和user.dat等;对于Windows NT/2000/XP,这些文件是NTLDR、和boot.ini(位于引导卷的根目录),注册表文件即SAM、SECURITY、SYSTEM和SOFTWARE等。如果这些文件被删除,或受损,或被病毒破坏,Windows将不能引导,将会出现错误消息“NTLDR is missing”。第3章 NTFS文件系统 因此,恢复进程的下一步是检查这些系统文件是否存在且完好。(当然,不可能全部都检查,但至少必须检查NTLDR、和boot.ini,因为多数问题由这几个文件引起
28、。)若在Windows 95/98/ ME下操作,可以启动到Command Prompt模式,或者从启动盘启动,在命令行下检查系统文件或者在第三方恢复软件帮助下进行;若在Windows NT/2000/ XP下,可以使用紧急修复进程,恢复控制台或第三方恢复软件。第3章 NTFS文件系统 1) 紧急修复进程要执行紧急修复进程,需要紧急修复磁盘(ERD)。推荐在安装定制Windows后生成这个磁盘。要生成该盘,可以使用系统工具中的“备份”实用工具。使用ERD可以修复受损的引导扇区、MBR,修复或者替换受损的NT引导器(NTLDR)和文件。如果没有ERD,紧急修复进程会试图定位你的Windows安装
29、并开始修复你的系统,但这不一定可行。第3章 NTFS文件系统 第3章 NTFS文件系统 第3章 NTFS文件系统 要运行该进程,从可引导的Windows磁盘或CD启动,当系统提示安装还是修复时选择修复选项,然后按R运行紧急修复进程并选择快速或者手动修复选项。建议一般用户选择快速修复,手动修复只适于管理员或者高级用户。如果紧急修复进程成功,机器会自动重启并且系统也可以工作了。第3章 NTFS文件系统 2) 恢复控制台恢复控制台是一个类似MS-DOS命令行的命令行实用工具,可以列举并显示文件夹内容,拷贝、删除、替换文件,格式化驱动器和执行很多其它的管理任务。要运行恢复控制台,应从可引导的Windo
30、ws磁盘或CD启动,当系统提示安装还是修复时选择修复选项并按C来运行恢复控制台,随之出现要登录到哪个系统的提问并会要求输入管理员密码。登录后,会显示驱动器的内容,如图3-25所示,可检查关键文件是否存在并完好,若它们被意外删除,则应拷贝回来。第3章 NTFS文件系统 图3-25 恢复控制台第3章 NTFS文件系统 3) 恢复软件第三方恢复软件通常不允许处理系统文件以防止对系统造成进一步的破坏,但是可以使用它们检查系统文件是否完好。第3章 NTFS文件系统 3.3.3 一般文件的恢复一般文件的恢复在NTFS下,对于一般文件的恢复,同样可以使用EasyRecovery和FinalData之类的软件
31、,它们在NTFS下的操作方法和在FAT32下的类似,因此,对于使用工具软件进行一般文件的恢复此处不再讲解。这里主要介绍不使用自动恢复工具,如何通过对磁盘数据的扫描和分析来手工恢复NTFS卷的文件。为了能够更清晰地了解NTFS下一般文件的恢复和FAT32下恢复的异同,以下通过一个例子中的对比来进行分析。第3章 NTFS文件系统 文件恢复过程可以简单描述为扫描驱动器或文件夹,以找到根文件夹(FAT)或主文件表(NTFS)被删除的入口,然后对指定的被删除的入口定义恢复的簇链,再将这些簇的内容拷贝到新建的文件中。不同的文件系统维护其特定的逻辑数据结构,但基本上每种文件系统都包括: 有文件入口的列表或者
32、目录,所以可以枚举这些带删除标记的列表和入口; 为每个入口保留数据簇的列表,所以可以试着找出这些簇的集合重新组合成文件。第3章 NTFS文件系统 在找出正确的文件入口和簇的集合后,组合成文件,读取并拷贝这些簇到其他地方。我们用例子一步一步来看:对已删除的入口扫描磁盘,给被删除的入口定义簇链和簇链恢复。然而,并非每个被删除的文件都可以被恢复,须满足以下条件:首先,假定文件入口依然存在(没有被其它数据覆盖)。被删除文件所在驱动器新建的文件越少,被删除文件入口使用的空间未被其它入口使用的机会越大。第3章 NTFS文件系统 其次,假定文件入口所指向的一定的文件簇的所的地有更多或更少的安全性。在某些情形
33、下(已知在Windows XP的FAT32大卷下),操作系统在删除文件时立刻销毁文件入口以至于第一个数据簇变得无效,从而进一步的入口恢复变得不可能。再次,假定文件数据簇完好(未被其它数据覆盖)。被删除文件所在驱动器上写的操作越少,被删除文件数据簇占用的空间未被其他数据存储使用的机会越大。第3章 NTFS文件系统 数据丢失后的通用建议:(1) 不要在刚刚意外删除重要数据的驱动器中写入任何东西!甚至安装数据恢复软件也可能破坏所需要的数据。如果数据非常重要且没有其它的逻辑驱动器用来安装软件,就把整个硬盘从计算机上拆下来,装到另一台已经安装数据恢复软件的机器上进行数据恢复。(2) 不要试着把找到的和试
34、着恢复的数据保存到相同的驱动器上!当已恢复的数据保存到敏感数据所在的相同的驱动器时,可能正好覆盖了FAT/MFT记录和其它被删的入口而破坏了恢复进程。因此,最好把数据保存到其它盘上。第3章 NTFS文件系统 1对已删除的入口磁盘扫描对已删除的入口磁盘扫描磁盘扫描是对根文件夹(FAT12,FAT16,FAT32)或主文件表(NTFS,NTFS5.0)中所有入口进行枚举的一个底层操作,目的是找到并显示被删除的入口。尽管不同的文件系统有不同的文件/文件夹入口结构,但它们都包含着基本的文件属性,如文件名、大小、创建和修改的日期/时间,文件属性,存在/删除状态等。第3章 NTFS文件系统 给定一个驱动器
35、,包含有根文件表和任何有位置、大小和预定义结构的文件表(MFT,驱动器根文件夹,普通文件夹或者甚至是删除的文件夹),可以从头至尾扫描每个入口,不论它是已删除的或未删除的,然后显示所有找到的已删除的入口的信息。随着文件系统的不同,被删除的入口标记也不同。例如,FAT的任何已删除入口、文件或者文件夹都会将入口的第一个字符标记成ASCII字符229 (0 xE5)。在NTFS上,已删除的入口在文件头中有一个特殊的属性用来指示文件是否已经删除。第3章 NTFS文件系统 例如:扫描FAT16文件夹。(1) 存在的文件夹MyFolder的入口(长文件名入口和短文件名入口),如图3-26所示。(2) 被删除
36、的文件MyFile.txt的入口(长文件名入口和短文件名入口),如图3-27所示。 (3) 存在的文件Setuplog.txt的入口(只有短文件名入口),如图3-28所示。第3章 NTFS文件系统 图3-26 文件夹MyFolder入口第3章 NTFS文件系统 图3-27 文件MyFile.txt入口第3章 NTFS文件系统 图3-28 文件Setuplog.txt入口第3章 NTFS文件系统 这个根目录表包含3个入口,其中1个已经被删除了。第1个入口是存在的文件夹MyFolder,第2个是被删除的文件MyFile.txt,第3个是存在的文件Setuplog.txt。被删除的文件入口的第一个字
37、符标记为E5字符,因此磁盘扫描器会认为这个入口已经删除了。第3章 NTFS文件系统 2为已删除的入口定义簇链为已删除的入口定义簇链要定义簇链,就需要扫描磁盘,一个接一个地遍历所有属于该文件的文件簇(NTFS)或空闲簇(FAT),直到选择的簇大小等于文件大小。如果文件是不连续的,则簇链由若干个运行组成(NTFS情形),或获取的簇跨越了已占用的簇(FAT情形)。第3章 NTFS文件系统 簇的位置随文件系统不同而不同。例如,FAT卷已删除的文件在根入口包含首簇号,其它簇号在文件分配表中。在NTFS卷,每个文件用_DATA_属性来描述“数据运行”。数据运行分解成“扩展”,对每个扩展我们有起始簇偏移和扩
38、展中的簇号,从而列举扩展,可以组成文件的簇链。可以试着用底层磁盘编辑器手工定义簇链,但是使用类似Active UNERASER那样的数据恢复工具要简单得多。第3章 NTFS文件系统 1) 在FAT16下定义簇链此处继续前一个主题来考察已删除的文件MyFile.txt,如图3-30所示。根据根入口结构可以计算已删除的文件的大小。最后4个字节是33 B7 01 00,转换成十进制(先改变字节顺序),得到112435字节。向前2个字节(03 00)是被删除文件的首簇号。重复前述转换,得到数字03这是文件的起始簇。此时,可以从已删除文件MyFile.txt的文件分配表得到图3-31。第3章 NTFS文
39、件系统 图3-30 已删除文件MyFile.txt第3章 NTFS文件系统 图3-31 已删除文件MyFile.txt的文件分配表项第3章 NTFS文件系统 零,这是我们所期的情形意味着这些簇未被占用,即我们的文件多半没有被其它文件的数据覆盖。现在我们有了簇链03、04、05、06,可准备恢复文件。说明:(1) 从偏移6开始查看,因为FAT16每个簇号占用2个字节,此处的文件从第3簇开始,即32=6。(2) 考虑了4个簇,因为磁盘上簇大小是32KB,此处的文件大小是112 435字节,即3个簇32KB/簇= 96KB。第3章 NTFS文件系统 (3) 假定这个文件是不碎片化的,即所有簇连续分配
40、。需要4个簇;找到了4个空闲的连续簇,因此这个假定听起来合理,尽管真实的情况下这可能不是事实。很多情况下文件数据不能成功恢复,因为簇链不能得到定义。多数情形发生在对被删除文件所在的分区写入了其它的数据(文件、文件夹)。第3章 NTFS文件系统 2) 在NTFS下定义簇链在NTFS卷上恢复时,称为数据运行的DATA属性的一部分告诉我们关于文件簇的位置。多数情况下DATA属性保存在MFT记录的内部,所以如果从MFT记录找到被删除的文件,就很有可能决定簇链。下面的例子中,DATA属性标记为斜体,里面的数据运行标记为粗体,如图3-32所示。第3章 NTFS文件系统 图3-32 DATA属性第3章 NT
41、FS文件系统 数据运行需要解密。第1个字节(0 x31)表明了运行的长度(该例为0 x1)和第1个簇的簇号使用多少字节(该例为0 x3)。接着,用1个字节(0 x6E)指出运行的长度。然后,选3个字节指示起始簇偏移(EB C4 04)。改变字节顺序后我们得到文件起始簇312 555(等于0 x04C4EB)。从这个簇开始,选择110个簇(等于0 x6E)。从下一字节(0 x00)得知没有更多的数据运行存在了。例中文件不是碎片化的,所以只有一个数据运行。检查一下是否有关于这个文件数据的足够信息了?簇大小是 512 字节;有110个簇,110512 = 56320字节。文件大小定义为56320字节,因此有足够的信息来恢复该文件的簇。第3章 NTFS文件系统 3为已删除入口恢复簇链为已删除入口恢复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025在线咨询服务合同
- 2025年上海市农产品买卖合同范本
- 2025法律顾问审核版工程活动隔断合同
- 发电机租赁合同
- 上海市买卖合同范本
- 彩钢围挡制作安装合同范本
- 劳动合同法(本科)形考任务1-4
- 2025授权产品合同模板版本
- 产品授权经营协议书
- 2025年03月咸阳事业单位研究生公开招聘(90人)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 机房吸音墙施工方案范本
- 管理者要有的成本思维
- 高考语文小说专题阅读(9)2019年新高考I卷《理水》原文+真题+答案+解析
- 第7课《大雁归来》课件(共14张)语文八年级下册
- 江苏省苏州市苏州地区校2024届中考一模数学试题含解析
- 基本医疗保险关系转移接续申请表、联系函、信息表
- 读书分享读书交流会《人生海海》
- 车棚施工方案
- 汽车罐车常压容器检验合格证
- 《中国特色社会主义理论体系概论》教学大纲
- 挂名法定代表人免责协议范本
评论
0/150
提交评论