FAT、HPFS 和 NTFS 檔案系統概觀

本文說明檔案配置數據表 (FAT) 、高效能文件系統 (HPFS) ,以及 NT 文件系統 (NTFS) 在 Windows NT 下的差異,以及其優缺點。

適用於:Windows 10 - 所有版本、Windows Server 2012 R2
原始 KB 編號: 100108

注意事項

只有在 3.1、3.5 和 3.51 版 Windows NT 才支援 HPFS。 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 字元集建立所有檔名。 檔案或目錄的名稱長度最多可以是八個字元,而句號 (.) 分隔符,最多可以是三個字元擴展名。 名稱的開頭必須是字母或數位,而且可以包含下列字元以外的任何字元:

. " / \ [ ] : ; | = ,

如果使用這些字元中的任何一個,可能會發生非預期的結果。 名稱不能包含任何空格。

保留下列名稱:

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 伺服器章節,標題為「選擇檔案系統」

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

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

FAT 的缺點

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

FAT 磁碟分區的大小限制為大小上限為 4 GB (GB) 低於 Windows NT,MS-DOS 為 2 GB。

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

  • Windows NT 伺服器章節,標題為「選擇檔案系統」

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

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

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 伺服器章節,標題為「選擇檔案系統」

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

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

HPFS 的缺點

由於 HPFS 所涉及的額外負荷,對於大約 200 MB 以下的磁碟區而言,這不是非常有效率的選擇。 此外,當磁碟區大於約 400 MB 時,效能將會降低一些。 您無法在 #DF9D10E17C2EF4B348B66CDB455C989FD 下設定 HPFS 的安全性。

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

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

  • Windows NT 伺服器章節,標題為「選擇檔案系統」

  • 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 是可復原的文件系統,因為它會追蹤對文件系統的交易。 在 FAT 或 HPFS 上執行 CHKDSK 時,會檢查目錄、配置和檔案數據表內指標的一致性。 在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 伺服器章節,標題為「選擇檔案系統」

  • 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 伺服器章節,標題為「選擇檔案系統」

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

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

NTFS 命名慣例

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

? " / \ < > * | :

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

注意事項

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

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