了解下Windows NT 下的 FAT和 NTFS 檔案系統。
參考了官網文章:
https://support.microsoft.com/zh-cn/kb/100108
FAT 檔案系統
Windows NT 支援的最簡單的檔案系統。FAT 檔案系統的特點在于檔案配置設定表 (FAT),位于卷的最“頂端”。為了保護卷,最好保留兩份 FAT 副本。此外,兩個 FAT 表和根目錄存儲在一個固定位置,以友善正确找到系統的啟動檔案。
使用 FAT 格式化的磁盤以簇為機關進行配置設定,簇的大小由卷的大小決定。當一個檔案被建立時,在目錄中就會建立一項,而包含資料的第一個簇号也會建立。FAT 表中的該項或者訓示這是檔案的最後一個簇,或者指向下一個簇。
更新 FAT 表非常重要,但也相當耗時。不定期更新 FAT 表會導緻資料丢失。而費時的原因在于,每次更新 FAT 表時,磁盤讀取頭都必須重新回到驅動器的 0 邏輯磁道處。
FAT 目錄結構沒有組織,而且賦予檔案的是驅動器上的第一個打開位置。此外,FAT 隻支援隻讀、隐藏、系統和存檔檔案屬性。
FAT 命名規則
FAT 使用傳統的 8.3 檔案命名規則,所有檔案名必須使用 ASCII 字元集建立。檔案或目錄的名稱最多可為 8 個字元,之後是一個句點 (.) 分隔符,再加上最多 3 個字元的擴充。名稱必須以字母或數字打頭,其中可以包含除以下字元外的任何字元:
. ” / \ [ ] : ; | = ,
使用上述字元可能會産生意外結果。名稱中不能包含空格。
下列名稱為系統保留名稱:
CON、AUX、COM1、COM2、COM3、COM4、LPT1、LPT2、LPT3、PRN、NUL
所有字元都将轉換為大寫。
FAT 的優點
不能在 Windows NT 下的任何一種受支援的檔案系統上執行撤消删除操作。撤消删除實用工具試圖直接通路硬體,這在 Windows NT 下是不可行的。但是,如果檔案位于 FAT 分區,并且系統重新啟動為 MS-DOS 模式,就可以撤消删除檔案。FAT 隻需極少的開銷就可以啟動,是以,FAT 檔案系統最适用于大約 200 MB 以下的驅動器和/或分區。
FAT 的缺點
使用超過 200 MB 的驅動器或分區時,還是不要使用 FAT 檔案系統。這是因為當卷容量增大時,FAT 的性能會快速降低。您無法對 FAT 分區的檔案設定權限。
在 Windows NT 下,FAT 分區大小的上限為 4 GB,在 MS-DOS 中為 2 GB。
NTFS 檔案系統
從使用者的視角來看,NTFS 繼續将檔案組織成目錄。與 FAT 不同的是,NTFS 在磁盤上沒有“特殊”對象,而且對諸如 512 位元組扇區之類的基礎硬體也沒有依賴性。此外,磁盤上沒有像 FAT 表這樣的特殊位置。
NTFS 主要是提供:
- 可靠性,高端系統和檔案伺服器尤其需要這一點
- 用于新增功能的平台
- 支援 POSIX 要求
- 消除 FAT 和 HPFS 檔案系統的限制
可靠性
為了確定 NTFS 的可靠性,以下三個主要問題已得到解決:可恢複性、排除緻命的單一扇區的故障以及修複。
NTFS 是一個可恢複的檔案系統,因為它能跟蹤針對檔案系統的事務。在 FAT 上執行 CHKDSK 時,系統會檢查目錄、配置設定和檔案表中指針的一緻性。在 NTFS 下,系統會維護針對這些元件的事務日志,是以,CHKDSK 隻需将事務復原到上一個送出點就可以恢複檔案系統中的一緻性。
在 FAT 下,如果檔案系統的一個特殊對象所在的扇區發生故障,就會發生單一扇區故障。NTFS 通過兩種方式來避免出現這一問題:首先,不使用磁盤上的特殊對象,而是跟蹤并保護磁盤上的所有對象。其次,在 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 EB 或 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 的缺點
小于大約 400 MB 的卷不适合使用 NTFS,原因是 NTFS 會帶來空間開銷。該空間開銷的形式為 NTFS 系統檔案,通常在 100 MB 分區上至少用掉 4 MB 的驅動器空間。
目前 NTFS 不含檔案加密。是以,人們可以在 MS-DOS 或其他作業系統下啟動,然後使用低級磁盤編輯工具來檢視 NTFS 卷上存儲的資料。
不能使用 NTFS 檔案系統格式化軟碟;Windows NT 會使用 FAT 檔案系統格式化所有軟碟,原因是軟碟承擔不了 NTFS 帶來的開銷。
NTFS 命名規則
檔案和目錄的名稱長度最多可以為 255 個字元(包括任何擴充)。名稱保留大小寫,但是不區分大小寫。NTFS 不根據大小寫來區分檔案名。名稱可以包含除下列字元以外的任何字元:
? ” / \ < > * | :
目前,您隻能從指令行上建立最多 253 個字元的檔案名。
注意:基礎硬體限制可能會對任何檔案系統施加額外的分區大小限制。尤其是,引導分區大小限于 7.8 GB,分區表大小限于 2 TB。