複製鏈接
請複製以下鏈接發送給好友

FAT32

鎖定
FAT是文件分配表(File Allocation table)的縮寫 [5]  ,FAT32指的是文件分配表是採用32位二進制數記錄管理的磁盤文件管理方式,因FAT類文件系統的核心是文件分配表,命名由此得來。FAT32是從FATFAT16發展而來的,優點是穩定性和兼容性好,能充分兼容Win 9X及以前版本,且維護方便。缺點是安全性差,單個文件也只能支持最大4GB。
中文名
FAT32
外文名
FAT32
優    點
穩定性和兼容性好等
缺    點
安全性差等
磁盤結構
引導區、文件分配表區、數據區
所屬學科
計算機科學技術

FAT32產生背景

Windows的文件系統在每個硬盤都使用一個被稱為文件分配表FAT)的專用扇區來儲存跟蹤全部文件位置所需的數據,以前操作系統中使用的是16位的FAT,這種方式的缺點是:
1.雖然能夠有效地管理小容量硬盤上的數據,但不能管理大容量硬盤,硬盤分區不能大於2GB。
2.由於在計算機內文件是以簇的形式存儲的,在FAT16情況下,硬盤分區越大,簇的尺寸越大,這樣文件存儲時將浪費硬盤空間,硬盤空間利用率很低,尤其在小文件比較多時。
因此,FAT32應運而生。Windows98包括一種被稱為FAT32的新32位文件系統,可以有效地管理大容量硬盤並識別容量超過2GB的硬盤。FAT32是文件分配表系統的提高版,使用比FAT驅動程序更小的簇,使大硬盤上的空間得以充分利用。 [1] 
由於微軟公司並不對外公開Windows操作系統的內部結構和源代碼,人們無法直接瞭解FAT32文件系統的工作原理和技術特點。 [5] 

FAT32磁盤結構

當使用FAT32文件系統管理硬盤時,能夠支持的每個分區容量最大可達到128TB。 [6]  對於使用FAT32文件系統的每個邏輯盤內部空間又可劃分為三部分,依次是引導區(BOOT區)、文件分配表區(FAT區)、數據區(DATA區)。引導區和文件分配表區又合稱為系統區,佔據整個邏輯盤前端很小的空間,存放有關管理信息。數據區才是邏輯盤用來存放文件內容的區域,該區域以簇為分配單位來使用。

FAT32引導區

FAT32文件系統的第一個扇區就是引導扇區,其內存放了一個文件系統的很多具體信息,例如FAT表個數、每個FAT表的大小(扇區數目)、每扇區內的字節數目、每簇中所包含的扇區數目、被保留的扇區數目、文件系統大小(扇區數目)、根目錄的起始簇號及一些其它的附加信息。引導區(BOOT區)從第一扇區(邏輯扇區號0)開始使用了三個扇區,保存了該邏輯盤每扇區字節數,每簇對應的扇區數等等重要參數和引導記錄。之後還留有若干保留扇區,其中有一至三扇區的備份,

FAT32文件分配表區

文件分配表區(FAT區)是FAT文件系統管理磁盤空間和文件的最重要區域,它保存邏輯盤數據區各簇使用情況信息,採用位示圖法來表示,文件所佔用的存儲空間及空閒空間的管理都是通過FAT實現的。FAT區共保存了兩個相同的文件分配表,便於第一個損壞時,還有第二個可用。FAT表的大小由該邏輯盤數據區共有多少簇所決定,取整數個扇區。數據區中每簇的使用情況通過查找其在FAT表中相應位置的填充值可知曉。FAT32表中每簇佔用四個字節(32位)表示,開頭的8個字節(0H-07H字節)用來存放該盤介質類型編號了,因此有效簇號從02H開始使用。02H簇的使用情況由08H-0BH字節組成的32位二進制數指示出來,03H簇的使用情況由0CH一0FH字節組成的32位二進制數指示出來,依此類推。未被分配使用和已回收的簇相應位置寫零,壞簇相應位置填入特定值0FFFFFF7H標識,已分配的簇相應位置填入非零值,具體為:如果該簇是文件的最後一簇,填入的值為0FFFFFFFH,如果該簇不是文件的最後一簇,填入的值為該文件佔用的下一個簇的簇號,這樣,正好將文件佔用的各簇構成一個簇鏈,保存在FAT32表中。

FAT32數據區

數據區是被用來存放用户數據的,位於FAT2後,同樣被劃分成簇,從2開始編號,即2號簇起始位置即是數據區的真正起始位置。
(1)根目錄
通常情況下根目錄位於2號簇,但是原則上FAT32文件系統中的根目錄可以位於數據區的任意位置。根目錄區保存根目錄下的各文件的目錄項,每個目錄項佔用32字節。FAT32文件系統中,根目錄作為數據區的一部分,採用與子目錄相似的管理方式,這一點與FAT12、FAT16明顯不同,如FAT16文件系統的根目錄區(ROOT區)是固定區域、固定大小的,佔用從FAT區之後緊接着的32個扇區,最多保存512個目錄項(其根目錄保存的文件數受限的原因在此),作為系統區的一部分。
(2)子目錄
FAT32文件系統中,除了根目錄外,全部子目錄均在被使用過程中,根據具體的需要而建立。若在根目錄之下創建了一個新的子目錄,則稱該子目錄是根目錄的子目錄,並且稱根目錄為該子目錄的父目錄。子目錄被新建時,在為其父目錄分配的簇中建立目錄項,目錄項中描述了目錄的起始簇號,並且為其在空閒的空間中分配一個簇並清零,將該簇的簇號記錄在其目錄項之中。為子目錄創建目錄項的同時,為子目錄分配的簇中通過用前兩個目錄項來記錄其與對應父目錄的關係。
(3)目錄項
FAT32文件系統由於結構的不同,一般將目錄項分成四種:卷標目錄項、“.”目錄項和“..”目錄項、短文件名目錄項、長文件名目錄項。短文件名目錄項中存放子目錄或文件的短文件名、屬性、起始簇號、時間值、內容大小等基本的信息。 [2] 

FAT32特點

以下是對FAT32的一些特點的闡述:
(1)FAT32文件系統仍然將邏輯盤的空間劃分為三部分,依次是引導區(BOOT區)、文件分配表區(FAT區)、數據區(DATA區)。引導區和文件分配表區又合稱為系統區。
(2)FAT32的MBR和擴展分區的結構與DOS的仍然相同。只不過引導程序的代碼不同而已。前一小節在介紹MBR所使用的就是win98的引導程序。這裏不再贅述。
(3)FAT32的引導區從第一扇區開始,使用了三個扇區,保存了該邏輯盤每扇區字節數,每簇對應的扇區數等等重要參數和引導記錄。之後還留有若干保留扇區。
(4)FAT32的文件分配表的結構與DOS下的FAT16相同,仍然採用簇鏈結構來管理文件,只不過FAT32的一個表項用4Byte即32位罷了,這樣文件分配表可以有更多的簇,可以管理更大的磁盤空間
(5)FAT32系統一簇對應8個邏輯相鄰的扇區,理論上,這種用法所能管理的邏輯盤容量上限為16TB,容量大於16TB時,可以用一簇對應16個扇區,依此類推。FAT16系統在邏輯盤容量介於128MB到256MB時,一簇對應8個扇區,容量介於256MB到512MB時,一簇對應16個扇區,容量介於512MB到1GB時,一簇對應32個扇區,容量介於1GB到2GB時,一簇對應32個扇區,超出2GB的部分無法使用。顯然,對於容量大於512MB的邏輯盤,採用FAT32的簇比採用FAT16的簇小很多,大大減少了空間的浪費。
(6)FAT32的一個大的改進之處就是根目錄區(ROOT區)不再是固定區域、固定大小,可看作是數據區的一部分。因為根目錄已改為根目錄文件,採用與子目錄文件相同的管理方式,一般情況下從第二簇開始使用,大小視需要增加,因此根目錄下的文件數目不再受最多512的限制。
(7)目錄區中的目錄項變化較多,一個目錄項仍佔32字節,可以是文件目錄項、子目錄項、卷標項(僅根目錄有)、已刪除目錄項、長文件名目錄項等。 [3] 

FAT32適用條件

一般來説,只有在以下情況下才能創建(用Windows 95OSR2或者Windows 98)FAT32分區:
■硬盤總容量必須大於528MB。
■每個分區的大小必須大於528MB。
■用户需要有一張OSR2安裝盤,或者是由其他安裝OSR2的PC製作的OSR2啓動盤(或者是適當的Windows98啓動盤)。
■當0SR2/98的FDISK提示Do you wish to enable large disk support?Y or N(是否希望啓動大硬盤支持?)時,應回答Y。如果回答N,那麼創建的就將是FAT16磁盤分區 [4] 

FAT32應用要點

1、FAT32的速度
FAT32通常與FAT16一樣快,在某些情況下,它會稍快一些。典型的情況下沒有明顯的性能差異。FAT32的主要優點是它對大磁盤的利用比FAT16更為有效。
在實模式MS-DOS或Windows98安全模式下,FAT32會比FAT16慢不少。如果要在MS-DOS下運行程序,最好要運行SMARTDRV。
3、雙重引導和FAT32
不能在需要對另一個操作系統進行雙重引導的機器上使用FAT32,如Windows 95.Windows NT,Windows3.1或MS-DOS6.x。其他操作系統不能訪問FAT32分區表。只要C驅是FAT16的,那麼其他系統也可以引導,但是其餘FAT32的分區對其他操作系統來説是不可見的。如果使用FAT16,那麼Windows 98也支持在Windows98和以前的MS-DOS操作系統之間進行雙重引導,並用F4進行切換,但是不能在Windows95和Windows98之間進行切換。
4、FAT32和防病毒軟件
在FAT32中使用防病毒軟件,改變驅動器會引起分區表和引導記錄的更新。如果防毒軟件啓動,它可能截取更新分區表或引導記錄的要求,並詢問是否允許更新。並且,在改變驅動器後重啓計算機時,防病毒軟件會發覺分區表或引導記錄被更改了,會提出“修復”的請求。不要讓防病毒軟件修復引導記錄或分區表,不然驅動器和上面的所有的數據都將丟失。 [1] 
參考資料
  • 1.    沃得工作室編著.Windows 98中文版學習指南[M].北京:人民郵電出版社,1998.09
  • 2.    張明亮, 張宗傑. 淺析FAT32文件系統[J]. 計算機與數字工程, 2005, 第33卷(1):56-59  .超星[引用日期2019-09-02]
  • 3.    俞炘,馬漢達編著.計算機系統高級維護教程[M].合肥:中國科學技術大學出版社,2005.02
  • 4.    (美)Stephen J.Bigelow著;李曄譯.驅動器與內存故障處理手冊[M].北京:清華大學出版社,,2000.12
  • 5.    張明亮,張宗傑.淺析FAT32文件系統[J].計算機與數字工程,2005,33(1):56-59
  • 6.    張明旺.基於FAT32文件系統的數據恢復技術[J].電子科技,2012,25(11):112-113