共用方式為


FAT、HPFS 和 NTFS 檔案系統概觀

本文說明 Windows NT 下的檔案設定資料表 (FAT)、高效能文件系統 (HPFS) 和 NT 檔案系統 (NTFS) 之間的差異,以及其優點和缺點。

原始 KB 編號: 100108

注意

HPFS 僅支援 Windows NT 3.1、3.5 和 3.51 版。 Windows NT 4.0 不支援且無法存取 HPFS 磁碟分區。 此外,WINDOWS 98/Windows 95 OSR2 和 Windows 2000 也提供 FAT32 文件系統的支援。

FAT 概觀

FAT 是迄今為止 Windows NT 所支援的檔案系統最簡單。 FAT 檔案系統的特點是檔案配置數據表 (FAT),這實際上是位於磁碟區最上層的數據表。 為了保護磁碟區,會保留兩份 FAT,以防一個復本損毀。 此外,FAT 數據表和根目錄必須儲存在固定位置,才能正確找到系統的開機檔案。

使用 FAT 格式化的磁碟會配置在叢集中,其大小取決於磁碟區的大小。 建立檔案時,會在目錄中建立專案,並建立包含數據的第一個叢集編號。 FAT 數據表中的這個專案表示這是檔案的最後一個叢集,或指向下一個叢集。

更新 FAT 數據表非常重要且耗時。 如果未定期更新 FAT 數據表,可能會導致數據遺失。 這是耗時的,因為每次更新 FAT 數據表時,磁碟讀取頭都必須重新定位到磁碟驅動器的邏輯追蹤零。

FAT 目錄結構沒有組織,而且檔案會提供磁碟驅動器上的第一個開啟位置。 此外,FAT 僅支援唯讀、隱藏、系統和封存盤案屬性。

FAT 命名慣例

FAT 會使用傳統的 8.3 檔案命名慣例,而且所有檔名都必須使用 ASCII 字元集來建立。 檔案或目錄的名稱最多可以有8個字元,然後是句號 (.) 分隔符,最多可以有三個字元的擴展名。 名稱開頭必須是字母或數位,而且可以包含下列任何字元:

. " / \ [ ] : ; | = ,

如果使用上述任何字元,可能會發生非預期的結果。 名稱不能包含任何空格。

保留下列名稱:

CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL

所有字元都會轉換成大寫。

FAT 的優點

無法在任何支援的文件系統上執行 Windows NT 下的取消刪除。 取消刪除公用程式嘗試直接存取無法在 Windows NT 下完成的硬體。 不過,如果檔案位於 FAT 磁碟分區上,而且系統會在 MS-DOS 下重新啟動系統,則可以取消刪除檔案。 FAT 檔系統最適合在大約 200 MB 的磁碟驅動器和/或分割區,因為 FAT 會以很少的額外負荷開始。 如需 FAT 優點的進一步討論,請參閱下列內容:

  • Windows NT Server「概念與規劃指南」第 5 章,標題為「選擇文件系統」一節

  • Windows NT 工作站 4.0 資源套件,第 18 章,「選擇文件系統」

  • Windows NT Server 4.0 資源套件「資源指南」第 3 章,標題為「哪些文件系統在哪些磁碟區上使用」一節

FAT 的缺點

最好使用超過 200 MB 的磁碟驅動器或磁碟分區時,不應該使用 FAT 文件系統。 這是因為隨著磁碟區的大小增加,使用 FAT 的效能會迅速減少。 無法設定 FAT 分割區檔案的許可權。

FAT 分割區的大小限制在 Windows NT 下上限為 4 GB,MS-DOS 中為 2 GB。

如需 FAT 其他缺點的進一步討論,請參閱下列內容:

  • Windows NT Server「概念與規劃指南」第 5 章,標題為「選擇文件系統」一節

  • Windows NT 工作站 4.0 資源套件,第 18 章,「選擇文件系統」

  • Microsoft Windows NT Server 4.0 資源套件「資源指南」第 3 章,標題為「要用於哪些磁碟區的文件系統」一節

HPFS 概觀

HPFS 文件系統首先引進 OS/2 1.2,以允許更大的硬碟存取隨後出現在市場上的較大硬碟。 此外,對於網路伺服器市場不斷增長的需求,新的檔系統必須擴充命名系統、組織和安全性。 HPFS 會維護 FAT 的目錄組織,但會根據檔名新增目錄的自動排序。 檔名會擴充至最多 254 個雙位元組字元。 HPFS 也允許檔案由「數據」和特殊屬性組成,以在支援其他命名慣例和安全性方面提高彈性。 此外,配置單位會從叢集變更為實體扇區(512 個字節),以減少遺失的磁碟空間。

在 HPFS 下,目錄專案會保存比 FAT 底下更多的資訊。 以及屬性檔案,這包括修改、建立和存取日期和時間的相關信息。 HPFS 底下的目錄專案會指向 FNODE,而不是指向檔案的第一個叢集。 FNODE 可以包含檔案的數據,或指向檔案數據或最終指向檔案數據的其他結構指標。

HPFS 會嘗試盡可能多地配置連續扇區中的檔案。 這樣做是為了在進行檔案的循序處理時提高速度。

HPFS 會將磁碟驅動器組織成一系列 8 MB 的頻帶,並盡可能將檔案包含在其中一個頻帶內。 這些波段之間的每一個都是 2K 配置位圖,可追蹤波段內的哪些扇區尚未配置。 帶狀增加效能,因為磁碟驅動器頭不必回到磁碟的邏輯頂端(通常是圓柱 0),而是要到最接近的頻帶配置位圖,以判斷要儲存盤案的位置。

此外,HPFS 包含幾個獨特的特殊數據物件:

超級區塊

超級區塊位於邏輯扇區 16 中,並包含根目錄 FNODE 的指標。 使用 HPFS 的最大危險之一是,如果超級區塊因為扇區不良而遺失或損毀,分割區的內容也是如此,即使磁碟驅動器的其餘部分沒問題。 將一切複製到具有良好扇區 16 並重建超級區塊的另一個磁碟驅動器,即可復原磁碟驅動器上的數據。 不過,這是一項非常複雜的工作。

備用區塊

備用區塊位於邏輯扇區 17,並包含「經常性修正」和「備用目錄區塊」數據表。 在 HPFS 下,當偵測到不良扇區時,會使用「熱門修正」專案,以邏輯方式指向現有的良好扇區來取代壞扇區。 處理寫入錯誤的這項技術稱為經常性修正。

經常性修正是一種技術,如果因為扇區錯誤而發生錯誤,文件系統會將資訊移至不同的扇區,並將原始扇區標示為不良。 對於執行磁碟 I/O 的任何應用程式而言,這一切都是透明的(也就是說,應用程式永遠不知道硬碟有任何問題)。 使用支援經常性修復的文件系統,將消除 FAT「中止、重試或失敗」等錯誤訊息,而當遇到不良扇區時,就會發生錯誤訊息。

注意

Windows NT 隨附的 HPFS 版本不支援經常性修復。

HPFS 的優點

HPFS 最適合 200-400 MB 範圍內的磁碟驅動器。 如需 HPFS 優點的詳細資訊,請參閱下列內容:

  • Windows NT Server「概念與規劃指南」第 5 章,標題為「選擇文件系統」一節

  • Windows NT 工作站 4.0 資源套件,第 18 章,「選擇文件系統」

  • Windows NT Server 4.0 資源套件「資源指南」第 3 章,標題為「哪些文件系統在哪些磁碟區上使用」一節

HPFS 的缺點

由於 HPFS 所涉及的額外負荷,對於大約 200 MB 的磁碟區來說,這不是非常有效率的選擇。 此外,磁碟區大於 400 MB,效能將會降低。 您無法在 Windows NT 下的 HPFS 上設定安全性。

HPFS 僅支援 Windows NT 3.1、3.5 和 3.51 版。 Windows NT 4.0 無法存取 HPFS 磁碟分區。

如需 HPFS 的其他缺點,請參閱下列各項:

  • Windows NT Server「概念與規劃指南」第 5 章,標題為「選擇文件系統」一節

  • Windows NT 工作站 4.0 資源套件,第 18 章,「選擇文件系統」

  • Windows NT Server 4.0 資源套件「資源指南」第 3 章,標題為「哪些文件系統在哪些磁碟區上使用」一節

NTFS 概觀

從用戶的觀點來看,NTFS 會繼續將檔案組織成目錄,如 HPFS 排序。 不過,與 FAT 或 HPFS 不同,磁碟上沒有「特殊」物件,而且不會依賴基礎硬體,例如 512 位元組的扇區。 此外,磁碟上沒有特殊位置,例如 FAT 數據表或 HPFS 超級區塊。

NTFS 的目標是提供:

  • 可靠性,對於高端系統和文件伺服器來說特別適合

  • 新增功能的平臺

  • 支援POSIX需求

  • 拿掉 FAT 和 HPFS 檔案系統的限制

可靠性

為了確保NTFS的可靠性,已解決三個主要區域:可復原性、移除致命單一扇區失敗,以及經常性修復。

NTFS 是可復原的文件系統,因為它會追蹤文件系統的交易。 當 CHKDSK 在 FAT 或 HPFS 上執行時,會檢查目錄、配置和檔案資料表內的指標一致性。 在NTFS下,會針對這些元件維護交易記錄,讓CHKDSK只需要將交易回復到最後一個認可點,才能復原文件系統內的一致性。

在 FAT 或 HPFS 下,如果屬於其中一個文件系統特殊物件位置的扇區失敗,則會發生單一扇區失敗。 NTFS 會以兩種方式避免此問題:首先,不要在磁碟上使用特殊物件,並追蹤和保護磁碟上的所有物件。 其次,在NTFS下,會保留主檔案數據表的多個復本(數字取決於磁碟區大小)。

類似於OS/2版本的 HPFS,NTFS 支援經常性修復。

已新增功能

Windows NT 在每個層級的主要設計目標之一是提供可新增至和建置的平臺,而 NTFS 也不例外。 NTFS 提供豐富且靈活的平臺,讓其他文件系統能夠使用。 此外,NTFS 完全支援 Windows NT 安全性模型,並支援多個數據流。 不再是數據檔的單一數據流。 最後,在NTFS下,使用者可以將自己的使用者定義屬性新增至檔案。

POSIX 支援

NTFS 是最符合所支援文件系統的 POSIX.1 規範,因為它支援下列 POSIX.1 需求:

區分大小寫的命名:

在 POSIX 下,README.TXT、Readme.txt和readme.txt都是不同的檔案。

其他時間戳:

額外的時間戳會提供上次存取檔案的時間。

硬式連結:

硬連結是當兩個不同的檔名可以位於不同目錄中時,指向相同的數據。

拿掉限制

首先,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的其他優點,請參閱下列各項:

  • Windows NT Server「概念與規劃指南」第 5 章,標題為「選擇文件系統」一節

  • Windows NT 工作站 4.0 資源套件,第 18 章,「選擇文件系統」

  • Windows NT Server 4.0 資源套件「資源指南」第 3 章,標題為「哪些文件系統在哪些磁碟區上使用」一節

NTFS 的缺點

不建議在小於 400 MB 的磁碟區上使用 NTFS,因為涉及 NTFS 的空間負荷。 此空間額外負荷是以NTFS系統檔案的形式,通常使用100 MB磁碟分區上至少4 MB的磁碟驅動器空間。

目前,NTFS 中沒有內建的檔案加密。 因此,有人可以在 MS-DOS 或其他作業系統下開機,並使用低階磁碟編輯公用程式來檢視儲存在 NTFS 磁碟區上的數據。

無法使用NTFS檔案系統格式化軟盤;Windows NT 會將所有磁碟片格式化為 FAT 檔案系統,因為 NTFS 中涉及的額外負荷無法放入軟碟磁碟上。

如需NTFS缺點的進一步討論,請參閱下列內容:

  • Windows NT Server「概念與規劃指南」第 5 章,標題為「選擇文件系統」一節

  • Windows NT 工作站 4.0 資源套件,第 18 章,「選擇文件系統」

  • Windows NT Server 4.0 資源套件「資源指南」第 3 章,標題為「哪些文件系統在哪些磁碟區上使用」一節

NTFS 命名慣例

檔案和目錄名稱長度最多可達 255 個字元,包括任何擴展名。 名稱會保留大小寫,但不會區分大小寫。 NTFS 不會根據大小寫區分檔名。 名稱可以包含下列專案以外的任何字元:

? " / \ < > * | :

目前,從命令行,您只能建立最多 253 個字元的檔名。

注意

基礎硬體限制可能會在任何文件系統中施加額外的分割區大小限制。 特別是,開機磁碟分區的大小只能是 7.8 GB,而且分割區數據表中有 2 TB 的限制。

如需 Windows NT 支援的文件系統詳細資訊,請參閱 Windows NT 資源套件。