Skip to content

NTFS文件系统原理详解

2014-01-06 23:46:00   来源:华军科技数据恢复

    WINDOWS 8 时代,NTFS还是WINDOWS 8 分区的主流文件系统格式,今天笔者就用比较简单的文字来叙述NTFS文件系统原理

    NTFS是新技术文件系统(New Technology File System)的英文缩写。与FAT相比,NTFS具有许多新的特性,主要有以下4点。 

    ① 容错性:NTFS可以自动地修复磁盘错误而不会显示出错信息。WindowsNT/2000/XP向NTFS分区中写入文件时,会在内存中保留文件的一份拷贝,然后检查,磁盘中写入的文件与内存中保留的拷贝是否一致。如果两者不一致,Windows就把相应的扇区标为坏扇区而不再使用它(即簇重映射),然后,用内存中保留的文件拷贝重新向磁盘上写文件。如果在读文件时出现错误,NTFS返回一个读错误信息,并告知相应的应用程序数据 已经丢失。  

    ② 安全性:NTFS有许多安全性能方面的选项,可以在本机上和通过远程的方法保护文件及目录。NTFS还支持加密文件系统EFS(Encrypting  File System),可以阻止没有授权的用户访问文件。 

    EFS提供对存储在NTFS分区中的文件进行加密的功能。EFS加密技术基于公共密钥(Public Key),并作为集成的系统服务运行,具有管理容易、攻击困难、对文件所有者透明等优点。EFS具有如下5点特性。 

    1.透明的加密过程。不要求用户(文件所有者)每次使用都进行加、解密。 

    2.强大的加密技术。基于公共密钥加密。 

    3.强大的加密技术。基于公共密钥加密。 

    4.完整的数据恢复。加密密钥的列表文件被“恢复代理”的公共密钥再次加密,可以有多个恢复代理,每一个恢复代理都有不同的公共密钥 

    5.可保护临时文件和页面文件。 

    6.文件加密的密钥驻留在操作系统的内核中,并且保存在非分页内存中,这保证了密钥绝不会被拷贝到页面文件中,因而不会被非法访问。 

加密或解密文件、文件夹通过其属性完成,也可用命令行工具Cipher.exe来完成。 

    ③ 文件压缩(Compress):NTFS支持文件压缩功能,用户可以选择压缩单个文件或整个文件夹。 

    ④ 磁盘配额(Disk Quotas):磁盘配额功能允许系统管理员管理分配给各个用户的磁盘空间,合法用户只能访问属于自己的文件,Windows  

NT/2000/XP中的磁盘配额功能是基于用户和卷(Windows NT/2000/XP下文件系统以卷为单位划分,相当于Windows 95/98/Me下逻辑分区的概念)的 

    所谓磁盘配额,就是管理员可以对本域中的每个用户所能使用的磁盘空间进行配额限制,即每个用户只能使用最大配额范围内的磁盘空间。 

需要注意以下5点。 

    1. 磁盘配额只有Windows NT/2000/XP的NTFS文件系统才支持,不能在NT 4.0的NTFS分区上设置磁盘配额。 

    2.磁盘配额可以对每个用户在每个卷上的磁盘使用情况进行跟踪和控制。这种跟踪是利用文件或文件夹的所有权来实现的。当一个用户在 

NTFS分区上拷贝或存储一个新的文件时,他就拥有对这个文件的所有权,这时磁盘配额程序就将此文件的大小计入这个用户在该卷上的磁盘配额空 

间内。 

    3.磁盘配额不支持文件压缩,磁盘配额程序统计磁盘使用情况时,统一按未压缩文件的大小进行统计,而不管它实际占用了多少磁盘空间。 

    4.设置磁盘配额后,Windows NT/2000/XP报告的剩余空间,是当前这个用户的磁盘配额范围内的剩余空间。 

    5.磁盘配额程序按卷独立跟踪和控制磁盘使用情况,与物理磁盘无关。 

    由FAT转换而来的NTFS:从FAT转换到NTFS的卷将失去NTFS的一些性能优点。把一个FAT卷转换成NTFS后,簇的大小是512字节,增加了出现碎片的可能性,而且在整理碎片时需要花费更多的时间。基于上述原因,最好 在最初的格式化时就把分区格式化成NTFS文件系统。 

    NTFS文件压缩功能:NTFS压缩功能可以对单个文件、整个文件夹或NTFS卷上的整个目录树进行压缩。使用压缩功能将会引起NTFS卷的性能下 降,原因是每次访问被压缩的文件时,都需要对它进行解压缩。如果要拷贝一个压缩文件,其过程是:解压缩、拷贝、重新对拷贝的文件进行压缩 ,大大增加了CPU的处理时间。NTFS压缩功能在Windows 2000/XP专业版上的效率要高于在Windows 2000/XP服务器版上的效率。 

    碎片整理:当磁盘上出现碎片时,访问一个文件就需要磁头做更多地运动,它对性能有极大的不良影响。使磁盘上的碎片维持在一个较低的 

水平是提高NTFS卷性能的最重要的因素。用户可以经常地运行碎片整理工具来完成这一工作。 

    Windows 2000/XP的磁盘碎片整理工具可以快速地对一个卷进行分析,并提出是否需要对这个卷进行整理的建议。 

    禁止非必需的NTFS功能,可以提高系统性能。 

    禁止创建短文件名。NTFS为保持与MS-DOS和Windows 3.x兼容,也支持8.3格式的文件名。如果不想支持这些系统,到注册表中的HKEY_LOCAL 

_MACHINE\SYSTEM\ CurrentControlSet\Control\FileSystem,将NtfsDisable8dot3NameCreation的值由0改为1。 

    禁止最近访问更新。在各个目录之间来回切换时,NTFS将更新最近访问的目录的日期/时间标签,在容量比较大的NTFS卷上,它会降低NTFS卷 的性能。在注册表的HKEY_LOCAL_ MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem中把NtfsDisable LastAccessUpdate的值由0改为1, 

就可以禁止自动更新功能。如果没有这个条目,就加上它。 

    为主文件表(MFT)保留适当的空间。MFT在NTFS卷中扮演着重要的角色,对其性能的影响很大。系统空间分配、读写磁盘时会频繁地访问 

MFT,因此,MFT对NTFS卷的性能有着至关重要的影响。NTFS文件系统的开发者在MFT附近预留着一个特定区域,用来减少MFT中的碎片,默认状态下 ,这一区域占整个卷大小的12.5%。尽管这个区域能使得MFT中的碎片最少,但它并非总是合适的。要对MFT的空间进行管理,可以在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem中增加一个类型为REG_DWORD的NtfsMftZoneReservation,它的默认值是1,其范围是1~ (1表示MFT占整个卷的12.5%,2表示25%,3表示37.5%,4表表示50%)。 

    必须在创建NTFS卷之前改变注册表。对注册表的修改只影响此后建立的NTFS卷,对现有的卷没有影响,这些卷还会保持原来的MFT设置。为 MFT分配更多的空间不会影响正常的存储空间,因为一旦正常的文件存储空间满后,NTFS将使用MFT区,有时这也是导致MFT区更容易出现碎片的原因。因此必须注意用户文件已经占用的存储空间,在卷上保留一定的可用空间,这样MFT就可以有足够的保留空间。 

    关于NtfsMftZoneReservation的设置,其默认的12.5%的设置对大多数用户而言已经足够了。 

    Windows NT/7/8的NTFS文件系统结构非常复杂,感兴趣的读者请参考《Windows 操作系统原理》及其他资料做更深入的研究。

Back To Top
Search