FAT32文件系統(tǒng)是什么意思
FAT32文件系統(tǒng)是什么意思
?(一)FAT32 文件系統(tǒng)將邏輯盤的空間劃分為三部分,依次是引導(dǎo)區(qū)(BOOT區(qū))、文件分配表區(qū)(FAT區(qū))、數(shù)據(jù)區(qū)(DATA區(qū))。引導(dǎo)區(qū)和文件分配表區(qū)又合稱為系統(tǒng)區(qū)。
??? (二)引導(dǎo)區(qū)從第一扇區(qū)開始,使用了三個扇區(qū),保存了該邏輯盤每扇區(qū)字節(jié)數(shù),每簇對應(yīng)的扇區(qū)數(shù)等等重要參數(shù)和引導(dǎo)記錄。之后還留有若干保留扇區(qū)。而FAT16文件系統(tǒng)的引導(dǎo)區(qū)只占用一個扇區(qū),沒有保留扇區(qū)。
??? (三)文件分配表區(qū)共保存了兩個相同的文件分配表,因?yàn)槲募加玫拇鎯臻g(簇鏈)及空閑空間的管理都是通過FAT實(shí)現(xiàn)的,F(xiàn)AT如此重要,保存兩個以便第一個損壞時,還有第二個可用。文件系統(tǒng)對數(shù)據(jù)區(qū)的存儲空間是按簇進(jìn)行劃分和管理的,簇是空間分配和回收的基本單位,即,一個文件總是占用若干個整簇,文件所使用的最后一簇剩余的空間就不再使用,而是浪費(fèi)掉了。
從統(tǒng)計(jì)學(xué)上講,平均每個文件浪費(fèi)0.5簇的空間,簇越大,存儲文件時空間浪費(fèi)越多,利用率越低。因此,簇的大小決定了該盤數(shù)據(jù)區(qū)的利用率。FAT16系統(tǒng)簇號用16位二進(jìn)制數(shù)表示,從0002H到FFEFH個可用簇號(FFF0H到FFFFH另有定義,用來表示壞簇,文件結(jié)束簇等),允許每一邏輯盤的數(shù)據(jù)區(qū)最多不超過FFEDH(65518)個簇。FAT32系統(tǒng)簇號改用32位二進(jìn)制數(shù)表示,大致從00000002H到FFFFFEFFH個可用簇號。FAT表按順序依次記錄了該盤各簇的使用情況,是一種位示圖法。
每簇的使用情況用32位二進(jìn)制填寫,未被分配的簇相應(yīng)位置寫零;壞簇相應(yīng)位置填入特定值;已分配的簇相應(yīng)位置填入非零值,具體為:如果該簇是文件的最后一簇,填入的值為FFFFFF0FH,如果該簇不是文件的最后一簇,填入的值為該文件占用的下一個簇的簇號,這樣,正好將文件占用的各簇構(gòu)成一個簇鏈,保存在FAT表中。0000000H、00000001H兩簇號不使用,其對應(yīng)的兩個DWORD位置(FAT表開頭的8個字節(jié))用來存放該盤介質(zhì)類型編號。FAT表的大小就由該邏輯盤數(shù)據(jù)區(qū)共有多少簇所決定,取整數(shù)個扇區(qū)。
(四)FAT32系統(tǒng)一簇對應(yīng)8個邏輯相鄰的扇區(qū),理論上,這種用法所能管理的邏輯盤容量上限為16TB(16384GB),容量大于16TB時,可以用一簇對應(yīng)16個扇區(qū),依此類推。FAT16系統(tǒng)在邏輯盤容量介于128MB到256MB時,一簇對應(yīng)8個扇區(qū),容量介于256MB到512MB時,一簇對應(yīng)16個扇區(qū),容量介于512MB到1GB時,一簇對應(yīng)32個扇區(qū),容量介于1GB到2GB時,一簇對應(yīng)32個扇區(qū),超出2GB的部分無法使用。顯然,對于容量大于512MB的邏輯盤,采用FAT32的簇比采用FAT16的簇小很多,大大減少了空間的浪費(fèi)。
但是,對于容量小于512MB的盤,采用FAT32雖然一簇8個扇區(qū),比使用FAT16一簇16個扇區(qū),簇有所減小,但FAT32的FAT表較大,占用空間較多,總數(shù)據(jù)區(qū)被減少,兩者相抵,實(shí)際并不能增加有效存儲空間,所以微軟建議對小于512M的邏輯盤不使用FAT32。
另外,對于使用FAT16文件系統(tǒng)的用戶提一建議,硬盤分區(qū)時,不要將分區(qū)(邏輯盤)容量正好設(shè)為某一區(qū)間的下限,例:將一邏輯盤容量設(shè)為1100M(稍大于1024M),則使用時其有效存儲容量比分區(qū)為950M的一般還少,因其簇大一倍,浪費(fèi)的空間較多。還有,使用FDISK等對分區(qū)指定容量時,由于對1MB的定義不一樣(標(biāo)準(zhǔn)的二進(jìn)制的1MB為1048576B,有的系統(tǒng)將1MB理解為1000000B,1000KB等),及每個分區(qū)需從新磁道開始等因素,實(shí)際分配的容量可能稍大于指定的容量,亦需注意掌握。
???? 五)根目錄區(qū)(ROOT區(qū))不再是固定區(qū)域、固定大小,可看作是數(shù)據(jù)區(qū)的一部分。因?yàn)楦夸浺迅臑楦夸浳募?,采用與子目錄文件相同的管理方式,一般情況下從第二簇開始使用,大小視需要增加,因此根目錄下的文件數(shù)目不再受最多512的限制。FAT16文件系統(tǒng)的根目錄區(qū)(ROOT區(qū))是固定區(qū)域、固定大小的,是從FAT區(qū)之后緊接著的32個扇區(qū),最多保存512個目錄項(xiàng),作為系統(tǒng)區(qū)的一部分。
(六)目錄區(qū)中的目錄項(xiàng)變化較多,一個目錄項(xiàng)仍占32字節(jié),可以是文件目錄項(xiàng)、子目錄項(xiàng)、卷標(biāo)項(xiàng)(僅跟目錄有)、已刪除目錄項(xiàng)、長文件名目錄項(xiàng)等。目錄項(xiàng)中原來在DOS下保留未用的10個字節(jié)都有了新的定義,全部32字節(jié)的定義如下:
(1) 0-- 7字節(jié) 文件正名。
(2) 8--10字節(jié) 文件擴(kuò)展名。
(3) 11字節(jié) 文件屬性,按二進(jìn)制位定義,最高兩位保留未用,0至5位分別是只讀位、隱藏位、系統(tǒng)位、卷標(biāo)位、子目錄位、歸檔位。
(4) 11--13字節(jié) 僅長文件名目錄項(xiàng)用,用來存儲其對應(yīng)的短文件名目錄項(xiàng)的文件名字節(jié)校驗(yàn)和等。
(5) 13--15字節(jié) 24位二進(jìn)制的文件建立時間,其中的高5位為小時,次6位為分鐘。
(6) 16--17字節(jié) 16位二進(jìn)制的文件建立日期,其中的高7位為相對于1980年的年份值,次4位為月份,后5位為月內(nèi)日期。
(7) 18--19字節(jié) 16位二進(jìn)制的文件最新訪問日期,定義同(6)。
(8) 20--21字節(jié) 起始簇號的高16位。
(9) 22--23字節(jié) 16位二進(jìn)制的文件最新修改時間,其中的高5位為小時,次6位為分鐘,后5位的二倍為秒數(shù)。
(10)24--25字節(jié) 16位二進(jìn)制的文件最新修改日期,定義同(6)。
(11)26--27字節(jié) 起始簇號的低16位。
(12)28--31字節(jié) 32位的文件字節(jié)長度。
其中第(4)至(8)項(xiàng)為以后陸續(xù)定義的。 對于子目錄項(xiàng),其(12)為零;已刪除目錄項(xiàng)的首字節(jié)值為E5H。在可以使用長文件名的FAT32系統(tǒng)中,文件目錄項(xiàng)保存該文件的短文件名,長文件名用若干個長文件名目錄項(xiàng)保存,長文件名目錄項(xiàng)倒序排在文件短目錄項(xiàng)前面,全部是采用雙字節(jié)內(nèi)碼保存的,每一項(xiàng)最多保存十三個字符內(nèi)碼,首字節(jié)指明是長文件名的第幾項(xiàng),11字節(jié)一般為0FH,12字節(jié)指明類型,13字節(jié)為校驗(yàn)和,26--27字節(jié)為零。
修復(fù)被CIH破壞的硬盤一例(FAT32)
1) 用無毒系統(tǒng)Windows 9X軟盤啟動計(jì)算機(jī),進(jìn)入CMOS SETUP,將系統(tǒng)日期修改為26日以前。
2) 用軟盤重新引導(dǎo)計(jì)算機(jī),運(yùn)行FDISK /MBR,清除主引導(dǎo)記錄MBR代碼區(qū)。
3) 運(yùn)行DEBUG,輸入以下程序:
-a
XXXX:0100 mov ax,201
XXXX:0103 mov bx,1000
XXXX:0106 mov cx,1
XXXX:0109 mov dx,80
XXXX:010C int13
XXXX:010E int3
XXXX:010F [回車]
-g
....(顯示寄存器結(jié)果,略去)
-f11BE 11FD 00
-f11FE 11FF 55 AA
-a100
XXXX:0100 mov ax,301
XXXX:0103 [回車]
-g=100
......
-q
以上程序清空分區(qū)表?;蛘?,直接運(yùn)行DISKEDIT,選擇物理驅(qū)動器HARD DISK 1,按Alt-P
選擇物理扇區(qū),Side 0,Cylinder 0,Sector 1,用00清空偏移01BE至01FD,并在扇區(qū)最
后輸入55,AA。在啟動DISKEDIT后,系統(tǒng)自動設(shè)為READ ONLY,從菜單中選TOOLS-]CONFIGURATION,
清除READ ONLY標(biāo)記并回車,就可以對硬盤進(jìn)行寫操作了。在寫操作之后,按Ctrl-W存盤。
4) 清空分區(qū)表后,用NDD重建原分區(qū)。如果硬盤上還有除C以外的邏輯分區(qū),可以一齊找回。
5) 為重建邏輯驅(qū)動器C,下面將計(jì)算FAT區(qū):
a) Windows 9X操作系統(tǒng)的邏輯驅(qū)動器C的BOOT區(qū)在Cylinder 0,Side 1,Sector 1。
b) 用DISKEDIT的FIND功能尋找ASC II字符串:COMMAND COM
(COMMAND與COM中間有一個空格,ASC II值為20,找尋FDT表中COMMAND.COM的原因是,根目錄中一般都有此文件,如果你的計(jì)算機(jī)里該文件不在根目錄,就將上述字符串改為根目錄中的其他文件名,如IO.SYS或MSDOS.SYS。但要注意文件名和后綴名之間要有空格,總長度為11字節(jié))
c) 找到后,用PgUp向前翻頁,直到上一扇區(qū)尾部出現(xiàn)連續(xù)的00
(一般說,沒見過硬盤的最后幾十K還有存放數(shù)據(jù)的情況,否則,Windows 9X的虛擬內(nèi)存恐怕就沒法建立了,)
d) 記錄該扇區(qū)的Cylinder,Side,Sector值?!猂OOT
e) 尋找FAT2的開始扇區(qū),其特點(diǎn)是:
(要選中“Search at specified sector offset:[0...]”)
扇區(qū)偏移0000H處為F8 FF FF ;FAT16
扇區(qū)偏移0000H處為F8 FF FF FF ;FAT32
找到后,確認(rèn)上一扇區(qū)尾部出現(xiàn)連續(xù)的00,則該扇區(qū)為FAT2頭部。
(FAT1應(yīng)與FAT2內(nèi)容相同,但其頭部數(shù)個扇區(qū)已被CIH破壞)
f) 記錄該扇區(qū)的Cylinder,Side,Sector值?!狥AT2
g) 計(jì)算FAT2的扇區(qū)數(shù),用以下公式,其中,尾標(biāo)0為FAT2地址,尾標(biāo)1為ROOT地址:
扇區(qū)數(shù)=(Cylinder1-Cylinder0)*Sectors/Cylinder+(Side1-Side0)*Sides
*Sectors/Cylinder+Sector1-Sector0
說明:Sectors/Cylinder為每道扇區(qū)數(shù),Sides為硬盤的總磁頭數(shù)。一個簡單的查看方法是:在DISKEDIT中按下[End]鍵,屏幕右下角的Sector值即為每道扇區(qū)數(shù),而Side值+1即為總磁頭數(shù)。FAT1扇區(qū)數(shù)與FAT2相同。
h) 計(jì)算出FAT1頭部地址,并記錄。——FAT1
i) 在DISKEDIT中按Alt-P重選Physical Sector,起始地址為步驟e)記錄的地址。扇區(qū)數(shù)為步驟g)計(jì)算出的扇區(qū)數(shù)。按Alt-W將選中的扇區(qū)(即FAT2)存至FAT1開始的地址(步驟h)計(jì)算出的FAT1頭部)。
j) 至此,F(xiàn)AT2-]FAT1的恢復(fù)工作宣告結(jié)束。
6) 下面恢復(fù)主引導(dǎo)記錄中的標(biāo)志:
用DISKEDIT選擇Cylinder 0,Side 0,Sector 1,將此扇區(qū)尾部偏移為01C2H地址的標(biāo)志修復(fù)。如果為FAT16系統(tǒng),應(yīng)為06H;如果為FAT32系統(tǒng),應(yīng)為0CH。均表示PRI-DOS分區(qū)。
7) 恢復(fù)BOOT扇區(qū),位置在Cylinder 0,Side 1,Sector 1,以下用0-1-1表示,以此類推。
a) 在步驟5)中,已計(jì)算出了FAT1的起始位置。在FAT16系統(tǒng)中,F(xiàn)AT1一般自0-1-2開始;在FAT32系統(tǒng)中,F(xiàn)AT1一般自0-1-33開始。如果你的系統(tǒng)與此不同,以實(shí)際計(jì)算出的數(shù)值為準(zhǔn)。
b) 將FAT1的起始扇區(qū)號減1,就是系統(tǒng)的隱含扇區(qū)數(shù),一般FAT16為1,F(xiàn)AT32為32。
c) 如為FAT16系統(tǒng),跳過本步驟,至d)。
選擇一臺無毒的FAT32系統(tǒng)作參考,將0-1-1至FAT1前面的隱含扇區(qū)保存到
非常好我支持^.^
(246) 50.4%
不好我反對
(242) 49.6%
相關(guān)閱讀:
- [電子說] FAT32文件系統(tǒng)詳細(xì)分析 (格式化SD nand/SD卡) 2023-10-18
- [電子說] AT32講堂004 | AT32 MCU DMA通道的靈活配置 2022-05-10
- [電子說] 羅列一些在不同操作系統(tǒng)中比較常見的文件系統(tǒng) 2023-03-14
- [電子說] 智能助眠儀音樂方案—N9300 MP3音樂芯片 2023-03-03
- [電子說] 硬盤的不同分區(qū)格式有什么區(qū)別? 2023-02-17
- [電子說] 為大家科普文件格式FAT、FAT32、exFAT之間的關(guān)系和區(qū)別 2021-07-05
- [電子說] Windows為何只支持32GB的FAT32分區(qū)? 2021-01-06
- [電子說] FAT32、exFAT與NTFS分別是什么? 2019-11-21
( 發(fā)表人:admin )