關於FAT32和NTFS文件系統的介紹以及相關問題的解答(轉自“第二戰區”)

 本來想自己寫一個的,但查閱一些資料時找到了這篇文章,感覺自己也不能寫的這麼完整,所以就直接轉載了。
       1、什麼是NTFS?
       想要了解NTFS,我們首先應該認識一下FAT。FAT(File Allocation Table)是“文件分配表”的意思。對我們來說,它的意義在於對硬盤分區的管理。FAT16、FAT32、NTFS是目前最常見的三種文件系統。
       FAT16:我們以前用的DOS、Windows 95都使用FAT16文件系統,現在常用的Windows 98/2000/XP等系統均支持FAT16文件系統。它最大可以管理大到2GB的分區,但每個分區最多只能有65525個簇(簇是磁盤空間的配置單位)。隨着硬盤或分區容量的增大,每個簇所佔的空間將越來越大,從而導致硬盤空間的浪費。
       FAT32:隨着大容量硬盤的出現,從Windows 98開始,FAT32開始流行。它是FAT16的增強版本,可以支持大到2TB(2048GB)的分區。FAT32使用的簇比FAT16小,從而有效地節約了硬盤空間。
       NTFS:微軟Windows NT內核的系列操作系統支持的、一個特別爲網絡和磁盤配額、文件加密等管理安全特性設計的磁盤格式。隨着以NT爲內核的Windows 2000/XP的普及,很多個人用戶開始用到了NTFS。NTFS也是以簇爲單位來存儲數據文件,但NTFS中簇的大小並不依賴於磁盤或分區的大小。簇尺寸的縮小不但降低了磁盤空間的浪費,還減少了產生磁盤碎片的可能。NTFS支持文件加密管理功能,可爲用戶提供更高層次的安全保證。
       2、什麼系統可以支持NTFS文件系統?
       只有Windows NT/2000/XP才能識別NTFS系統,Windows 9x/Me以及DOS等操作系統都不能支持、識別NTFS格式的磁盤。由於DOS系統不支持NTFS系統,所以最好不要將C:盤製作爲NTFS系統,這樣在系統崩潰後便於在DOS系統下修復。
     
ntfs與操作系統支持情況表
    文件系統                                支持的操作系統
       fat16         windows 95/98/me/nt/2000/xp unix,linux,dos
       fat32                            windows 95/98/me/2000/xp
       ntfs                                    windows nt/2000/xp
      3、我是不是需要NTFS?
        Windows 2000/XP在文件系統上是向下兼容的,它可以很好地支持FAT16/FAT32和NTFS,其中NTFS是Windows NT/2000/XP專用格式,它能更充分有效地利用磁盤空間、支持文件級壓縮、具備更好的文件安全性。如果你只安裝Windows 2000/XP,建議選擇NTFS文件系統。如果多重引導系統,則系統盤(C盤)必須爲FAT16或FAT32,否則不支持多重引導。當然,其他分區的文件系統可以爲NTFS。
      4、如何將FAT分區轉換爲NTFS?
       Windows 2000/XP提供了分區格式轉換工具“Convert.exe”。Convert.exe是Windows附帶的一個DOS命令行程序,通過這個工具可以直接在不破壞FAT文件系統的前提下,將FAT轉換爲NTFS。它的用法很簡單,先在Windows環境下運行CMD切換到DOS命令行窗口,在提示符下鍵入:
       D:\>convert 需要轉換的盤符 /FS:NTFS
       如系統X盤原來爲FAT16/32,現在需要轉換爲NTFS,可使用如下簡單命令格式:
       D:\>convert X: /FS:NTFS
       所有的轉換將在系統重新啓動後完成。
       將 FAT 卷轉換成 NTFS的完全命令格式。
       命令:
       CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]
       volume 指定驅動器號(後面跟一個冒號)、裝載點或卷名。
       /FS:NTFS 指定要被轉換成 NTFS 的卷。
       /V 指定 Convert 應該用詳述模式運行。
       /CvtArea:filename
       將根目錄中的一個接續文件指定爲
        NTFS 系統文件的佔位符。
       /NoSecurity 指定每個人都可以訪問轉換的文件
       和目錄的安全設置。
       /X 如果必要,先強行卸載卷。
       該卷的所有打開的句柄則無效。
       此外,你還可以使用專門的轉換工具,如著名的硬盤無損分區工具Partition Magic,使用它完成磁盤文件格式的轉換也是非常容易的。首先在界面中的磁盤分區列表中選擇需要轉換的分區。從界面按鈕條中選擇“Convert Partition”按鈕,或者是從界面菜單條“Operations”項下拉菜單中選擇“Convert”命令。激活該項功能界面。在界面中選擇轉換輸出爲“NTFS”,之後單擊“OK”按鈕返回程序主界面。單擊界面右下角的“Apply”添加設置。此後系統會重新引導啓動,並完成分區格式的轉換操作。
       5、雖然NTFS格式分區比較優越,但是在這個分區下如何找回意外丟失的文件?
      你可以使用專門的軟件,如Final Data for NTFS,或者是Get Data Back for NTFS。這兩個軟件的文件恢復效果都不錯,如果在文件刪除後沒有任何文件操作,恢復率接近100%。所以不要等到文件刪除後才安裝這個軟件,最好是與Windows系統一起安裝,並在出現文件誤刪除後立刻執行恢復操作,一般可以將刪除的文件恢復回來。
        6、我的Windows 2000/XP安裝在C盤(NTFS格式),如果在DOS狀態下不能進入C盤,當Windows崩潰時怎麼辦?
        你可以使用Windows 2000/XP的安裝光盤啓動來修復Windows,或者是製作Windows 2000/XP的安裝啓動應急盤。注意:Windows 2000的安裝盤製作程序在程序的安裝光盤中,而Windows XP的應急盤製作是獨立提供的,需要從微軟的網站下載。
       7、Final Data for NTFS或Get Data Back for NTFS可以修復被意外格式化的硬盤嗎?
       可以。這兩個軟件都可以恢復格式化刪除的數據(低級格式化除外)。常規格式化刪除的只是數據信息,低級格式化則刪除全部數據區,當硬盤技術還不像現在這樣發達的時候,磁盤表面很容易磨損。硬盤使用者對經常出現的讀錯誤,往往採用低級格式化。修復被格式化的硬盤,只能將這個硬盤拆下來,安裝到其他的計算機中,之後執行文件修復操作。Final Data甚至可以修復由CIH病毒破壞的硬盤。
        8、容量方面:
        FAT32支持98/me/2000/XP/2003等系統,簇最大量4177918,最大容量2TB,可實現容量Win98爲127.53GB,2000/XP/2003爲32GB;
        NTFS支持2000/XP/2003等系統,簇最大量4294967296,最大容量16EB(1EB=1024TB,1TB=1024GB),可實現容量Win98不支持,2000/XP/2003爲2TB。
       優點方面:
      FAT32的優點:
       ①FAT32驅動器上的根文件夾現在是一個普通的簇鏈,所以其可定位在分區的任何地方。正因爲此,FAT32不限制要文件夾中條目的數量。
       ②比FAT16可更有效地使用空間,因爲FAT32比FAT16使用的簇小。
       ③FAT32比FAT16更穩定。
       我只能用FAT32與FAT16作比較還能顯示出優點,如果和NTFS作比較,我想它就沒有什麼優點了,可能唯的就是能夠通過純dos啓動後,能看到該分區而以。
       NTFS的優點:
      ①可修復性:NTFS通過使用標準的輿記錄和修復技術保證了分區的連續性。一旦系統發生故障,NTFS使用其自身的日誌文件和檢查點信息來自動恢復文件系統的一致性;
       ②壓縮:支持對NTFS分區的單個文件壓縮。被壓縮在NTFS分區中的文件可被任意基於Windows的應用程序讀和寫,而不需首先用另一程序來解壓。解壓在讀取文件時自動發生。當文件被關閉或保存時又再次被壓縮。
       ③NTFS減少了需要找到文件的磁盤訪問的次數,所以訪問速度快捷;
       ④用戶可設置文件與文件夾的使用權限來指定哪個工作組和用戶可以用什麼級別訪問它們,所以文件與文件夾安全性高;
       ⑤支持名爲EFS的內部文件加密系統,使用公用密鑰安全機制以預防對文件內容的未授權的訪問;
       ⑥可以設置磁盤限額,限制用戶可使用的NTFS分區中的空間大小。
       簡單概括:
      NTFS容錯性好,支持長文件名,可配額硬盤,可設置訪問權限,可以對文件進行加密,當然還有更多的優點。
        9、將 FAT 轉換爲 NTFS 所需的可用空間
       從 FAT 文件系統到 NTFS 的磁盤分區轉換需要一定的可用磁盤空間,以用於建立 NTFS 磁盤結構。本文介紹使用 Convert.exe 將 FAT 轉換爲 NTFS 的步驟並討論轉換所需要的空間。
FAT 和 NTFS 使用不同的磁盤結構表示文件的空間分配。這些結構通常被稱作圖元數據或文件系統的開銷。
       FAT 文件系統的圖元數據由下列各項組成:即引導扇區、一個或多個文件分配列表、一定大小的根目錄結構以及與子目錄中的文件數目相關的每個子目錄的可變空間。
與 FAT 和 NTFS 相關的另一種開銷與兩種文件系統按一定大小的簇分配磁盤空間有關。這些分配單元或簇的實際大小是在格式化時確定的,默認大小取決於卷的大小。對於大小相近的卷而言,NTFS 所默認的簇的大小小於 FAT 的默認大小。
       由於文件數據的空間僅可以按整個簇的數量進行分配,所以在 FAT 捲上即使一個字節文件最後也將使用相當於一個簇的磁盤空間。NTFS 的情況與 FAT 類似,但是相比 FAT 稍微複雜一些,在本文中將不做詳細介紹。
       與 FAT 一樣,NTFS 有一定數量的容量開銷與一定數量的各個文件的開銷。爲了支持 NTFS 的高級功能(如可恢復性、安全性、大容量支持等等),NTFS 圖元數據開銷稍大於 FAT 圖元數據開銷。另一方面,由於 NTFS 簇開銷小於 FAT 簇開銷,即使不使用 NTFS 文件壓縮,NTFS 捲上通常也能存儲不多於但至少也會等同於 FAT 捲上的數據量。
       爲避免在轉換過程中由於轉換失敗而使文件受到破壞的可能性,Convert.exe 必須使用 FAT 文件系統所認可的可用空間建立 NTFS 圖元數據。這樣,如果轉換無法完成,用戶文件的 FAT 表示仍舊有效。使得該方法複雜化的原因在於其中一個 NTFS 數據扇區必須佔用磁盤上的指定位置,同時數量有限的某些其它結構必須佔用臨接扇區。
       轉換過程的一般概述如下:
       1. 爲固定位置的 NTFS 結構與其它臨接數據(如有必要)創建一些空位(即重新分配 FAT 簇)並保存新的 FAT。例如,如果由於不可讀的原因,必要的扇區無法使用,轉換過程會失敗且 FAT 卷與試圖轉換前的狀態將保持一致。
       2. 在 FAT 可用空間中創建 NTFS 基本數據結構。它們是適用於任何 NTFS 卷的固定大小的表示結構。這些表的大小可能因卷的大小而有所不同,但這並不取決於捲上的文件的個數。
       3. 在 FAT 可用空間中創建 NTFS 主控文件表與目錄列表。該步驟所需的空間是可變的並取決於在 FAT 捲上的文件總個數。
       4. 將那些由 FAT 指定結構所使用的 NTFS 簇在 NTFS 位圖中標記爲可用。轉換完成之後,FAT 圖元數據開銷可以重新作爲 NTFS 的可用空間。
       5. 寫 NTFS 引導扇區。這是導致卷被識別爲 NTFS 而非 FAT 的最後一步操作。如果轉換在此步驟之前的任一步驟失敗,該卷將仍將是有效的 FAT 卷並將識別爲 FAT 卷。
       由於在任何時候均有可能發生崩潰,上述過程最大限度減小了磁盤破壞的可能性。
       備註:幾乎所有寫操作是到 FAT 可用空間的,因此轉換失敗會使 FAT 保持原樣。
       例如,只有當轉換失敗可能會引起問題時,我們才寫入非可用空間,這些情況包括:
· 在步驟 1 的最後,當“轉換”覆蓋 FAT 時。重新分配簇的算法可以保證:如果在該過程中出現轉換失敗,CHKDSK 將可以修復磁盤而不丟失任何數據。
·        在步驟 5,寫引導扇區時。如果在該步驟中出現故障,且正在轉換的卷是系統分區(用於引導系統的活動主分區),就有可能使系統停留在它無法開始的狀態。發生這種情況(一般不可能發生)時,仍有可能使用啓動軟盤啓動系統。
        Convert.exe 根據在 FAT 捲上預先存在文件的個數以及卷的大小進行計算以統計出在開始轉換之前需要多少可用空間。對於標準硬件(每個扇區有 512 字節的硬盤),計算方法爲:
       1. 開始時,將卷的大小(以字節爲單位)除以 100。如果該值小於 1,048,576,則取 1,048,576。如果該值大於 4,194,304,則取 4,194,304。
       2. 對上述值加上以字節爲單位的卷大小除以 803 的數值。
       3. 對上述值加上捲上的文件與目錄的個數乘以 1280 的數值。
       4. 對上述值加上 196,096。
       除上述算法之外,如果在 FAT 捲上有擴展屬性信息,Convert.exe 將考慮所需要的額外空間。擴展屬性信息通常不提供,而且在系統已運行 OS/2 且使用擴展屬性時才考慮提供。
上述算法基本上反映了由 Convert.exe 所執行的算法。在給定系統上所獲得的實際結果可能會稍微有所不同。
       備註:這是在嘗試轉換之前 Convert.exe 所需要的可用空間。該算法考慮了在 FAT 可用空間中可能遇到壞扇區的可能性。但是,在卷有足夠可用空間可以開始轉換且發現磁盤空間的重要碎片不可用的情況下,轉換過程可能會失敗。如上所述,這將不會導致磁盤損壞。卷應自動退回爲 FAT 的狀態。
總結:FAT32和NTFS也存在各自的缺點,再此就不再說了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章