雖然許多讀者都知道NTFS這個名詞,但細細深究起來卻又似懂非懂,比如:有人認為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文件系統。