czhou 发表于 2009-5-3 23:11:54

NTFS的妙处

本篇文章将给大家一个关于NTFS的分析。  
 一、什么是文件系统和NTFS
  首先,需要澄清读者对于文件系统的一些错误理解,经常有这样的说法,“我的硬盘是FAT32格式的”,“C盘是NTFS格式”等,它们的错误在于,NTFS或是FAT32并不是格式,而是管理文件的系统,其次刚买回来的硬盘并没有文件系统,必须使用FDISK或Windows 2000/XP的分区工具等对其进行分区并格式化后才会有管理文件的系统,因此文件系统是对应分区的,而不是硬盘,不管是将硬盘分成一个分区,还是几个分区。
  举个通俗的比喻,一块硬盘就像一个块空地,文件就像不同的材料,我们首先得在空地上建起仓库(分区),并且指定好(格式化)仓库对材料的管理规范(文件系统),这样才能将材料运进仓库保管。
  文件不会受所在分区的文件系统影响,就像同样是汽车轮胎在A仓库可能直接堆在地上,而B仓库则会挂在墙上,仅仅是放置和管理方法不同而已,因此,在NTFS分区和FAT32分区的文件可以随意在分区间移动,内容不会因此产生任何不同。
  NTFS的英文全称为“NT File System”,中文意为NT文件系统(见图1 24rntfs01 在“我的电脑”中右击“属性”,在弹出窗口中就可以看到文件系统信息)。它随着1996年7月的Windows NT 4.0诞生的,但直到Windows 2000,它才开始在个人用户中间得以推广,跨入了主力分区文件系统的行列。今天,Windows XP/2003和NTFS早已是“如胶似漆”了。
  我们知道,当初FAT32文件系统的出现对于FAT16而言,可以说是有了比较明显的改善,但NTFS对FAT32的改进,就必须得用“卓越”来形容了。

  NTFS最大分区上限已达到了2TB(1TB=1024GB),从诞生到现在经历了多个版本,Windows NT4.0中的版本为1.2,Windows 2000为3.0,Windows XP为3.1。如果要查看当前NTFS版本号,只要在命令提示符中输入“fsutil fsinfo ntfsinfo c:”(C为分区盘符)即可看到。
  小知识
  常见文件系统
  FAT12:是IBM第一台个人电脑中的MS-DOS 1.0使用的文件系统,主要用于软盘。这种系统限制分区的容量最大为16MB——但这根本算不上问题,因为软盘容量从来没有达到16MB。
  FAT16:它被很多操作系统支持,兼容性最好,但分区最大只能到2GB,并且空间浪费现象比较严重。并且由于FAT16文件系统是单用户文件系统,不支持任何安全性及长文件名。
  FAT32:是在FAT16基础上发展而来,随着Windows 95 OSR2一起发布,可以被大多数操作系统支持,FAT32比FAT16更有效地利用了硬盘空间,并且最大分区的上限已经达到了32GB,适合一般家庭使用。
  ISO9660:CD-ROM的文件系统,不过现在已经延伸出很多新的文件系统,对它的一些缺点进行了弥补,如Juliet等。
  UDF:可读写光盘的文件系统。
  Mac HFS:苹果电脑的文件系统,对大容量磁盘有比较好的支持。不过,现在大多数苹果电脑还在使用FAT32文件系统。
二、细数NTFS的四大优点
  1.具备错误预警的文件系统
  在NTFS分区中,最开始的16个扇区是分区引导扇区,其中保存着分区引导代码,接着就是主文件表(Master File Table,以下简称MFT),但如果它所在的磁盘扇区恰好出现损坏,NTFS文件系统会比较智能地将MFT换到硬盘的其他扇区,保证了文件系统的正常使用,也就是保证了Windows的正常运行。而以前的FAT16和FAT32的FAT(文件分配表)则只能固定在分区引导扇区的后面,一旦遇到扇区损坏,那么整个文件系统就要瘫痪。
  但这种智能移动MFT的做法当然并非十全十美,如果分区引导代码中指向MFT的部分出现错误,那么NTFS文件系统便会不知道到哪里寻找MFT,从而会报告“磁盘没有格式化”这样的错误信息。为了避免这样的问题发生,分区引导代码中会包含一段校验程序,专门负责侦错。
  2.文件读取速度更高效!
  恐怕很多人都听说NTFS文件系统在安全性方面有很多新功能,但你可否知道:NTFS在文件处理速度上也比FAT32大有提升呢?
  对DOS略知一二的读者一定熟悉文件的各种属性:只读、隐藏、系统等。在NTFS文件系统中,这些属性都还存在,但有了很大不同。在这里,一切东西都是一种属性,就连文件内容也是一种属性。这些属性的列表不是固定的,可以随时增加,这也就是为什么你会在NTFS分区上看到文件有更多的属性(见图2 24rntfs02)。

  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”),不仅MFT会很容易出现磁盘碎片,更糟糕的是,磁盘碎片整理工具往往不能整理这各分区中的MFT,严重影响系统性能。因此,建议将分区直接格式化为NTFS文件系统。
三、NTFS的七大热点问答
  1.是不是NTFS一定比FAT32更高效,为什么我感觉不到呢?
  当然也不能这样一概而论,因为NTFS与FAT的单个文件操作速度差异往往仅在毫秒之间.一般无法察觉,如果硬盘小,文件操作不频繁,那么差异不明显,不过随着硬盘向200GB迈进,电脑同时执行多任务的机会不断增加,差异会越来越明显。
  同时,NTFS的MFT相当于一个小型数据库,因此对硬件也有较高要求,而且对于较小分区它反而不如FAT32更高效,因此,是否使用NTFS文件系统还有以下几个注意点:
  ★微软建议分区大于32GB最好使用NTFS文件系统,而且在Windows XP中,分区超过个数字后,就无法格式为FAT32文件系统了。专家的建议是,分区在8GB以下,FAT32会更高效,分区在16GB或更高时,最好选择NTFS文件系统。对于8GB~16GB的分区,使用哪种就看你自己的喜好了。
  ★硬盘转速最好在5400转以上,CPU主频不低于700MHz,内存不少于256MB

メ飛♂逝わ 发表于 2009-5-4 07:26:30

看了这个格式好啊我也换一下啊

哈尼 发表于 2009-5-4 09:15:48

恩,NTFS是很棒的,好多服务没有这个就安装不了。

tongdongfei 发表于 2009-5-7 08:49:04

谢谢,分享。学习了

本少vae 发表于 2009-5-7 15:22:51

:D收藏起来学习
页: [1]
查看完整版本: NTFS的妙处