第3章NTFS文件系统课件.ppt

上传人:小飞机 文档编号:1824884 上传时间:2022-12-20 格式:PPT 页数:171 大小:3.26MB
返回 下载 相关 举报
第3章NTFS文件系统课件.ppt_第1页
第1页 / 共171页
第3章NTFS文件系统课件.ppt_第2页
第2页 / 共171页
第3章NTFS文件系统课件.ppt_第3页
第3页 / 共171页
第3章NTFS文件系统课件.ppt_第4页
第4页 / 共171页
第3章NTFS文件系统课件.ppt_第5页
第5页 / 共171页
点击查看更多>>
资源描述

《第3章NTFS文件系统课件.ppt》由会员分享,可在线阅读,更多相关《第3章NTFS文件系统课件.ppt(171页珍藏版)》请在三一办公上搜索。

1、第3章 NTFS文件系统,3.1 NTFS基础知识 3.2 NTFS和FAT比较 3.3 NTFS下的数据恢复 思考题,Windows NT文件系统(即NTFS)提供了FAT文件系统所没有的性能、可靠性和兼容性。NTFS设计上能够快速实现标准的文件操作,例如读写和查询,它甚至实现了在超大容量硬盘上的文件系统恢复操作。用NTFS文件系统格式化一个卷(分区)后,就生成几个系统文件和主文件表 (Master File Table,MFT),MFT包含了NTFS卷上所有文件和文件夹的信息。NTFS卷开头包含的信息是分区引导记录,始于0扇,最大长度为16个扇区。NTFS卷的第一个文件是MFT。格式化后,

2、NTFS卷的布局如图3-1所示。,图3-1 已格式化的NTFS卷,3.1 NTFS基础知识NTFS文件系统包含了公司环境中的文件服务器和高端个人计算机所要求的安全特性。 NTFS文件系统同样支持数据访问控制和对关键性数据很重要的所有者权限。不仅一个Windows NT机器上共享的文件夹可以赋予特定的许可,NTFS 卷的文件和文件夹也可以赋予各种许可,而不论它们是否是共享的。NTFS 是Windows NT 上唯一可以对单个文件赋予权限的文件系统。,NTFS文件系统有一个简单而又强大的设计思想。简言之,卷上的所有东西都是一个文件,所有东西都是文件的一个属性,有数据属性、安全属性、文件名属性等。N

3、TFS卷上分配的每个扇区属于某个文件,甚至文件系统元数据(即描述文件系统自身的信息)也是一个文件的部分。,1加密技术加密文件系统(EFS)提供了核心的用于在NTFS卷上保存加密文件的文件加密技术。EFS保证了文件的安全,使之免受入侵者对已保存的敏感数据进行未授权的物理访问(如通过便携式电脑或外部磁盘窃取信息)。2磁盘配额Windows 2000中对NTFS卷支持磁盘配额,用户可以通过磁盘配额监视和限制磁盘空间的使用。,3重解析点重解析点(Reparse Points)是NTFS中新的用于文件或文件夹的文件系统对象。一个包含重解析点的文件或文件夹拥有此前的文件系统所没有的附加行为。重解析点用于W

4、indows 2000中新的存储特性的很多方面,包括卷挂载点。 4卷挂载点卷挂载点(Volume Mount Points)是NTFS的新特点。基于重解析点,卷挂载点允许管理员将对一个本地卷的根的访问移植成对另一个本地卷的某个文件夹的访问。,5稀疏文件稀疏文件(Sparse Files)允许程序生成很大的文件,但在必要的时候会消耗磁盘空间。6分布式链接跟踪NTFS提供了一项链接跟踪(link-tracking)服务,即分布式链接跟踪(Distributed Link Tracking),用于维护文件快捷方式的完整性,类似于复合文档中的OLE链接。,3.1.1 NTFS的DBR表3-1描述了格式

5、化成NTFS卷的引导扇区。当格式化一个NTFS卷时,格式化程序分配开始的16个扇区给引导扇区和自举代码。,表3-1 NTFS的引导扇区,在NTFS卷上,BPB后面的数据字段构成扩展BPB。启动过程中,这些字段中的数据可以使NTLDR(NT loader程序)找到主文件表(MFT)。在NTFS卷上,MFT不会放在特定的预定义扇区上(和FAT16或FAT32不一样),因此,如果MFT通常的位置有坏扇区,它可以移动。但是,如果数据遭到破坏,MFT无法定位,则Windows NT/2000就认为该卷未格式化。,例如,演示运行Windows 2000时一个NTFS卷格式化后的引导扇区。打印输出分为三节:

6、字节0 x000 x0A 是jump指令和OEM ID(粗体显示);字节0 x0B0 x53是BPB和扩展BPB;剩余的代码是自举代码和扇区结束标记(粗体显示)。物理扇区为:0柱1面1扇,表3-2描述了该例中NTFS卷上BPB和扩展BPB的字段。字段和它们在FAT16、FAT32卷上一样,开始于0 x0B, 0 x0D, 0 x15, 0 x18, 0 x1A和0 x1C。示例值对应该例中的数据。由于一般的系统常依赖引导扇区来访问一个卷,因此应经常性地运行Chkdsk这样的磁盘扫描工具,以保护引导扇区,就如同无法访问一个卷就备份所有的数据文件以免数据丢失一样。,表3-2 NTFS卷上的BPB,

7、3.1.2 NTFS主文件表NTFS卷上的每个文件表达成一个称为主文件表(Master File Table,MFT)的特殊文件的一个记录。NTFS保留了开头的16个记录用于保存特殊的信息。MFT中的第一个记录是MFT的自我描述,紧跟其后的第二个记录是MFT镜像文件。如果第一个MFT记录被破坏了,则NTFS就读出第二个记录找到MFT镜像文件,镜像文件的第一个记录和MFT的第一个记录完全相同。MFT和MFT镜像文件的位置记录在引导扇区中,引导扇区的一个副本放在逻辑磁盘的中间或末尾。,MFT的第三个记录是日志文件,用于文件恢复。MFT第17个及之后的记录用于卷上的每个文件和目录(NTFS视目录也为

8、文件)。 图3-2是MFT结构的简单演示。,图3-2 MFT的结构,主文件表给每个文件记录都分配一定的空间,文件的属性写入MFT中已分配的空间。像图3-3中那样的小文件或小目录(典型的是1500字节或更少),可以整个地包含在主文件表的记录里。该设计使得文件的访问速度非常快。目录记录在主文件表中的存放和文件记录几乎一样。目录包含着索引信息而非数据。小的目录记录整个驻留在MFT结构中;大的目录记录则组织成B+树,树中有些指向外部簇的指针记录,用于保存无法容纳在MFT结构中的目录入口。,图3-3 小文件或小目录的MFT记录,3.1.3 NTFS文件类型1NTFS文件属性NTFS文件系统视每个文件(或

9、文件夹)为一个文件属性的集合。集合中的元素,如文件名、安全信息以及数据,都是文件的属性。每个属性用一个属性类型码(或属性名)相互区分。,当一个文件的属性可以放入MFT文件记录时,称之为常驻属性。如文件名和时间戳那样总包括在MFT文件记录里的信息。当一个文件所拥有的信息太多,以至于MFT容不下时,一些属性就成为非常驻的。非常驻属性分配在该卷磁盘空间的其它地方,使用一个或更多的簇。NTFS创建“属性列表”属性来描述所有属性记录的位置,该列表是可扩展的,这意味着将来可定义其他的文件属性。表3-3列出了NTFS文件系统目前定义的所有文件属性。,表3-3 NTFS定义的文件属性,2NTFS系统文件NTF

10、S包括几个系统文件,从NTFS卷来看,它们都是隐藏的。文件系统用系统文件来存放元数据并实现文件系统。系统文件是用Format实用程序放在卷上的,如表3-4所示。,表3-4 记录在主文件表中的元数据,3NTFS特性1) NTFS多数据流NTFS支持多数据流,它标志着在文件之上的一种新型数据。每个数据流可以打开一个句柄。从而一个数据流是一个唯一的文件属性集合。流不但有公共的权限,而且可以有单独的机会锁、文件锁和大小。,该特性允许把数据当作单个的单元来管理。下面是一个替换流的例子: myfile.dat:stream2或者存在一个文件库,其中的文件定义成替换流,如下例所示: library: fil

11、e1 : file2 : file3,一个文件可以同时和一个以上的应用程序关联,如Microsoft Word和Microsoft WordPad。例如,一个如下所示的文件关联文件结构,而不是多个文件: program: source_file : doc_file : object_file : executable_file,为创建一个替换数据流,可以在命令提示符下输入如下命令: echo textprogram:source_filemoreprogram:source_file 提示:当复制一个NTFS文件到FAT卷时,如软盘,FAT不能支持的数据流和其他属性就丢失了。,2) NTFS

12、压缩文件Windows NT/2000支持对单个文件、文件夹和整个NTFS卷的压缩。NTFS卷上的压缩文件可以被任何基于Windows的应用程序读或写,而不需要先用另外的程序来解压。读文件时解压自动进行,文件关闭或保存时又会被压缩。当在Windows Explorer中查看压缩文件和文件夹时,有一个带C的属性。,只有NTFS能够读取压缩形式的数据。当一个应用程序如Microsoft Word,或像copy那样的操作系统命令要求访问文件时,压缩过滤驱动先解压缩该文件。例如,如果从另外一台Windows NT/2000机器上拷贝一个压缩文件到你的硬盘上的一个压缩文件夹内,读文件时它被解压,拷贝、保

13、存时它再次被压缩。NTFS压缩算法近似于Windows 98使用的应用程序DriveSpace 3,但后者局限于压缩整个主分区或逻辑分区。NTFS允许压缩整个卷,卷内的一个或多个文件夹,甚至NTFS卷文件夹内的一个或多个文件。,NTFS的压缩算法设计成支持的簇大小最多为4KB。当一个NTFS卷的簇大小超过4KB时,NTFS的压缩功能不可用。每个NTFS数据流包含着用于指示流的任何部分是否被压缩的信息。在为那个流保存的信息中,单个的压缩缓冲通过它们之后的“洞”互相区分。如果存在一个洞,NTFS自动解压缩之前的缓冲来填充洞。NTFS提供对压缩文件的实时访问,打开时解压缩,关闭时则压缩。当写入一个压

14、缩文件时,系统保留未压缩时文件大小的磁盘空间,当每个单独的压缩缓冲区被压缩后,系统将回收未使用的空间。,3) 加密文件系统加密文件系统(EFS)提供用于在NTFS卷上保存加密文件的核心文件加密技术。EFS保证了文件的安全,使之免受入侵者对已保存的敏感数据进行未授权的物理访问(如通过便携式电脑或外部磁盘窃取)。,用户使用加密的文件和文件夹就和使用其他文件和文件夹一样。加密过程对加密该文件的用户来说是透明的,当用户访问该文件或文件夹时,系统自动进行解密;当保存文件时,加密再次进行。没有权限访问加密的文件或文件夹的用户试图打开、拷贝、移动或重命名加密的文件或文件夹时,会收到一条“拒绝访问”消息。确切

15、的消息文本会随着试图访问该文件的应用程序而不同,因为它不和文件的用户权限相关,而是EFS利用用户私钥加密文件的能力。,相比于第三方加密应用程序,EFS有如下优势:(1) 对用户和应用程序来说,它是透明的。不存在用户忘记加密文件而使数据处于未受保护状态的危险。文件或文件夹一旦标记为加密的,它在后台被加密,无需和用户交互。用户不必记住解密文件的密码。(2) 强大的密钥安全性。和那些靠用户输入密码的方法不同的是,EFS生成可以抵御基于字典攻击的密钥。,(3) 所有的加密/解密处理在核心模式执行,不存在密钥保留在页面文件的危险,因为页面文件中的密钥可能被解析出来。(4) EFS提供了对商业环境有价值的

16、数据恢复机制,甚至在加密数据的雇员离开了公司时,给该组织复原数据的机会。用户可以通过Windows Explorer或一个叫做cipher.exe的命令行工具来使用EFS特性。要用Windows Explorer加密文件时,右击文件名打开文件属性窗口,点击“高级”按钮打开高级属性对话框,在该对话框中进行设置,即可以把文件标记为加密的。,在保存新的设置前,Windows会提示用户只加密文件还是整个文件夹。它预示着:文件自身被完美保护的同时,打开文件的应用程序会在文档上工作时生成该文件的一个临时拷贝。以Microsoft Word为例,当用户打开加密文档时,EFS透明地为Word解密,然后在工作时

17、,Word生成隐藏的临时文件,以便程序退出时自动保存编辑或者删除处理过的文档。该隐藏文件违背了安全原则,因为它直接包含了用户数据(未加密的形式)。加密整个文件夹而不是只加密文件可解决这个问题。,EFS组合了对称密钥加密法和公钥加密技术来保护文件。文件数据用对称算法(DESX)加密。对称算法的密钥称为文件加密密钥(FEK),FEK本身用公钥私钥算法(RSA)加密并随文件保存。非对称算法与对称算法的不同在于加密速度的快慢。非对称算法在加密大量数据时要耗费大量的时间;对称算法则要快约1000倍,从而更适合加密大量的数据。NTFS加密流程如图3-4所示。,图3-4 NTFS加密流程示意图,首先,NTF

18、S在相同的驱动器的系统卷信息文件夹(System Volume Information)内生成一个叫Efs0.log的日志文件作为加密文件,然后EFS访问CryptoAPI环境。CryptoAPI环境利用Microsoft Base Cryptographic Provider 1.0作为密钥提供者。密钥生成环境打开后,EFS生成文件加密密钥(FEK)。,其次是获取公钥/私钥对,如果它当前不存在(EFS首次调用的情形),EFS生成新的一对。EFS用1024位的RSA算法来加密FEK。最后,EFS为当前用户生成数据解密域(DDF),其中存放了FEK并用公钥加密它。如果系统策略中定义了恢复代理,E

19、FS还生成数据恢复域(DRF),其中存放了恢复代理的公钥加密的FEK。每个定义的恢复代理有独立的DRA。注意,不包括在域中的Windows XP没有定义恢复代理,因此这一步可省略。,当文件被加密时,在相同的文件夹内生成一个叫Efs0.tmp的临时文件。原始文件的内容(明文)拷贝到临时文件中,之后用加密的数据覆盖原始文件。默认情况下,EFS用128位密钥的DESX算法加密文件数据,但Windows也可配置成使用强度更大的168位密钥的3DES算法。这种情形时,在LSA策略中必须开启FIPS适应算法的应用(默认禁用),如图3-5所示。,图3-5 NTFS系统加密,EFS使用注册表决定用DESX或3

20、DES。如果HKLMSYSTEMCurrentControlSetControl LSAFipsAlgorithmPolicy = 1,那么3DES将被使用;如果不是,那么EFS检测HKLMSoftwareMicrosoftWindows NTCurrentVersionEFSAlgorithmID(这个值可能不存在),若存在,则它的ID是CALG_3DES或CALG_DESX,否则,将使用DESX。加密完成后,临时文件和日志文件将被删除。,文件加密后,只有拥有相应的DDF或DRF的用户能够访问它。该机制独立于常规安全,这意味着文件除了访问它的权限外,还必须有用用户公钥加密的FEK。只有能够用

21、他的私钥解密FEK的用户才能够访问该文件。访问该文件的用户可以加密它,从而防止拥有者访问该文件。最初只为加密该文件的用户生成一个DDF,后来他可以添加额外的用户形成钥匙圈。这种情况下,为了让另一个用户来访问,EFS简单地用用户私钥解密FEK,并用目标用户的公钥加密FEK,因此生成了一个新的DDF,和第一个一起存放。解密过程和加密相反,如图3-6所示。,图3-6 NTFS解密流程示意图,首先,系统检测用户是否有一个用于EFS的私钥。如果有,它就读取EFS属性并遍历DDF密钥圈来查找当前用户的DDF。如果找到了DDF,用户的私钥就用于解密从DDF中解析出来的FEK,EFS用解密后的FEK解密文件数

22、据。需要注意的是,当上层模块要求特定的扇区时,文件决不是整个被解密,而是按扇区来解密。恢复过程近似于解密,除了它使用恢复代理密钥来解密DRF而非DDF中的FEK外,如图3-7所示。,图3-7 NTFS恢复流程示意图,DRA策略在Windows 2000和Windows XP中的实现方法不同。Windows 2000中默认在机器上,不包括在域中,本地的Administrator作为Encrypted Data Recovery Agent(加密数据恢复代理)添加到Public Key Policy。所以,当用户加密文件时,DDF和DRF域都生成了。如果最后的DRA被删除,则整个EFS功能就丧失了

23、,从而不可能再加密文件,如图3-8所示。,图3-8 无效的加密恢复策略,Windows XP中的情况则不同,既然多数独立工作的本地用户除了自己外没必要使其他人也能够解密文件,就没有数据恢复代理的必要,所以Public Key Policy中不包括 DRA,EFS不需要DRA就能起作用。这种情况下,为加密的文件只生成DDF域。当NTFS加密文件时,它给文件设置标志“加密的”(0 x4000),同时生成$EFS属性来存放DDF和DDR,如图3-9所示。在NTFS中,该属性的属性ID=0 x100,并且可以相当长,占用0.5K到几K不等的空间,这取决于DDF和DRF的数量。,图3-9 $EFS属性,

24、$EFS属性更详尽的例子如图3-10所示。数据区1:$EFS属性尺寸。数据区2:计算机SID和用户号。它用来确定EFS存放证书的文件夹。为了获取文件夹名称,EFS做如下处理: 5A56B378 1C365429 A851FF09 D040000存放在$EFS中的数据78B3565A 2954361C 09FF51A8 000004D0保留2025018970-693384732-167727528-1232转换成十进制S-1-5-21-2025018970-693384732-167727528-1232添加了SID前缀后,图3-10 $EFS实例,最终,文件夹是:%UserProfile%A

25、pplicationDataMicrosoftCryptoRSAS-1-5-21-2025018970-693384732-167727528-1232数据区3:公钥指纹(Public key thumbprint)。数据区4:私钥GUID(也用作容器名)。当EFS从CryptoAPI提供者中获取上下文时会用到这个名字。如果$EFS属性中只有一个DDF,容器名可以从$EFS(这个域)计算出来,但更多的用户(更多DDF和DRF)加入到文件时,不会都为它们保存PK GUID,而必须从基于公钥指纹的证书存储区中获取。,数据区5:密钥提供者名称为Microsoft Base Cryptographic

26、 Provider v.1.0。数据区6:当前DDF或DRF所属的用户名。数据区7:加密的FEK。通常FEK的长度为128bit(DESX情形),但因为它用1024bit的RSA密钥加密,所以它加密后的长度为1024位。,临时文件没有擦除。当EFS加密文件时,它将自身内容拷贝到相同文件夹内名为Efs0.tmp的隐藏的临时文件中,这个文件作为加密用文件。然后,它分块加密明文,并将加密了的数据写入原始文件。处理完成后,临时文件即被删除。但是,EFS只简单地将其标记为删除,而没有真正擦除它的内容。这就造成很容易通过ActiveUndelete那样的底层数据恢复软件来访问未受保护的数据。解决办法是擦除

27、空闲的磁盘空间。通常,即使明文有一些覆盖,微小的磁性痕迹仍可被侦测,从而留下用特殊的设备读取已擦除数据的机会。要减小这种可能性,可使用像ActiveEraser或ZDelete.NET那样的提供复杂的数据擦除算法的商业软件。,加密的文件夹内的文件名不受保护。事实上,加密文件夹内容意味着自动对文件夹内的所有文件进行加密,但并未对目录数据本身加密。因为文件名本身可能包含了敏感信息,这就可能成为安全漏洞。解决方法是加密.zip压缩档而非文件(Windows XP几乎视压缩档为文件夹),从而,只有一个文件需要加密并且压缩数据本身就较难破解。,EFS的安全性依赖于保存在本地机器上的公钥/私钥对。Wind

28、ows通过保护存储服务(Protected Storage Service)加密所有的私钥来保护它们。保护存储用从512位的主密钥(Master Key)派生的会话密钥(Session Key)加密所有的私钥,并将它们存放于%User Profile%Application DataMicrosoftCryptoRSAUser SID。,主密钥(Master Key)用主密钥加密密钥(Master Key Encryption Key)加密,后者通过使用基于口令的密钥派生功能(Password Based Key Derivation Function)从用户口令派生,并存放于%User Pr

29、ofile%Application DataMicrosoftProtectUser SID。尽管Windows尽力保护密钥,但由于所有的信息都保存在本地机器上,给能够访问硬盘的攻击者一个机会,他可以计算出密钥,并用密钥解密受保护的数据。,全面的安全可通过用系统密钥(System Key)加密私钥而明显加强。syskey.exe实用程序可以用来把系统密钥保存到一张软盘并从计算机上取走,这种情形下,用户必须在计算机启动时插入一张带有系统密钥的软盘。不过这个办法应慎用,因为一旦钥匙软盘丢失,就再也不能访问计算机了。,4) NTFS稀疏文件一个稀疏文件有一个属性可促使I/O子系统只分配有意义的(非零

30、)数据。非零数据分配在磁盘上,而无意义的数据(大串的组合在一起的零数据)不分配。读取稀疏文件时,分配了的数据按存储状态返回,未分配的数据默认返回零。NTFS解除分配稀疏数据流并保留其他的数据为已分配的。当程序访问一个稀疏文件时,文件系统产生已分配的数据作为实际的数据,而解除分配的数据作为零处理。,NTFS对压缩的和非压缩的文件都包括完全的稀疏文件支持。NTFS处理对稀疏文件的读操作时返回已分配的数据和稀疏数据。尽管在读一个稀疏文件时,NTFS默认返回整个数据集,但不获取整个数据集而读取已分配的数据和一个范围内的数据是可能的。依靠稀疏文件属性集,文件系统可以在任何位置解除分配文件中的数据,应用程

31、序调用时,则产生相应范围的零数据,而非存储和返回实际的数据。文件系统应用程序接口(API)允许文件按实际的比特数和稀疏流范围拷贝或备份。最终的结果是高效的文件系统存储和访问。图3-11所示为存在和不存在稀疏文件属性集时数据是如何存储的。,图3-11 Windows 2000的数据存储,3.1.4 NTFS数据完整性和可恢复性NTFS是一个可恢复的文件系统,它使用标准的事务日志和恢复技术保证了卷的持续性。在发生磁盘故障事件时,NTFS运行一个访问日志文件信息的过程来还原持续性。NTFS恢复过程真正保证了卷还原到一个持续状态,事务日志则只需非常少的开销。,计算机发生故障后启动,程序第一次访问NTF

32、S卷的时候,NTFS自动执行硬盘恢复操作来保证所有NTFS卷的完整性。NTFS还使用一种称为簇重映射的技术来减小NTFS卷上的一个坏扇区带来的影响。提示:如果主引导记录损坏,又出现引导扇区损坏,则不能再访问卷上的数据了。,1NTFS的数据恢复NTFS视每个修改NTFS卷系统文件的I/O操作为一个事务,并将其管理为一个完整的单元。事务一旦启动,要么完成,要么在发生磁盘故障时回滚(如NTFS卷回到事务初始化之前的状态)。为了保证事务完成或回滚,在写入磁盘之前,NTFS将一个事务的子操作记录到日志文件。当一个完整的事务记录到日志文件后,NTFS执行卷缓存中的事务子操作。NTFS更新缓存后,向日志文件

33、提交事务,整个事务便完成了。,一旦事务提交,即使磁盘故障,NTFS也能保证整个事务在卷上实现。在恢复操作期间,NTFS重做日志文件中发现的每个已提交的事务,然后NTFS于日志文件中定位在系统故障时未提交的事务,并且撤销记录在日志文件中的每个事务子操作。注:对卷的不完整修改是绝对禁止的。,NTFS使用日志文件服务来记录一个事务的所有重做和撤销信息。NTFS使用重做信息来重复事务,撤销信息使NTFS能够撤销不完整的事务或出错的事务。提示:NTFS用事务日志和恢复来保证卷结构不被破坏。正因为此,在系统故障后所有的系统文件依旧可访问。但是,用户数据可能因为系统故障或坏扇区而丢失。,2簇重映射在发生坏扇

34、区错误时,NTFS实现了一种称为簇重映射的恢复技术。当Windows 2000侦测到一个坏扇区时,NTFS动态地重映射包含坏扇区的簇并为数据分配一个新的簇。如果错误发生在读操作,则NTFS返回一个读错误给调用者程序并且数据丢失;如果错误发生在写的时候,则NTFS将数据写入新的簇,数据不会丢失。NTFS将包含坏扇区的簇的地址放入坏簇文件,从而坏扇区不会被再次利用。,提示:簇重映射不能代替备份。一旦错误被侦测,应当严密监视磁盘,并且如果缺陷列表有所增加就应更换磁盘。这类错误通常会显示在事件日志中。,3.2 NTFS和FAT比较与FAT和FAT32相比,NTFS文件系统的功能更强大。Windows

35、2000、Windows XP和Windows Server 2003 家族中包括有新版本的NTFS,它支持各种新功能(如Active Directory 功能,这项功能是域、用户帐户和其他重要安全功能所必需的)。FAT和FAT32相似,其差别只是FAT32比FAT更适合于较大磁盘的应用。NTFS则是一种最适合大磁盘使用的文件系统。,相对FAT(FAT和FAT32)而言,NTFS具有很多FAT所不具有的特性,主要有以下几点:(1) 容错性:NTFS可以自动修复磁盘错误而不会显示出错信息。Windows 2000向NTFS分区中写文件时,会在内存中保留文件的一份拷贝,然后检查向磁盘中所写的文件是

36、否与内存中的一致。如果两者不一致,则Windows就把相应的扇区标记为坏扇区而不再使用它(簇重映射),然后用内存中保留的文件拷贝重新向磁盘上写文件。如果在读文件时出现错误,NTFS则返回一个读错误信息,并告知相应的应用程序数据已经丢失。,(2) 安全性:NTFS有许多安全性能方面的选项,可以在本机上和通过远程的方法保护文件、目录,以阻止没有授权的用户访问文件。(3) 使用EFS提高安全性:EFS提供对存储在NTFS分区中的文件进行加密的功能。EFS加密技术是基于公共密钥的,作为集成的系统服务运行,具有管理容易、攻击困难、对文件所有者透明等优点。,(4) 文件压缩:NTFS文件系统支持文件压缩功

37、能,用户可以选择压缩单个文件或整个文件夹。(5) 磁盘限额:磁盘限额功能允许系统管理员管理分配给各个用户的磁盘空间,合法用户只能访问属于自己的文件,Windows 2000中的磁盘限额功能是基于用户和卷的。NTFS和FAT的比较详情见表3-5。,表3-5 NTFS与FAT的比较,如果考察一下存储需求,就可以调整NTFS的一些全局参数来获得磁盘性能上的巨大提升,其它的诸如磁盘碎片整理同样会有所帮助。影响NTFS性能的因素(不考虑磁盘类型、转速等)有:簇大小、MFT和页面文件的位置和连续性、NTFS卷压缩、NTFS卷来源(从现存的FAT卷生成或转化)。,1合理定义簇大小簇是一个分配单元。假定生成了

38、一个1字节大小的文件,在FAT文件系统中,至少要分配一个簇。在NTFS中,如果文件足够小,它可以存放于MFT记录本身,而不必使用额外的簇。当文件大到当前簇容不下时,就需再分配一个簇。这意味着单个簇越大,浪费的磁盘空间越多,但性能会更好。表3-6为Windows NT/2000/XP用NTFS格式化后簇大小的默认值。,表3-6 NTFS卷默认簇大小,当手工格式化分区时,可以在格式化对话框或FORMAT命令参数中指定簇大小为512字节。这有何意义?可确定平均文件大小,再据此格式化分区。如何确定呢?最简单(但粗糙)的办法是用总的磁盘已使用容量的千字节数除以磁盘上的文件数;另一个办法是格式化前就考虑会

39、在磁盘上存放哪些数据。如果打算存放通常尺寸巨大的多媒体素材,可让簇更大以提升性能;如果是小的网页或文本文档,可让簇更小以避免磁盘空间的大量浪费。注意:在簇大小超过4KB的卷上,压缩不被支持。,2MFT预约和离散性MFT包含经常使用的系统文件和索引,因此MFT的性能很大程度上影响着整个卷的性能。默认的,NTFS保留卷容量的12.5%的一块区域给MFT,这块区域不允许写入任何用户数据,以便MFT增大时用。然而,当在磁盘上放了很多文件时,MFT将增长到超过保留区而变得零碎。另一个原因是,当删除文件时,NTFS不会总利用MFT中的这个空间来存放新的文件,它仅仅标记MFT入口为“删除的”,并给新文件分配

40、新的入口。这种方式提高了性能,并可恢复,但它让MFT零碎了。,MFT越零碎,访问数据时硬盘磁头移动就越频繁,文件系统的总体性能将更低。从Windows NT 4.0 sp4启动时,可以通过如下键值来定义MFT保留区的大小。键:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem DWORD型值(14)NtfsMftZoneReservation允许指定新生成/格式化的卷的MFT区域(相应为卷容量的12.5%、25%、37.5%、50%)。,3文件和目录的碎片化当磁盘变满和执行了很多拷贝和删除文件的操作时,不仅是MFT,还有其它文件

41、和目录都会变零碎,这也使得系统在性能上变慢。因此,当在卷上执行了很多拷贝/移动/删除操作时,建议经常使用标准的碎片整理工具。若从Windows 2000启动,磁盘碎片整理是操作系统的一部分,可以在计算机管理控制台中找到。,如果没有这类工具,可以试着手工执行。方法为:拷贝文件和文件夹到另一个分区,让原来的分区几乎空白,然后再把它们拷贝回来。这个办法不如用标准的碎片整理工具高效,但它可以在分区碎片非常严重时极大地提高卷的性能。注意:如果你对这些文件有安全/许可设置,这个方法将不能令人满意,当在分区之间拷贝时将会失去这样的信息。为了防止目录碎片化,在安装新的应用程序或拷贝许多文件到卷上前就应执行完全

42、的磁盘碎片整理。,4页面文件碎片化不能用标准的碎片整理工具来对页面文件(PAGEFILE.SYS)进行碎片整理,因为它一直被操作系统用作虚拟内存。解决办法是通过手工操作改变页面文件的位置到其它盘(如果没有其它盘就减小尺寸到最小),再重新启动机器,执行卷碎片整理,然后把页面文件的参数改回原来的状态。,5NTFS卷的压缩压缩可以节省卷空间,并可提升或降低总体性能,这取决于CPU速度、卷大小和可压缩的数据。如果有快的CPU和相对慢的硬盘,压缩是值得推荐的,因为压缩数据占用更少的卷空间,读到内存并解压比从慢的磁盘读取整个未压缩的数据块要快得多。卷容量越大(8GB),压缩后性能就越低。但如果压缩包含有不

43、可压缩数据的卷或文件夹(如JPG图片、ZIP文件等)则是没有用的。压缩的理想数据是文本和办公文档,以及位图图片和其它包含大量重复字符的文件。若要压缩文件/文件夹/卷,就在Windows资源管理器中打开它的属性,选中“压缩”复选框即可。,6转换FAT卷为NTFS卷如果没有在新生成的NTFS卷上安装Windows,但卷是从FAT转到NTFS 的,这通常会引发普遍的MFT碎片化,转换后的卷比原始生成的NTFS卷慢得多。碎片整理工具一般不能处理MFT,但是可以备份整个系统,用合理的簇大小重新格式化卷,再把系统恢复回去。,3.3 NTFS下的数据恢复因为NTFS文件系统与FAT和FAT32文件系统完全不

44、同,故数据恢复通常需要采用不同的方法。如果用Google搜索一下NTFS数据恢复技术,可能得到最多的链接是关于销售数据恢复产品的网站。这是因为NTFS被设计成可以自己执行数据恢复,而不需要使用第三方数据恢复软件或者操作。簇重映射(cluster remapping)和事务日志(transaction logging)这两项技术可用来实现数据的恢复。但是,通常我们还是会遇到NTFS文件系统的系统数据被破坏无法运行或者用户误操作文件丢失的情形。,3.3.1 NTFS的DBR恢复NTFS分区的DBR参数和FAT16/32分区的DBR参数不同,NTFS文件系统也不依赖FAT和FDT来管理分区中的文件,

45、而是通过元文件来管理整个分区。从文件系统结构来看,NTFS远比FAT要复杂,但对于DBR的恢复,NTFS系统反而更容易。NTFS分区一般在分区的最后一个扇区对DBR进行了备份,因此,只要将备份DBR复制到DBR扇区即可。,如果没有备份的DBR,也可以通过复制正常NTFS分区的DBR,并根据分区实际情况修正参数的方法来修复NTFS分区的DBR。某NTFS分区的DBR扇区的参数部分如图3-12所示。利用WinHex软件的模板功能对NTFS分区DBR参数的分析如图3-13所示。,图3-12 NTFS分区的DBR参数部分,图3-13 用WinHex模板分析NTFS分区DBR的参数,从图3-13可以看到

46、,NTFS分区的DBR与FAT分区的DBR不同,其结构相对来说要简单一些,需要恢复的内容也不是太多。下面按顺序进行分析。 0D:每簇扇区数。需要修改。对此项的修改,一般参照微软默认设置进行即可。微软系统在格式化NTFS分区时对该项的默认设置可以参考表3-5。 1C1F:隐含扇区。可从分区表计算。, 282F:扇区总数。可从分区表计算。 3037:$MFT的位置(逻辑簇号)。需要修改。可以通过查找$MFT的特征字符来定位该文件所处的位置,其起始的4个字节一定是46 49 4C 45,即FILE的ASCII码,如图3-14所示。按字符串或按十六进制值查找均可,找到之后记录下起始扇区号,换算成簇号(

47、即除以每簇扇区数)填入相应位置即可。,图3-14 $MFT的位置, 383F:$MFTMirr位置的(逻辑簇号)。需要修改。$MFTMirr位置的确定和$MFT位置的确定应当同时进行,即查找特征字节“FILE”的时候会找到两个区域,其中大的是$MFT,小的是$MFTMirr。常见的情况是$MFT在前,$MFTMirr在后,但也不绝对。 40:每个MFT文件记录的簇数(如果是负数,就表示2扇区)。需要修改。找到$MFT后,相邻两个$MFT记录(根据头部“FILE”确定)之间的扇区数根据簇大小换算成簇数就是一个MFT记录占用的簇数。, 44:每个索引块(索引缓冲区)的簇数(如果是负数,就表示2扇区

48、)。需要修改。两个索引之间的扇区数按簇大小换算成簇数就是每个索引所占用的簇数。索引的特征字节为49 4E 44 58,即INDX的ASCII码,如图3-15所示。因为NTFS会对DBR进行备份,且一般情况下两个DBR同时遭到破坏的概率极小(除非有意地同时破坏),所以NTFS分区的DBR恢复相对容易,问题转换成如何去定位分区的尾部。分区的定位问题和分区的恢复是一样的。另外,还有一些其他的工具软件也能够完成分区的定位。,图3-15 索引块的簇数,3.3.2 系统文件缺失的恢复 在NTFS卷上,MFT仅供系统本身组织、架构文件系统使用,在NTFS中称为元数据(Metadata,即存储在卷上支持文件系

49、统格式管理的数据。它不能被应用程序访问,只能为系统提供服务)。其中最基本的前16个记录是操作系统使用的非常重要的元数据文件。这些元数据文件的名字都以“$”开始,是隐藏文件,在Windows NT/2000/XP/2003中不能使用dir命令(甚至加上/ah参数)像普通文件一样列出。,这些元数据文件是系统驱动程序管理卷所必需的,因此非常重要。为了防止数据丢失或者损坏导致NTFS卷无法访问,NTFS系统在卷存储中部对它们进行了备份,即$MftMirr。$MftMirr备份了$Mft的前4个记录(如以每个记录1KB计算,即8个扇区),以保证卷的可访问性。和NTFS卷的DBR恢复一样,我们通常可以用$

50、MftMirr来恢复$Mft的起始部分,但这种恢复非常少见。下面以一个例子来进行说明。首先,使用WinHex软件将安装了Windows XP操作系统的主分区(NTFS文件系统)的主文件表MFT破坏掉(将起始的128字节填充为0),如图3-16所示。,图3-16 用WinHex软件将$Mft起始的128字节清零(破坏),其次,再次在WinHex的文件浏览器中点击$MFT,WinHex提示$MFT找不到,如图3-17所示。这是因为$MFT已经被破坏了,从而NTFS卷不能正常访问,通过文件系统,$MFT本身也不能访问了。,图3-17 $MFT已被破坏,通过文件系统找不到,再次,重新启动计算机,出现“

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号