close
重新認識NTFS



圖示(詳細內容請見日誌說明)雖然許多讀者都知道NTFS這個名詞,但細細深究起來卻又似懂非懂,比如:有人認為NTFS對遊戲支持不好,它的安全性到底體現在什麼地方,即使用了似乎也沒有什麼感覺。本篇文章將給大家一個關於NTFS的滿意答案。

 

  一、什麼是檔系統和NTFS

 

  首先,需要澄清讀者對於檔系統的一些錯誤理解,經常有這樣的說法,“我的硬碟是FAT32格式的”,“C盤是NTFS格式”等,它們的錯誤在於,NTFS或是FAT32並不是格式,而是管理檔的系統,其次剛買回來的硬碟並沒有檔系統,必須使用FDISK或Windows 2000/XP的分區工具等對其進行分區並格式化後才會有管理檔的系統,因此檔系統是對應分區的,而不是硬碟,不管是將硬碟分成一個分區,還是幾個分區。

 

  舉個通俗的比喻,一塊硬碟就像一個塊空地,檔就像不同的材料,我們首先得在空地上建起倉庫(分區),並且指定好(格式化)倉庫對材料的管理規範(檔系統),這樣才能將材料運進倉庫保管。

 

  檔不會受所在分區的檔系統影響,就像同樣是汽車輪胎在A倉庫可能直接堆在地上,而B倉庫則會掛在牆上,僅僅是放置和管理方法不同而已,因此,在NTFS分區和FAT32分區的檔可以隨意在分區間移動,內容不會因此產生任何不同。

 

  NTFS的英文全稱為“NT File System”,中文意為NT檔系統(在“我的電腦”中右擊“屬性”,在彈出視窗中就可以看到檔系統資訊)。它隨著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分區上看到檔有更多的屬性。

 

  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。

 

2.在Windows 98中如何查看NTFS分區中的內容?

 

  推薦你使用NTFS Reader for DOS(下載位址:http://www.onlinedown.net/soft/10162.htm),它可以在DOS中查看、複製NTFS分區中的檔。另外,你還可以下載

 

http://download2.lsoft.net/NtfsFloppySetup.exe,用它可以製作能夠訪問NTFS分區的啟動軟碟,而http://download2.lsoft.net/boot-cd-iso.zip則可製作相應的啟動光碟。

 

3.看起來主文件分區表(MFT)十分重要,如果它損壞了如何恢復?

 

  很簡單,在“開始→運行”中輸入“Cmd”,進入命令提示符。輸入“Chkdsk”,回車後就會開始查找磁片錯誤,找到後可以使用“Chkdsk /F”進行修復。

 

  另外,還有朋友在看過22期《系統慢可能是你的檔太多了》一文後詢問,如何優化MFT,其實很簡單,就是定期用磁片碎片整理工具整理磁片,這樣同時也會對MFT中的碎片進行整理。這裏還有一個手工的方法,就是將分區中所有檔移動到其他分區,然後再移動回來,這等於重新整理和優化了資料分區的MFT,但效果比碎片整理差一些。

 

4.NTFS會對遊戲運行有不良影響嗎?

 

  很多人關注這個問題,而有些人認為FAT32更適合玩遊戲。其實,NTFS只是一種管理檔的系統,和遊戲沒有任何直接聯繫。也就是說,NTFS不會對遊戲有特別優勢,FAT32也同樣如此。惟一值得小心的是一些較低級別的應用程式,它們會跳過高端的Win32 API介面,試圖直接訪問磁片磁區,它們才是NTFS可怕的敵人。

 

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

 

  簇是檔系統中基本的儲存單位,當你在Windows對分區進行格式化時,會有簇大小的選擇(見圖4 24rntfs04),如果設置的值比較大,那麼檔保存時佔用的簇就會少,從而檔讀取性能就越高。還是用個比喻,簇就像倉庫中的櫃子,如果你選擇的是小號櫃子,那麼一批材料可能一個櫃子裝不滿,還得用三到四個,如果是大號櫃子,那麼可能只用一個或兩個就裝下了。這樣裝和取材料時,櫃子越少效率就越高。但是,不少批次的材料可能一個大櫃子都裝不滿,這樣櫃子就只能空著許多空間,積少成多,會浪費不少空間。

 

  到底應該選擇多少更合適呢?一個簡單的辦法就是,首先確定分區主要用來保存什麼樣的檔,如果是體積很大的視頻和多媒體檔,那麼最好將簇設置得大一些,這樣可以提高性能。如果分區主要存儲網頁或文字檔案等檔,建議簇小一些,推薦使用Windows的“預設值”,這樣會減少空間浪費。

 

  如果你想更改當前分區的簇的大小,同時又不想重新格式化,可以使用PQMagic來完成(“高級→調整簇的大小”)。

 

6.什麼時候選擇壓縮NTFS卷

 

  在“我的電腦”中右擊某個分區並選擇“屬性”,在“常規”選項卡中有一個“壓縮驅動器以節省磁碟空間”的選項,這個功能確實可以節省一些磁碟空間,但根據CPU速度、分區的大小和要壓縮的資料,應用它後可能會不同的效率,或者提升,或者降低系統性能。

 

  我們建議,如果CPU非常快,但硬碟屬於比較慢的型號,可以考慮壓縮,這樣會對檔讀取效率有些提高;如果分區大於8GB,則不要選擇壓縮,這樣會影響系統性能;如果分區中保存的檔大部分是已經不能壓縮的資料,比如:JPG、ZIP等已經壓縮過的檔,那麼即使選擇了壓縮,也不會有節省空間的效果,建議對主要保存文本、Office、BMP等檔的分區進行壓縮。

 

7.給檔/檔夾加密之後,系統被格式化了,怎麼才能訪問這些檔夾?

 

  最保險的方式是在格式化之前,以管理員身份設置“資料恢復代理”,以備將來的不時之需。具體使用方法參見http://support.microsoft.com/kb/241201/zh-cn

 


 
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Ben 的頭像
    Ben

    Benjamin部落格天地 (勳爸的GO天空部落格)

    Ben 發表在 痞客邦 留言(0) 人氣()