FAT32是Windows系統(tǒng)硬盤(pán)分區(qū)格式的一種。這種格式采用32位的文件分配表,使其對(duì)磁盤(pán)的管理能力大大增強(qiáng),突破了FAT16對(duì)每一個(gè)分區(qū)的容量只有2 GB的限制。由于現(xiàn)在的硬盤(pán)生產(chǎn)成本下降,其容量越來(lái)越大,運(yùn)用FAT32的分區(qū)格式后,我們可以將一個(gè)大硬盤(pán)定義成一個(gè)分區(qū)而不必分為幾個(gè)分區(qū)使用,大大方便了對(duì)磁盤(pán)的管理。但由于FAT32分區(qū)內(nèi)無(wú)法存放大于4GB的單個(gè)文件,且性能不佳,易產(chǎn)生磁盤(pán)碎片。目前已被性能更優(yōu)異的NTFS分區(qū)格式所取代。
fat32_FAT32 -參數(shù)
分區(qū)標(biāo)識(shí): 0x0B, 0x0C(MBR)EBD0A0A2-B9E5-4433-87C0-68B6B72699C7(GPT)
FAT32
最大單文件大?。?4 GB (Fat16分區(qū)是2 GB )
最大文件數(shù)量: 268,435,437
最長(zhǎng)檔名限制: 8.3 或者 長(zhǎng)文件名255個(gè)字符
最大卷大?。?8 TB (在windows 2000和windows XP環(huán)境下格式化程序只能創(chuàng)建最大32GBFAT32文件系統(tǒng),不過(guò)可以用如PQ等分區(qū)軟件分出大于32GB的FAT32分區(qū),大于32GB的FAT32分區(qū)在WIN2000/XP下使用完全正常)
記錄日期: 創(chuàng)建、修改、訪(fǎng)問(wèn)
日期范圍: 1980年1月1日至2107年12月31日
屬性: 只讀,隱藏,系統(tǒng),卷標(biāo),子目錄,檔案
透明加密:不支持
透明壓縮:不支持
訪(fǎng)問(wèn)許可:無(wú)限制
fat32_FAT32 -啟動(dòng)扇區(qū)
格式如下
偏移(字節(jié)) 長(zhǎng)度(字節(jié)) 說(shuō)明
0x00 3 跳轉(zhuǎn)指令(跳過(guò)開(kāi)頭一段區(qū)域)
0x03 8 OEM名稱(chēng)(空格補(bǔ)齊)。 MS-DOS檢查這個(gè)區(qū)域以確定使用啟動(dòng)記錄中的哪一部分?jǐn)?shù)據(jù)。常見(jiàn)值是IBM 3.3(在“IBM”和“3.3”之間有兩個(gè)空格)和MSDOS5.0.
0x0b 2 每個(gè)扇區(qū)的字節(jié)數(shù)?;据斎胼敵鱿到y(tǒng)參數(shù)塊從這里開(kāi)始。
0x0d 1 每簇扇區(qū)數(shù)
0x0e 2 保留扇區(qū)數(shù)(包括啟動(dòng)扇區(qū))
0x10 1 文件分配表數(shù)目
0x11 2 最大根目錄條目個(gè)數(shù)
0x13 2 總扇區(qū)數(shù)(如果是0,就使用偏移0x20處的4字節(jié)值)
0x15 1 介質(zhì)描述 0xF8 單面、每面80磁道、每磁道9扇區(qū)
0xF9 雙面、每面80磁道、每磁道9扇區(qū)
0xFA 單面、每面80磁道、每磁道8扇區(qū)
0xFB 雙面、每面80磁道、每磁道8扇區(qū)
0xFC 單面、每面40磁道、每磁道9扇區(qū)
0xFD 雙面、每面40磁道、每磁道9扇區(qū)
0xFE 單面、每面40磁道、每磁道8扇區(qū)
0xFF 雙面、每面40磁道、每磁道8扇區(qū)
同樣的介質(zhì)描述必須在重復(fù)復(fù)制到每份FAT的第一個(gè)字節(jié)。有些操作系統(tǒng)(MSX-DOS 1.0版)全部忽略啟動(dòng)扇區(qū)參數(shù),而僅僅使用FAT的第一個(gè)字節(jié)的介質(zhì)描述確定文件系統(tǒng)參數(shù)。
0x16 2 每個(gè)文件分配表的扇區(qū)(FAT16)
0x18 2 每磁道的扇區(qū)
0x1a 2 磁頭數(shù)
0x1c 4 隱藏扇區(qū)
0x20 4 總扇區(qū)數(shù)(如果超過(guò)65535,參見(jiàn)偏移0x13)
0x24 4 每個(gè)文件分配表的扇區(qū)(FAT32)。擴(kuò)展基本輸入輸出系統(tǒng)參數(shù)塊從這里開(kāi)始。
0x24 1 物理驅(qū)動(dòng)器個(gè)數(shù)(FAT16)
0x25 1 當(dāng)前磁頭(FAT16)
0x26 1 簽名(FAT16)
0x27 4 ID (FAT16)
0x28 2 Flags (FAT32)
0x2a 2 版本號(hào) (FAT32)
0x2c 4 根目錄啟始簇 (FAT32)
0x2b 11 卷標(biāo)(非FAT32)
0x30 2 FSInfo 扇區(qū) (FAT32)
0x32 2 啟動(dòng)扇區(qū)備份 (FAT32)
0x34 2 保留未使用 (FAT32)
0x36 8 FAT文件系統(tǒng)類(lèi)型(如FAT、FAT12、FAT16)
0x3e 2 操作系統(tǒng)自引導(dǎo)代碼
0x40 1 BIOS設(shè)備代號(hào) (FAT32)
0x41 1 未使用 (FAT32)
0x42 1 標(biāo)記 (FAT32)
0x43 4 卷序號(hào) (FAT32)
0x47 11 卷標(biāo)(FAT32)
0x52 8 FAT文件系統(tǒng)類(lèi)型(FAT32)
0x1FE 2 扇區(qū)結(jié)束符(0x55 0xAA)
這里描述的啟動(dòng)扇區(qū)能在如OS/2 1.3的啟動(dòng)盤(pán)上看到。早期的版本使用一個(gè)較短的基本輸入輸出系統(tǒng)參數(shù)塊,它們的啟動(dòng)代碼在前面開(kāi)始(如OS/2 1.1中是偏移0x2b)。
fat32_FAT32 -文件分配
一個(gè)分區(qū)分成同等大小的簇,也就是連續(xù)空間的小塊。簇的大小隨著FAT文件系統(tǒng)的類(lèi)型以及分區(qū)大小而不同,典型的簇大小介于2KB到32KB之間。每個(gè)文件根據(jù)它的大小可能占有一個(gè)或者多個(gè)簇;這樣,一個(gè)文件就由這些這些(稱(chēng)為單鏈表)簇鏈所表示。然而,這些鏈并不一定一個(gè)接著一個(gè)在磁盤(pán)上存儲(chǔ),它們經(jīng)常是在整個(gè)數(shù)據(jù)區(qū)域零散的儲(chǔ)存。
文件分配表(FAT)是映射到分區(qū)每個(gè)簇的條目列表。每個(gè)條目記錄下面五種信息中的一種。
●鏈中下一個(gè)簇的地址
●一個(gè)特殊的文件結(jié)束符(EOF)符號(hào)指示鏈的結(jié)束
●一個(gè)特殊的符號(hào)標(biāo)示壞簇
●一個(gè)特殊的符號(hào)標(biāo)示保留簇

●0來(lái)表示空閑簇
FAT32條目值:
FAT32 描述
0x?0000000 空閑簇
0x?0000001 保留簇
0x?0000002 - 0x?FFFFFEF 被占用的簇;指向下一個(gè)簇
0x?FFFFFF0 - 0x?FFFFFF6 保留值
0x?FFFFFF7壞簇
0x?FFFFFF8 - 0x?FFFFFFF 文件最后一個(gè)簇
注意FAT32只使用32位中的28位。高4位通常是0但它們是保留位,不要更改它們。在上面的表中它們用問(wèn)號(hào)表示。
fat32_FAT32 -目錄表
目錄表是一個(gè)表示目錄的特殊類(lèi)型文件(現(xiàn)今通常稱(chēng)為文件夾)。它里面保存的每個(gè)文件或目錄使用表中的32位條目表示。每個(gè)條目記錄名字、擴(kuò)展名、屬性(檔案、目錄、隱藏、只讀、系統(tǒng)和卷)、創(chuàng)建的日期和時(shí)間、文件/目錄數(shù)據(jù)第一個(gè)簇的地址,最后是文件/目錄的大小。
除了FAT12和FAT16文件系統(tǒng)中的根目錄表占據(jù)特殊的根目錄區(qū)域位置之外,所有其它的目錄表都存在數(shù)據(jù)區(qū)域。
合法的DOS文件名包括下面一些字符:
●大寫(xiě)字母A-Z
●數(shù)字0-9
●空格(盡管結(jié)尾的空格被作為填充而不是文件名的一部分)
●! # $ amp;amp; ( ) - @ ^ _ ` { } ~ '
●數(shù)值 128-255
●DOS文件名位于OEM字符集。
長(zhǎng)文件名(LFN)使用一個(gè)技巧存儲(chǔ)在FAT文件系統(tǒng)上――在目錄表中添加假的條目。這些條目使用一個(gè)普通文件無(wú)法使用的卷標(biāo)屬性標(biāo)識(shí),普通文件無(wú)法使用是由于它們被大多數(shù)舊的MS-DOS程序忽略。很顯然,一個(gè)只包含卷標(biāo)的目錄被當(dāng)作空卷,這樣就允許刪除;使用長(zhǎng)文件名創(chuàng)建的文件在從普通的DOS刪除就會(huì)發(fā)生這樣的情形。
校驗(yàn)和也允許檢驗(yàn)長(zhǎng)文件名是否與8.3文件名匹配;當(dāng)一個(gè)文件刪除之后使用DOS在同一個(gè)目錄位置重新創(chuàng)建之后就會(huì)出現(xiàn)不匹配現(xiàn)象。校驗(yàn)和使用下面的算法計(jì)算。(注意pFcbName是指向如正常目錄條目中所顯示的文件名的指針,例如前八個(gè)字符是文件名,最后三個(gè)是擴(kuò)展名。點(diǎn)是隱含的。文件名中沒(méi)有使用的空間將使用空格(ASCII 0x20)補(bǔ)齊。例如,“Readme.txt”將記錄為"README TXT"。
fat32_FAT32 -特點(diǎn)
FAT32實(shí)際上是文件分區(qū)表采取的一種形式,它是相對(duì)于FAT16而言的。眾所周知,Dos和Windows95采用的都是FAT16格式。至于FAT32,準(zhǔn)確地說(shuō)是在Windows95OSR2中第一次出現(xiàn)的,之所以沒(méi)有宣傳是因?yàn)楫?dāng)時(shí)該文件系統(tǒng)還不夠成熟,尚處于試探階段。那么為什么一定要推出FAT32呢?這主要是由其自身的優(yōu)越性決定的。
首先,它可以大大地節(jié)約磁盤(pán)空間。文件在磁盤(pán)上是以簇的方式存放的,簇里存放了一個(gè)文件就不能再存放另外的文件。假如一個(gè)磁盤(pán)的分區(qū)大小為512MB,基于FAT16的系統(tǒng)的簇的大小為8KB,而FAT32系統(tǒng)的簇的大小僅是4KB,那么,我們存放一個(gè)3KB的文件,F(xiàn)AT16系統(tǒng)就會(huì)有5KB的空間被浪費(fèi),而FAT32的浪費(fèi)則會(huì)少一些。如果分區(qū)達(dá)到1GB,F(xiàn)AT16的簇為16KB,而FAT32還是4KB,節(jié)省的也就更多了。
在推出FAT32文件系統(tǒng)之前,通常PC機(jī)使用的文件系統(tǒng)是FAT16。像基于MS-DOS,Win 95等系統(tǒng)都采用了FAT16文件系統(tǒng)。在Win 9X下,F(xiàn)AT16支持的分區(qū)最大為2GB。我們知道計(jì)算機(jī)將信息保存在硬盤(pán)上稱(chēng)為“簇”的區(qū)域內(nèi)。使用的簇越小,保存信息的效率就越高。在FAT16的情況下,分區(qū)越大簇就相應(yīng)的要增大,存儲(chǔ)效率就越低,勢(shì)必造成存儲(chǔ)空間的浪費(fèi)。并且隨著計(jì)算機(jī)硬件和應(yīng)用的不斷提高,F(xiàn)AT16文件系統(tǒng)已不能很好地適應(yīng)系統(tǒng)的要求。在這種情況下,推出了增強(qiáng)的文件系統(tǒng)FAT32。同F(xiàn)AT16相比,F(xiàn)AT32主要具有以下特點(diǎn):
1. 同F(xiàn)AT16相比FAT32最大的優(yōu)點(diǎn)是可以支持的磁盤(pán)大小達(dá)到2TB(2048GB),但是不能支持小于512MB的分區(qū)。基于FAT32的Win 2000可以支持分區(qū)最大為32GB;而基于 FAT16的Win 2000支持的分區(qū)最大2GB。
2. 由于采用了更小的簇,F(xiàn)AT32文件系統(tǒng)可以更有效率地保存信息。如兩個(gè)分區(qū)大小都為2GB,一個(gè)分區(qū)采用了FAT16文件系統(tǒng),另一個(gè)分區(qū)采用了FAT32文件系統(tǒng)。采用FAT16的分區(qū)的簇大小為32KB,而FAT32分區(qū)的簇只有4KB的大小。這樣FAT32就比FAT16的存儲(chǔ)效率要高很多,通常情況下可以提高15%。
3. FAT32文件系統(tǒng)可以重新定位根目錄和使用FAT的備份副本。另外FAT32分區(qū)的啟動(dòng)記錄被包含在一個(gè)含有關(guān)鍵數(shù)據(jù)的結(jié)構(gòu)中,減少了計(jì)算機(jī)系統(tǒng)崩潰的可能性。
稍作補(bǔ)充:
fat32_FAT32 -兼容性
軟硬件的兼容問(wèn)題
為了與現(xiàn)有程序、網(wǎng)絡(luò)和設(shè)備驅(qū)動(dòng)程序保持最大程度的兼容性,F(xiàn)AT32 盡可能不改動(dòng)現(xiàn)有的 Windows 體系結(jié)構(gòu)、內(nèi)部數(shù)據(jù)結(jié)構(gòu)、應(yīng)用程序編程接口(API) 和磁盤(pán)上的格式。然而,因?yàn)樾枰?4 字節(jié)來(lái)存儲(chǔ)簇值,所以許多內(nèi)部的和磁盤(pán)上的數(shù)據(jù)結(jié)構(gòu)以及發(fā)布的 API 都作了修改或擴(kuò)展。某些情況下,現(xiàn)有的 API 無(wú)法在 FAT32 驅(qū)動(dòng)器上運(yùn)行。大多數(shù)程序不會(huì)受這些更改的影響?,F(xiàn)有工具和驅(qū)動(dòng)程序在 FAT32 驅(qū)動(dòng)器上應(yīng)能夠繼續(xù)正常運(yùn)行。不過(guò),MS-DOS 塊設(shè)備驅(qū)動(dòng)程序(例如 Aspidisk.sys)和磁盤(pán)工具需要經(jīng)過(guò)修改才能支持 FAT32 驅(qū)動(dòng)器。
所有 Microsoft 捆綁磁盤(pán)工具(格式化、Fdisk、碎片整理、基于 MS-DOS 和 Windows 的磁盤(pán)掃描)已經(jīng)過(guò)修改,可以在 FAT32 中正常運(yùn)行。此外,Microsoft 正在與一些主要設(shè)備驅(qū)動(dòng)程序和磁盤(pán)工具廠(chǎng)商協(xié)作,幫助他們修改其產(chǎn)品以支持 FAT32。
注意:不能使用 Microsoft DriveSpace 或 DriveSpace 3 壓縮 FAT32 卷。
FAT32 性能
轉(zhuǎn)換到 FAT32 文件系統(tǒng)是您可以在基于 Windows 98 的計(jì)算機(jī)上實(shí)現(xiàn)的最大的一種性能增強(qiáng)。
雙啟動(dòng)計(jì)算機(jī)
目前,在 Microsoft 操作系統(tǒng)中,只有 Windows 95 OSR2、Windows 98、Windows 2000 和 Windows Me 可以訪(fǎng)問(wèn) FAT32 卷。MS-DOS、Windows 95 原始版和 Windows NT 4.0不識(shí)別 FAT32 分區(qū),它們無(wú)法從 FAT32 卷啟動(dòng)。此外,如果使用其他操作系統(tǒng)(例如,Windows 95 或 MS-DOS 啟動(dòng)盤(pán))啟動(dòng)計(jì)算機(jī),也無(wú)法正確訪(fǎng)問(wèn) FAT32 卷。
Windows 95 OSR2 和 Windows 98 可以在實(shí)模式下啟動(dòng)(例如為了運(yùn)行游戲)并可以使用 FAT32 卷。
創(chuàng)建 FAT32 驅(qū)動(dòng)器
在 Windows 95 OSR2、Windows 98 和 Windows Me 中,如果在大小超過(guò) 512 兆字節(jié) (MB) 的硬盤(pán)上運(yùn)行 Fdisk 工具,F(xiàn)disk 將提示您是否啟用大磁盤(pán)支持。如果回答“是”(啟用大磁盤(pán)支持),您創(chuàng)建的任何大于 512 MB 的分區(qū)都將被標(biāo)記為 FAT32 分區(qū)。
Windows 98 和 Windows Me 中還帶有一種 FAT32 轉(zhuǎn)換工具,您可以使用該工具將現(xiàn)有驅(qū)動(dòng)器轉(zhuǎn)換為 FAT32 文件系統(tǒng)。要使用該轉(zhuǎn)換工具,請(qǐng)按照下列步驟操作: 1. 單擊開(kāi)始,依次指向程序、附件、系統(tǒng)工具,然后單擊驅(qū)動(dòng)器轉(zhuǎn)換器 (FAT32)。
2. 單擊下一步。
3. 單擊希望轉(zhuǎn)換為 FAT32 文件系統(tǒng)的驅(qū)動(dòng)器,然后單擊下一步。
4. 按照屏幕上的說(shuō)明操作。
支持范圍
Microsoft 將支持 FAT32 文件系統(tǒng)的功能,以實(shí)現(xiàn)無(wú)錯(cuò)讀取和在實(shí)模式或保護(hù)模式下保存文件。Microsoft 支持 Windows 95 中所帶的實(shí)模式和保護(hù)模式工具。
對(duì)于舊式(較早的)程序,如果它們無(wú)法在 FAT32 卷上安裝,或者無(wú)法正確保存文件或讀取文件,則您必須與軟件包的生產(chǎn)廠(chǎng)商聯(lián)系。
注意:雖然 FAT32 文件系統(tǒng)所支持的硬盤(pán)容量最高可以達(dá)到 2 TB,但有些硬盤(pán)可能會(huì)因?yàn)橛?jì)算機(jī)基本輸入/輸出系統(tǒng) (BIOS) INT13 接口的限制而無(wú)法包含大于 7.8 GB 的可啟動(dòng)分區(qū)。請(qǐng)與硬件制造商聯(lián)系,以確定您計(jì)算機(jī)的 BIOS 是否支持更新后的 INT13 擴(kuò)展。
Windows 操作系統(tǒng)使用 FAT32 文件系統(tǒng)時(shí)存在以下限制: ? 簇不能是 64 千字節(jié) (KB) 或更大。如果簇為 64 KB 或更大,有些程序(例如安裝程序)在計(jì)算磁盤(pán)空間時(shí)可能會(huì)出錯(cuò)。
? 卷必須包含至少 65,527 個(gè)簇,才能使用 FAT32 文件系統(tǒng)。您不能增加使用 FAT32 文件系統(tǒng)的卷上的簇大小,以致于該卷的最終簇?cái)?shù)小于 65,527。
? 在使用 FAT32 文件系統(tǒng)的卷上,簇最多是 268,435,445 個(gè)。對(duì)于文件分配表 (FAT) 的空間,每簇最大為 32 KB,據(jù)此計(jì)算出的最大磁盤(pán)大小大約為 8 太字節(jié) (TB)。
? Microsoft Windows 95 和 Microsoft Windows 98 附帶的“磁盤(pán)掃描”工具是 16 位程序。這樣的程序有一個(gè)內(nèi)存塊,該內(nèi)存塊的最大分配大小等于 16 MB 減去 64 KB。因此,Windows 95 或 Windows 98 的“磁盤(pán)掃描”工具無(wú)法處理使用 FAT32 文件系統(tǒng)(其 FAT 大小大于 16 MB 和 64 KB 之差)的卷。使用 FAT32 文件系統(tǒng)的卷上的 FAT 項(xiàng)使用 4 字節(jié),因此 ScanDisk 無(wú)法處理使用定義的簇?cái)?shù)大于 4,177,920(包括兩個(gè)保留的簇)的 FAT32 文件系統(tǒng)的卷上的 FAT。將 FAT 本身包括在內(nèi),按每簇最大 32 KB 計(jì)算,卷大小為 127.53 吉字節(jié) (GB)。
? 您不能減少使用 FAT32 文件系統(tǒng)的卷上的簇大小,以致于 FAT 的最終大小大于 16 MB 與 64 KB 之差。
? 在 Windows 2000 中您無(wú)法使用 FAT32 文件系統(tǒng)格式化大于 32 GB 的卷。Windows 2000 FastFAT 驅(qū)動(dòng)程序可以安裝和支持使用 FAT32 文件系統(tǒng)且大于 32 GB的卷(受到其他限制),但是您不能使用格式化工具創(chuàng)建一個(gè)這樣的卷。這種現(xiàn)象是設(shè)計(jì)使然。如果需要?jiǎng)?chuàng)建大于 32 GB 的卷,請(qǐng)改用 NTFS 文件系統(tǒng)。
備注:在嘗試格式化大于 32 GB 的 FAT32 分區(qū)時(shí),在進(jìn)程快結(jié)束時(shí)格式化會(huì)失敗,并出現(xiàn)以下錯(cuò)誤:
Logical Disk Manager:Volume size too big.
Windows XP 中 FAT32 文件系統(tǒng)的限制
當(dāng)您在 Windows XP 中使用 FAT32 文件系統(tǒng)時(shí),請(qǐng)注意下列限制: ? 簇不能等于或大于 64 KB。如果簇大小為 64 KB 或更大,則有些程序(例如安裝程序)可能會(huì)不正確地計(jì)算磁盤(pán)空間。
? FAT32 卷必須至少包含 65,527 個(gè)簇。您不能增加使用 FAT32 文件系統(tǒng)的卷上的簇大小,這樣會(huì)導(dǎo)致卷上的簇?cái)?shù)少于 65,527 個(gè)。
? 如果考慮到以下可變因素,則最大磁盤(pán)大小大約為 8 TB:一個(gè) FAT32 卷上允許的最大簇?cái)?shù)為 268,435,445,每個(gè)簇最大為 32 KB,另外還有文件分配表 (FAT) 所需的空間。
? 您不能減少 FAT32 卷上的簇大小,這樣會(huì)導(dǎo)致 FAT 的大小大于 16 MB 減去 64 KB。
? 在 Windows XP 安裝過(guò)程中,您不能使用 FAT32 文件系統(tǒng)格式化大于 32 GB 的卷。Windows XP 可以裝入和支持大于 32 GB 的 FAT32 卷(受到其他限制),但是您不能在安裝期間使用 Format 工具創(chuàng)建大于 32 GB 的 FAT32 卷。如果您需要格式化大于 32 GB 的卷,請(qǐng)使用 NTFS 文件系統(tǒng)來(lái)格式化。另一種方法是從 Microsoft Windows 98 或 Microsoft Windows Millennium Edition (Me) 啟動(dòng)盤(pán)啟動(dòng),然后使用該磁盤(pán)上包含的 Format 工具。
有關(guān)如何使用 Microsoft Windows 98 或 Microsoft Windows Millennium Edition (Me) 啟動(dòng)盤(pán)格式化硬盤(pán)的其他信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(yīng)的文章:
255867 如何使用 Fdisk 和 Format 工具對(duì)硬盤(pán)進(jìn)行分區(qū)或重新分區(qū)
注意:當(dāng)您在 Windows XP 安裝過(guò)程中試圖格式化大于 32GB 的 FAT32 分區(qū)時(shí),在格式化過(guò)程快結(jié)束時(shí)操作將會(huì)失敗,并且您可能會(huì)收到以下錯(cuò)誤信息:
Logical Disk Manager:Volume size too big.
? MS-DOS(Microsoft Windows 95 的原始版本)和 Microsoft Windows NT 4.0 及更低版本都不能識(shí)別 FAT32 分區(qū),因此無(wú)法從 FAT32 卷啟動(dòng)。
? 您不能在 FAT32 分區(qū)上創(chuàng)建大于 (2^32)-1 字節(jié)(即 4 GB 減去 1 個(gè)字節(jié))的文件。
FAT32格式理論上可以支持128TB的磁盤(pán),即簇的大小乘簇的數(shù)量32K*(2^32),但由于受到軟硬件的限制和其他方面的原因,不可能達(dá)到理論值。
FAT32數(shù)據(jù)恢復(fù)原理
由于FAT與FDT對(duì)數(shù)據(jù)的鏈?zhǔn)酱鎯?chǔ)管理的,可以通過(guò)鏈?zhǔn)剿阉鞑檎?。只有FAT表和FDT配合使用,才能可以統(tǒng)一管理整個(gè)磁盤(pán)文件,也就可以準(zhǔn)確定位被刪除的文件的確切位置。
在 Window操作系統(tǒng)下對(duì)文件的刪除工作,是將FDT中該文件的第一個(gè)字符改“E5”來(lái)表示該文件已經(jīng)刪除,同時(shí)改寫(xiě)引導(dǎo)扇區(qū)的第二個(gè)扇區(qū)中表示該分區(qū)點(diǎn)用空間大小的相應(yīng)信息。因此,在設(shè)計(jì)的時(shí)候,根據(jù)其存儲(chǔ)結(jié)構(gòu),對(duì)相應(yīng)的地方進(jìn)行修改,搜索E5刪除標(biāo)志,再按被刪文件數(shù)據(jù)鏈進(jìn)行恢復(fù)。
具體步驟如下:
(1) 獲取磁盤(pán)分區(qū)類(lèi)型,分區(qū)存儲(chǔ)空間,F(xiàn)AT、FDT、文件等存儲(chǔ)的起始扇區(qū)。
(2) 獲取FAT、FDT表項(xiàng)內(nèi)的簇信息,即簇的刪除、未使用、壞簇、以及文件占用簇的起始扇區(qū)信息等。
(3) 通過(guò)FAT、FDT計(jì)算不同文件在物理扇區(qū)的起始位置,包括有標(biāo)識(shí)E5的刪除文件起始位置、文件類(lèi)型、占用大小和存儲(chǔ)的所在簇。
(4) 改變刪除位,通過(guò)第3步得到的結(jié)果,并按FAT表對(duì)文件進(jìn)行鏈?zhǔn)讲檎也⒕彺妫?dāng)達(dá)到文件所在簇尾時(shí),停止操作。
(5) 對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,生成文件。
(6) 對(duì)文件進(jìn)行異區(qū)存儲(chǔ)。 而操作系統(tǒng)在讀寫(xiě)文件時(shí),會(huì)根據(jù)FDT中的起始單元,結(jié)合FAT表就可以知道文件在磁盤(pán)的具體位置,然后順序讀取每個(gè)簇的內(nèi)容,文件的查找如圖4-1所示。具體的方法如下:
(1)在文件目錄項(xiàng)FDT中找到存放在FAT表中的文件File的地址M(2)2*M得到FAT表中File文件數(shù)據(jù)鏈表首地址B。
(3)在FAT表中的B地址中,存放有文件FILE數(shù)據(jù)鏈表頭P。
(4)P*4得到在FAT表項(xiàng)中的下一個(gè)偏移位置,即下一個(gè)數(shù)據(jù)鏈表。
(5)如果下一個(gè)數(shù)據(jù)鏈表內(nèi)的信息為0FFFFFFH,則表示文件存儲(chǔ)已經(jīng)結(jié)束圖4-1查找文件流程需要說(shuō)明的是,新建文件時(shí),系統(tǒng)在FAT表中查找未用的簇記錄在新文件目錄項(xiàng)中做為首簇;FDT文件目錄項(xiàng)中,第0~7字節(jié)為文件名(若有剩余字節(jié)用20填充)第1字節(jié)表明了該文件的狀態(tài),第1字節(jié)又表明了文件的狀態(tài),00HE5H及其它字符。當(dāng)該字節(jié)為00H時(shí),表示該目錄項(xiàng)是空表項(xiàng),可以使用。當(dāng)為E5H時(shí),表示該目錄項(xiàng)以前用過(guò),但是文件被已經(jīng)刪除了。
fat32_FAT32 -小知識(shí)
在FAT32下,一個(gè)目錄只能夠容納65536個(gè)文件。微軟的官方文檔沒(méi)有給出。
愛(ài)華網(wǎng)本文地址 » http://www.klfzs.com/a/8103290103/47686.html
愛(ài)華網(wǎng)


