FAT、HPFS 與 NTFS 檔案系統總覽
這篇文章中的資訊適用於:
Microsoft Windows NT Server 3.1
Microsoft Windows NT Workstation 3.1
Microsoft Windows NT Advanced Server
Microsoft Windows NT Workstation
Microsoft Windows NT Server
本文曾發行於 CHT100108
結論
本文說明在 Windows NT 下,FAT、HPFS 與 NTFS 之間的差異及其優缺點。本文分為下面幾節:
FAT 總覽
HPFS 總覽
NTFS 總覽
注意:只有 Windows NT 3.1、3.5 與 3.51 才支援 HPFS,Windows NT 4.0 不支援也無法存取 HPFS 磁碟分割區。此外,只有 Windows 98/95 與 Windows 2000 才支援 FAT32 檔案系統。
其他相關資訊
FAT 總覽
FAT 目前是 Windows NT 支援的檔案系統中最簡單的一個。FAT 檔案系統的特點在於檔案配置表 (FAT),這確實是一個表格,位於磁碟的極頂層。為了保護磁區,最好保留兩份 FAT,以防其中一個損毀。此外,FAT 表與根目錄必須儲存在固定的位置,才能正確地找到系統的開機檔。
以 FAT 格式化的磁碟會將資料配置在叢集中,叢集的大小視磁區的大小而定。當一個檔案被建立時,目錄中會建立一個項目,且包含資料的第一個叢集編號也會建立。位於 FAT 表內的這個項目,若非指出此為檔案最後一個叢集,就是指向下一個叢集。
更新 FAT 表非常重要,但也相當耗時。未定期更新 FAT 表可能導致資料遺失。而非常耗時的原因是,每次更新 FAT 表時,磁碟的讀取頭就必須重新放到磁碟機的零號邏輯磁軌。
FAT 目錄結構沒有組織,檔案會被置於磁碟機上找到的第一個可用位置。此外,FAT 只支援唯讀、隱藏、系統與保存等檔案屬性。
FAT 命名法
FAT 使用傳統的 8.3 檔案命名法,所有檔名都必須以 ASCII 字元集建立。檔案或目錄名稱最多八個字元,後面以一個句點 (.) 作為分隔,接著是最多三個字元的副檔名。名稱必須以字母或數字開頭,其後可以使用任何字元,但下列字元除外:
. " / \ [ ] : ; | = ,
如果用了這些字元,可能造成無法預期的後果。名稱中不能包含空格。
下列名稱為系統保留名稱:
CON、AUX、COM1、COM2、COM3、COM4、LPT1、LPT2、LPT3、PRN、NUL
所有字元都會被轉成大寫。
FAT 的優點
在 Windows NT 下使用任何一種支援的檔案系統,都無法執行取消刪除的動作。Undelete 公用程式會試圖直接存取硬體,這在 Windows NT 下是不可行的。但若檔案位於 FAT 磁碟分割區,且系統重新啟動成 MS-DOS 模式,此檔案便可取消刪除。若磁碟機與 (或) 磁碟分割區的容量在 200 MB 以下,那麼 FAT 是最適用的檔案系統,因為 FAT 虛耗的空間很少。如需 FAT 優點的進一步說明,請參閱下列文件:
Microsoft Windows NT Server《Concepts and Planning Guide》第 5 章〈Choosing a File System〉
《Microsoft Windows NT Workstation 4.0 Resource Kit》,第 18 章〈Choosing a File System〉
《Microsoft Windows NT Server 4.0 Resource Kit Resource Guide》第 3 章〈Which File System to Use on Which Volumes〉
FAT 的缺點
若磁碟機或磁碟分割區大於 200 MB,最好不要使用 FAT 檔案系統,這是因為磁碟容量加大後,FAT 的效能會快速降低。您無法對位於 FAT 磁碟分割區的檔案設定使用權限。
FAT 磁碟分割區在 Windows NT 下的大小上限為 4 GB,在 MS-DOS 下為 2 GB。如需此種限制的詳細資訊,請參閱 Microsoft Knowledge Base 中的下列文件:
文件編號: 118335
標題:Maximum Partition Size in MS-DOS
如需 FAT 缺點的進一步說明,請參閱下列文件:
《Microsoft Windows NT Server Concepts and Planning Guide》第 5 章〈Choosing a File System〉
《Microsoft Windows NT Workstation 4.0 Resource Kit》第 18 章〈Choosing a File System〉
《Microsoft Windows NT Server 4.0 Resource Kit Resource Guide》第 3 章〈Which File System to Use on Which Volumes〉
HPFS 總覽
HPFS 檔案系統最初用於 OS/2 1.2,它可增進較大硬碟的存取效能,因而廣受市場歡迎。此外,市場也需要一個可以擴展命名系統、組織性與安全性的新檔案系統,以滿足網路伺服器市場在此方面的漸增需求。HPFS 保留了 FAT 的目錄組織,同時還新增了以檔名為基礎的目錄自動排序功能。檔名則可擴展至最多 254 個雙位元組字元。HPFS 還可使用「資料」與特別屬性來組成檔案,在支援其他命名法與安全性方面確實增加了不少彈性。此外,配置單位不再是叢集,而改成實際磁區 (sector)(512 位元組),這降低了磁碟空間的浪費。
在 HPFS 下,目錄項目所包含的資訊比 FAT 還多。至於檔案屬性,則包含了修改、建立以及存取日期與次數等資訊。在 HPFS 下,目錄項目不再指向檔案的第一個叢集,而是指向 FNODE,FNODE 可包含檔案資料或包含指向檔案資料的指標,或指標會先指向其他結構,但最終都會指到檔案資料。
HPFS 會將檔案儘可能配置在相鄰的磁區,這樣做是為了在執行檔案的序列處理程序時可以加快速度。
HPFS 將磁碟機組織成一系列的 8 MB 頻帶 (band),無論何時檔案都儘可能包含在其中一個頻帶內。每個頻帶之間都有一個 2K 的配置映像圖 (allocation bitmap),它可以追蹤頻帶中有哪些磁區已經配置或尚未配置。頻帶的運用增進了執行效能,因為磁碟機讀寫頭不需返回磁碟的邏輯頂層 (一般是指磁柱 0),只需回到最近的頻帶配置映像圖,即可判斷檔案儲存的位置。
此外,HPFS 還包含一對獨一的特別資料物件:
特別區塊
特別區塊 (Super Block) 位於邏輯磁區 16,它包含一個指向根目錄 FNODE 的指標。使用 HPFS 最大的風險之一,就是若因磁區損壞而遺失或損毀了「特別區塊」,那麼整個磁碟分割區的內容也等於弄丟了,即使磁碟的其他部位仍完好無缺。您可以將整個磁碟機的資料複製到另一個磁區 16 未損毀的磁碟機上,然後重建「特別區塊」,這樣或許可以復原資料。但這是個很複雜的動作。
備用區塊
備用區塊 (Spare Block) 位於邏輯磁區 17,它包含一個「熱修復」(hot fix) 表格以及「備用目錄區塊」(Spare Directory Block)。在 HPFS 下,如果偵測到壞磁區,「熱修復」項目可以邏輯性的指出現存的好磁區,用以取代壞掉的磁區。這種處理寫入錯誤的技術稱為熱修復 (hot fixing)。
熱修復技術的運用範圍,是在磁區損毀而發生錯誤時,檔案系統會將資訊移至另一個磁區,並將原來的磁區標示為已損毀。這些過程對正在執行磁碟 I/O 作業的任何應用程式而言都是通透性的 (亦即,應用程式完全不會知道硬碟出了問題)。使用支援熱修復的檔案系統可以減少類似 FAT 遇到壞磁區時常出現的「中斷、重試或宣告失敗?」(Abort, Retry, or Fail?) 錯誤訊息。
注意:Windows NT 所附的 HPFS 版本不支援熱修復。
HPFS 的優點
HPFS 最適合用於大小介於 200-400 MB 之間的磁碟機。如需 HPFS 優點的進一步說明,請參閱下列文件:
《Microsoft Windows NT Server Concepts and Planning Guide》第 5 章〈Choosing a File System〉
《Microsoft Windows NT Workstation 4.0 Resource Kit》第 18 章〈Choosing a File System〉
《Microsoft Windows NT Server 4.0 Resource Kit Resource Guide》第 3 章〈Which File System to Use on Which Volumes〉
HPFS 的缺點
因為使用 HPFS 容易虛耗磁碟空間,容量小於 200 MB 的磁碟不適合使用此種檔案系統。此外,容量大於 400 MB 的磁碟則會有效能降低的情形。使用 Windows NT 時,您無法在 HPFS 上設定安全性。
只有 Windows NT 3.1、3.5 與 3.51 版可支援 HPFS,Windows NT 4.0 無法存取 HPFS 磁碟分割區。
如需 HPFS 缺點的進一步說明,請參閱下列文件:
《Microsoft Windows NT Server Concepts and Planning Guide》第 5 章〈Choosing a File System〉
《Microsoft Windows NT Workstation 4.0 Resource Kit》第 18 章〈Choosing a File System〉
《Microsoft Windows NT Server 4.0 Resource Kit Resource Guide》第 3 章〈Which File System to Use on Which Volumes〉
NTFS 總覽
從使用者的觀點來看,NTFS 持續將檔案組織成目錄,且像 HPFS 一樣可替目錄排序。然而,不像 FAT 或 HPFS,NTFS 在磁碟上沒有所謂的特別物件,也沒有基底硬體上的限制,例如 512 位元組磁區。此外,磁碟上也沒有像 FAT 表或 HPFS 特別區塊這樣的特別位置。
NTFS 旨在提供:
穩定性,這是高階系統與檔案伺服器特別需要的特性
為新增功能提供一個平台
支援 POSIX 需求
除去 FAT 與 HPFS 檔案系統的限制
穩定性
為確保 NTFS 的穩定性,有三個主要的問題已獲得解決:可復原性、單一磁區致命失敗的消除,以及熱修復功能。
NTFS 是具有復原功能的檔案系統,因為它會追蹤檔案系統的異動。若在 FAT 或 HPFS 上執行 CHKDSK,系統會檢查目錄內指標的一致性、資源配置與檔案表。在 NTFS 下,系統會維護這些元件的異動記錄,因此 CHKDSK 只需將異動推回最後認可點 (commit point),就可以維護檔案系統內的一致性。
在 FAT 或 HPFS 下,如果某個磁區失敗,且此磁區是檔案系統的特別物件的所在位置,便會發生單一磁區失敗的情形。NTFS 有兩種方式可以避免發生這個問題:首先,不在磁碟上使用特別物件,而改以追蹤與保護磁碟上的所有物件。其次,在 NTFS 下保存多份「主檔案表」(Master File Table),份數視容量大小而定。
和 OS/2 版的 HPFS 一樣,NTFS 也支援熱修復。
新增功能
Windows NT 在每一層級的主要設計目的之一,就是提供一個可以在上面新增與建立的平台,就這一點來說,NTFS 確實是最佳選擇。NTFS 提供豐富而彈性的平台,讓其他檔案系統也可以使用。此外,NTFS 完全支援 Windows NT 的安全性模式,並支援多重資料流,不再是一個資料檔配一個資料流。最後一點,在 NTFS 下,使用者可將自己的使用者自訂屬性加至檔案內。
POSIX 支援
NTFS 是所有支援 POSIX 的檔案系統中和 POSIX.1 最相容的檔案系統,因為它支援下列 POSIX.1 需求:
大小寫字母有別的命名法:
在 POSIX 下,README.TXT、Readme.txt 與 readme.txt 各代表不同的檔案。
額外的時間戳記:
額外的時間戳記可以提供檔案最後存取時間。
硬式連結:
硬式連結 (hard link) 是指有兩個不同的檔名,分別位於不同的目錄中,卻指向相同的資料。
除去限制
首先,NTFS 大大地增加了磁碟容量與檔案大小,所以現在容量可以多達 2^64 個位元組 (16 exabytes 或 18,446,744,073,709,551,616 位元組)。NTFS 也恢復了 FAT 的叢集觀念,以避免發生 HPFS 固定磁區大小的問題。這麼做的原因,是 Windows NT 是一種可攜式作業系統,不同的磁碟技術很可能會在某個點上相交集。因此,每個磁區 512 位元組對資料配置而言有時並不妥當,而讓叢集可以被定義為硬體的自然配置大小的倍數,就解決了此問題。最後一點,在 NTFS 中,所有檔名都是以 Unicode 為基礎,您可以使用 8.3 式的檔名,也可以使用長檔名。
NTFS 的優點
NTFS 最適合用於 400 MB 或更大的磁碟。因為在 NTFS 下並不會降低效能,而在 FAT 下,如果磁碟容量較大就會降低效能。
NTFS 的可復原性設計,是指使用者在 NTFS 磁碟分割區上完全不須用到任何磁碟修復公用程式。如需 NTFS 優點的其他說明,請參閱下列文件:
《Microsoft Windows NT Server Concepts and Planning Guide》第 5 章〈Choosing a File System〉
《Microsoft Windows NT Workstation 4.0 Resource Kit》第 18 章〈Choosing a File System〉
《Microsoft Windows NT Server 4.0 Resource Kit Resource Guide》第 3 章〈Which File System to Use on Which Volumes〉
NTFS 的缺點
小於 400 MB 的磁碟或磁碟分割區不適合使用 NTFS,因為 NTFS 會虛耗磁碟空間。所虛耗的空間用於 NTFS 系統檔案形式,通常在 100 MB 的磁碟分割區中至少會用掉 4 MB 的磁碟空間。
目前 NTFS 並不支援檔案加密。因此,有人可以從 MS-DOS 或其他作業系統開機,再以低階的磁碟編輯公用程式來檢視儲存在 NTFS 磁碟分割區的資料。
您無法使用 NTFS 檔案系統來格式化軟碟片;Windows NT 會以 FAT 檔案系統來格式化所有軟碟片,因為 NTFS 虛耗空間的特性不適合用於軟碟片。
如需 NTFS 缺點的進一步說明,請參閱下列文件:
《Microsoft Windows NT Server Concepts and Planning Guide》第 5 章〈Choosing a File System〉
《Microsoft Windows NT Workstation 4.0 Resource Kit》第 18 章〈Choosing a File System〉
《Microsoft Windows NT Server 4.0 Resource Kit Resource Guide》第 3 章〈Which File System to Use on Which Volumes〉
NTFS 命名法
檔案與目錄的名稱可以長達 255 個字元,包括任何副檔名。名稱可以顯示大小寫,但不區分大小寫。亦即 NTFS 對於檔名中的大小寫字母一律視為相同。檔名可以包含任何字元,但下列字元除外:
? " / \ < > * | :
目前若在指令行下作業,您只能建立 253 個字元以內的檔名。
注意:硬體的限制可能會對任何檔案系統均額外增加一些磁碟分割區大小的限制。特別是開機磁碟分割區的大小只限 7.8 GB 以內,且磁碟分割表也有 2-terabyte 的限制。
如需 Windows NT 所支援檔案系統的詳細資訊,請參閱 Windows NT Resource Kit。
參考
|