找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
查看: 3559|回复: 0

[资料] 详说 NTFS 文件系统

[复制链接]

9333

威望

818

金钱

1万

贡献

管理员

自由的灵魂

积分
100458
主题
5590
回帖
26310
注册时间
2003-4-10
最后登录
2024-11-21
发表于 2009-2-27 14:48:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 IsaacZ 于 2013-5-24 11:53 编辑

虽然许多读者都知道NTFS这个名词,但细细深究起来却又似懂非懂,比如:有人认为NTFS对游戏支持不好,它的安全性到底体现在什么地方,即使用了似乎也没有什么感觉。本篇文章将给大家一个关于NTFS的满意答案。

一、什么是文件系统和NTFS

首先,需要澄清读者对于文件系统的一些错误理解,经常有这样的说法,“我的硬盘是FAT32格式的”,“C盘是NTFS格式”等,它们的错误在于,NTFS或是FAT32并不是格式,而是管理文件的系统,其次刚买回来的硬盘并没有文件系统,必须使用FDISK或Windows2000/XP的分区工具等对其进行分区并格式化后才会有管理文件的系统,因此文件系统是对应分区的,而不是硬盘,不管是将硬盘分成一个分区,还是几个分区。

举个通俗的比喻,一块硬盘就像一个块空地,文件就像不同的材料,我们首先得在空地上建起仓库(分区),并且指定好(格式化)仓库对材料的管理规范(文件系统),这样才能将材料运进仓库保管。

文件不会受所在分区的文件系统影响,就像同样是汽车轮胎在A仓库可能直接堆在地上,而B仓库则会挂在墙上,仅仅是放置和管理方法不同而已,因此,在NTFS分区和FAT32分区的文件可以随意在分区间移动,内容不会因此产生任何不同。

NTFS的英文全称为“NTFileSystem”,中文意为NT文件系统(见图124rntfs01在“我的电脑”中右击“属性”,在弹出窗口中就可以看到文件系统信息)。它随着1996年7月的WindowsNT4.0诞生的,但直到Windows2000,它才开始在个人用户中间得以推广,跨入了主力分区文件系统的行列。今天,WindowsXP/2003和NTFS早已是“如胶似漆”了。

我们知道,当初FAT32文件系统的出现对于FAT16而言,可以说是有了比较明显的改善,但NTFS对FAT32的改进,就必须得用“卓越”来形容了。

NTFS最大分区上限已达到了2TB(1TB=1024GB),从诞生到现在经历了多个版本,WindowsNT4.0中的版本为1.2,Windows2000为3.0,WindowsXP为3.1。如果要查看当前NTFS版本号,只要在命令提示符中输入“fsutilfsinfontfsinfoc:”(C为分区盘符)即可看到。

小知识

常见文件系统

FAT12: 是IBM第一台个人电脑中的MS-DOS1.0使用的文件系统,主要用于软盘。这种系统限制分区的容量最大为16MB——但这根本算不上问题,因为软盘容量从来没有达到16MB。

FAT16:它被很多操作系统支持,兼容性最好,但分区最大只能到2GB,并且空间浪费现象比较严重。并且由于FAT16文件系统是单用户文件系统,不支持任何安全性及长文件名。

FAT32:是在FAT16基础上发展而来,随着Windows95OSR2一起发布,可以被大多数操作系统支持,FAT32比FAT16更有效地利用了硬盘空间,并且最大分区的上限已经达到了32GB,适合一般家庭使用。

ISO9660:CD-ROM的文件系统,不过现在已经延伸出很多新的文件系统,对它的一些缺点进行了弥补,如Juliet等。

UDF:可读写光盘的文件系统。

MacHFS:苹果电脑的文件系统,对大容量磁盘有比较好的支持。不过,现在大多数苹果电脑还在使用FAT32文件系统。

二、细数NTFS的四大优点

1.具备错误预警的文件系统

在NTFS分区中,最开始的16个扇区是分区引导扇区,其中保存着分区引导代码,接着就是主文件表(MasterFileTable,以下简称MFT),但如果它所在的磁盘扇区恰好出现损坏,NTFS文件系统会比较智能地将MFT换到硬盘的其他扇区,保证了文件系统的正常使用,也就是保证了Windows的正常运行。而以前的FAT16和FAT32的FAT(文件分配表)则只能固定在分区引导扇区的后面,一旦遇到扇区损坏,那么整个文件系统就要瘫痪。

但这种智能移动MFT的做法当然并非十全十美,如果分区引导代码中指向MFT的部分出现错误,那么NTFS文件系统便会不知道到哪里寻找MFT,从而会报告“磁盘没有格式化”这样的错误信息。为了避免这样的问题发生,分区引导代码中会包含一段校验程序,专门负责侦错。

2.文件读取速度更高效!

恐怕很多人都听说NTFS文件系统在安全性方面有很多新功能,但你可否知道:NTFS在文件处理速度上也比FAT32大有提升呢?

对DOS略知一二的读者一定熟悉文件的各种属性:只读、隐藏、系统等。在NTFS文件系统中,这些属性都还存在,但有了很大不同。在这里,一切东西都是一种属性,就连文件内容也是一种属性。这些属性的列表不是固定的,可以随时增加,这也就是为什么你会在NTFS分区上看到文件有更多的属性(见图224rntfs02)。

NTFS文件系统中的文件属性可以分成两种:常驻属性和非常驻属性,常驻属性直接保存在MFT中,像文件名和相关时间信息(例如创建时间、修改时间等)永远属于常驻属性,非常驻属性则保存在MFT之外,但会使用一种复杂的索引方式来进行指示。如果文件或文件夹小于1500字节(其实我们的电脑中有相当多这样大小的文件或文件夹),那么它们的所有属性,包括内容都会常驻在MFT中,而MFT是Windows一启动就会载入到内存中的,这样当你查看这些文件或文件夹时,其实它们的内容早已在缓存中了,自然大大提高了文件和文件夹的访问速度。

小提示:

为什么FAT的效率不如NTFS高


FAT文件系统的文件分配表只能列出了每个文件的名称及起始簇,并没有说明这个文件是否存在,而需要通过其所在文件夹的记录来判断,而文件夹入口又包含在文件分配表的索引中。因此在访问文件时,首先要读取文件分配表来确定文件已经存在,然后再次读取文件分配表找到文件的首簇,接着通过链式的检索找到文件所有的存放簇,最终确定后才可以访问。

3.磁盘自我修复功能

NTFS利用一种“自我疗伤”的系统,可以对硬盘上的逻辑错误和物理错误进行自动侦测和修复。在FAT16和FAT32时代,我们需要借助Scandisk这个程序来标记磁盘上的坏扇区,但当发现错误时,数据往往已经被写在了坏的扇区上了,损失已经造成。

NTFS文件系统则不然,每次读写时,它都会检查扇区正确与否。当读取时发现错误,NTFS会报告这个错误;当向磁盘写文件时发现错误,NTFS将会十分智能地换一个完好位置存储数据,操作不会受到任何影响。在这两种情况下,NTFS都会在坏扇区上作标记,以防今后被使用。这种工作模式可以使磁盘错误可以较早地被发现,避免灾难性的事故发生。

有些人发现当把磁盘转换为NTFS文件系统后,用磁盘扫描程序就很难发现磁盘错误了。经过前面的介绍,你知道这是为什么了吗?

4.“防灾赈灾”的事件日志功能

在NTFS文件系统中,任何操作都可以被看成是一个“事件”。比如将一个文件从C盘复制到D盘,整个复制过程就是一个事件。事件日志一直监督着整个操作,当它在目标地——D盘发现了完整文件,就会记录下一个“已完成”的标记。假如复制中途断电,事件日志中就不会记录“已完成”,NTFS可以在来电后重新完成刚才的事件。事件日志的作用不在于它能挽回损失,而在于它监督所有事件,从而让系统永远知道完成了哪些任务,那些任务还没有完成,保证系统不会因为断电等突发事件发生紊乱,最大程度降低了破坏性。

5.我是否需要哪些附加的功能?

其实,NTFS还提供了磁盘压缩、数据加密、磁盘配额(在“我的电脑”中右击分区并并行“属性”,进入“配额”选项卡即可设置)、动态磁盘管理等功能,这些功能在很多报刊杂志上介绍的比较多了,这里不再详细介绍。

NTFS提供了为不同用户设置不同访问控制、隐私和安全管理功能。如果你的系统处于一个单机环境,比如家用电脑,那么这些功能对你意义不是很大。

小提示

从FAT转换过来的NTFS,性能有折扣

如果分区是从FAT32转换为NTFS文件系统的(使用命令为“CONVERT   驱动器盘符   /FS:NTFS”,例如:CONVERT   C:  /FS:NTFS),不仅MFT会很容易出现磁盘碎片,更糟糕的是,磁盘碎片整理工具往往不能整理这各分区中的MFT,严重影响系统性能。因此,建议将分区直接格式化为NTFS文件系统。 (IsaacZ注:用 Vopt 9.21 似乎也可以整理 MFT。)

三、NTFS的七大热点问答

1.是不是NTFS一定比FAT32更高效,为什么我感觉不到呢?

当然也不能这样一概而论,因为NTFS与FAT的单个文件操作速度差异往往仅在毫秒之间.一般无法察觉,如果硬盘小,文件操作不频繁,那么差异不明显,不过随着硬盘向200GB迈进,电脑同时执行多任务的机会不断增加,差异会越来越明显。

同时,NTFS的MFT相当于一个小型数据库,因此对硬件也有较高要求,而且对于较小分区它反而不如FAT32更高效,因此,是否使用NTFS文件系统还有以下几个注意点:

★微软建议分区大于32GB最好使用NTFS文件系统,而且在WindowsXP中,分区超过个数字后,就无法格式为FAT32文件系统了。专家的建议是,分区在8GB以下,FAT32会更高效,分区在16GB或更高时,最好选择NTFS文件系统。对于8GB~16GB的分区,使用哪种就看你自己的喜好了。

★硬盘转速最好在5400转以上,CPU主频不低于700MHz,内存不少于256MB。

另外,还有朋友在看过22期《系统慢可能是你的文件太多了》一文后询问,如何优化MFT,其实很简单,就是定期用磁盘碎片整理工具整理磁盘,这样同时也会对MFT中的碎片进行整理。这里还有一个手工的方法,就是将分区中所有文件移动到其他分区,然后再移动回来,这等于重新整理和优化了数据分区的MFT,但效果比碎片整理差一些。

4.NTFS会对游戏运行有不良影响吗?

很多人关注这个问题,而有些人认为FAT32更适合玩游戏。其实,NTFS只是一种管理文件的系统,和游戏没有任何直接联系。也就是说,NTFS不会对游戏有特别优势,FAT32也同样如此。惟一值得小心的是一些较低级别的应用程序,它们会跳过高端的Win32API接口,试图直接访问磁盘扇区,它们才是NTFS可怕的敌人。

5.如何配置簇的大小呢?

簇是文件系统中基本的储存单位,当你在Windows对分区进行格式化时,会有簇大小的选择(见图424rntfs04),如果设置的值比较大,那么文件保存时占用的簇就会少,从而文件读取性能就越高。还是用个比喻,簇就像仓库中的柜子,如果你选择的是小号柜子,那么一批材料可能一个柜子装不满,还得用三到四个,如果是大号柜子,那么可能只用一个或两个就装下了。这样装和取材料时,柜子越少效率就越高。但是,不少批次的材料可能一个大柜子都装不满,这样柜子就只能空着许多空间,积少成多,会浪费不少空间。

到底应该选择多少更合适呢?一个简单的办法就是,首先确定分区主要用来保存什么样的文件,如果是体积很大的视频和多媒体文件,那么最好将簇设置得大一些,这样可以提高性能。如果分区主要存储网页或文本文件等文件,建议簇小一些,推荐使用Windows的“默认值”,这样会减少空间浪费。

如果你想更改当前分区的簇的大小,同时又不想重新格式化,可以使用PQMagic来完成(“高级→调整簇的大小”)。

6.什么时候选择压缩NTFS卷

在“我的电脑”中右击某个分区并选择“属性”,在“常规”选项卡中有一个“压缩驱动器以节省磁盘空间”的选项,这个功能确实可以节省一些磁盘空间,但根据CPU速度、分区的大小和要压缩的数据,应用它后可能会不同的效率,或者提升,或者降低系统性能。

我们建议,如果CPU非常快,但硬盘属于比较慢的型号,可以考虑压缩,这样会对文件读取效率有些提高;如果分区大于8GB,则不要选择压缩,这样会影响系统性能;如果分区中保存的文件大部分是已经不能压缩的数据,比如:JPG、ZIP等已经压缩过的文件,那么即使选择了压缩,也不会有节省空间的效果,建议对主要保存文本、Office、BMP等文件的分区进行压缩。

7.给文件/文件夹加密之后,系统被格式化了,怎么才能访问这些文件夹?

最保险的方式是在格式化之前,以管理员身份设置“数据恢复代理”,以备将来的不时之需。具体使用方法参见http://support.microsoft.com/kb/241201/zh-cn
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛 |网站地图

GMT+8, 2024-11-22 17:26 , Processed in 0.300510 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表