亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

FAT32文件系統

系統 2078 0
Windows95 OSR2和Windows 98開始支持FAT32
文件系統,它是對早期DOS的FAT16文件系統的增強,由于文件系統的核心--
文件分配表FAT由16位擴充為32位,所以稱為FAT32文件系統。在一邏輯盤(硬盤的一分區)超過512
兆字節時使用這種格式,會更高效地存儲數據,減少硬盤空間的浪費,一般還會使程序運行加快,使用的計算機系統資源更少,因此是使用大容量硬盤存儲文件的極有效的系統。本人對Windows
98下的FAT32
文件系統做了分析實驗,總體上與FAT16文件系統變化不大,現將有關變化部分簡介如下:(一)FAT32
文件系統將邏輯盤的空間劃分為三部分,依次是引導區(BOOT區)、文件分配表區(FAT區)、數據區(DATA區)。引導區和文件分配表區又合稱為系統區。(二)引導區從第一扇區開始,使用了三個扇區,保存了該邏輯盤每扇區字節數,每簇對應的扇區數等等重要參數和引導記錄。之后
還留有若干保留扇區。而FAT16文件系統的引導區只占用一個扇區,沒有保留扇區。
  (三)文件分配表區共保存了兩個相同的文件分配表,因為文件所占用的存儲空間(簇鏈)及空閑空間的管理都是通過FAT實現的,
FAT如此重要,保存兩個以便第一個損壞時,還有第二個可用。文件系統對數據區的存儲空間是按簇進行劃分和管理的,簇是空間分配和
回收的基本單位,即,一個文件總是占用若干個整簇,文件所使用的最后一簇剩余的空間就不再使用,而是浪費掉了。
  從統計學上講,平均每個文件浪費0.5簇的空間,簇越大,存儲文件時空間浪費越多,利用率越低。因此,簇的大小決定了該盤數據
區的利用率。FAT16系統簇號用16位二進制數表示,從0002H到FFEFH個可用簇號(FFF0H到FFFFH另有定義,用來表示壞簇,文件結束簇等),
允許每一邏輯盤的數據區最多不超過FFEDH(65518)個簇。FAT32系統簇號改用32位二進制數表示,大致從00000002H到FFFFFEFFH個可用簇
號。FAT表按順序依次記錄了該盤各簇的使用情況,是一種位示圖法。
  每簇的使用情況用32位二進制填寫,未被分配的簇相應位置寫零;壞簇相應位置填入特定值;已分配的簇相應位置填入非零值,具體
為:如果該簇是文件的最后一簇,填入的值為FFFFFF0FH,如果該簇不是文件的最后一簇,填入的值為該文件占用的下一個簇的簇號,這
樣,正好將文件占用的各簇構成一個簇鏈,保存在FAT表中。0000000H、00000001H兩簇號不使用,其對應的兩個DWORD位置(FAT表開頭的8
個字節)用來存放該盤介質類型編號。FAT表的大小就由該邏輯盤數據區共有多少簇所決定,取整數個扇區。
 ?。ㄋ模〧AT32系統一簇對應8個邏輯相鄰的扇區,理論上,這種用法所能管理的邏輯盤容量上限為16TB(16384GB),容量大于16TB時,
可以用一簇對應16個扇區,依此類推。FAT16系統在邏輯盤容量介于128MB到256MB時,一簇對應8個扇區,容量介于256MB到512MB時,一簇
對應16個扇區,容量介于512MB到1GB時,一簇對應32個扇區,容量介于1GB到2GB時,一簇對應32個扇區,超出2GB的部分無法使用。顯
然,對于容量大于512MB的邏輯盤,采用FAT32的簇比采用FAT16的簇小很多,大大減少了空間的浪費。
  但是,對于容量小于512MB的盤,采用FAT32雖然一簇8個扇區,比使用FAT16一簇16個扇區,簇有所減小,但FAT32的FAT表較大,占用
空間較多,總數據區被減少,兩者相抵,實際并不能增加有效存儲空間,所以微軟建議對小于512M的邏輯盤不使用FAT32。
  另外,對于使用FAT16文件系統的用戶提一建議,硬盤分區時,不要將分區(邏輯盤)容量正好設為某一區間的下限,例:將一邏輯盤
容量設為1100M(稍大于1024M),則使用時其有效存儲容量比分區為950M的一般還少,因其簇大一倍,浪費的空間較多。還有,使用FDISK
等對分區指定容量時,由于對1MB的定義不一樣(標準的二進制的1MB為1048576B,有的系統將1MB理解為1000000B,1000KB等),及每個分區
需從新磁道開始等因素,實際分配的容量可能稍大于指定的容量,亦需注意掌握。
  (五)根目錄區(ROOT區)不再是固定區域、固定大小,可看作是數據區的一部分。因為根目錄已改為根目錄文件,采用與子目錄文
件相同的管理方式,一般情況下從第二簇開始使用,大小視需要增加,因此根目錄下的文件數目不再受最多512的限制。FAT16文件系統的
根目錄區(ROOT區)是固定區域、固定大小的,是從FAT區之后緊接著的32個扇區,最多保存512個目錄項,作為系統區的一部分。
  (六)目錄區中的目錄項變化較多,一個目錄項仍占32字節,可以是文件目錄項、子目錄項、卷標項(僅跟目錄有)、已刪除目錄項、
長文件名目錄項等。目錄項中原來在DOS下保留未用的10個字節都有了新的定義,全部32字節的定義如下:
(1) 0 7字節文件正名
(1) 0-- 7字節文件正名。
(2) 8--10字節文件擴展名。
(3)
11字節文件屬性,按二進制位定義,最高兩位保留未用,0至5位分別是只讀位、隱藏位、系統位、卷標位、子目錄位、歸檔位。
(4)
11--13字節僅長文件名目錄項用,用來存儲其對應的短文件名目錄項的文件名字節校驗和等。
(5)
13--15字節24位二進制的文件建立時間,其中的高5位為小時,次6位為分鐘。
(6)
16--17字節16位二進制的文件建立日期,其中的高7位為相對于1980年的年份值,次4位為月份,后5位為月內日期。
(7) 18--19字節16位二進制的文件最新訪問日期,定義同(6)。 (8)
20--21字節起始簇號的高16位。 (9)
22--23字節16位二進制的文件最新修改時間,其中的高5位為小時,次6位為分鐘,后5位的二倍為秒數。
(10)24--25字節16位二進制的文件最新修改日期,定義同(6)。
(11)26--27字節起始簇號的低16位。
(12)28--31字節32位的文件字節長度。其中第(4)至(8)項為以后陸續定義的。對于子目錄項,其(12)為零;已刪除目錄項的首字節值為E5H。在可以使用長文件名的FAT32
系統中,文件目錄項保存該文件的短文件名,長文件名用若干個長文件名目錄項保存,長文件名目錄項倒序排在文件短目錄項前面,全部是采用雙字節內碼保存的,每一項最多保存十三個字符內碼,首字節指明是長文件名的第幾項,11字節一般為0FH,12字節指明類型,13字節為校驗和,26--27字節為零。(七)以前版本的Windows
和DOS與FAT32 不兼容,不能識別FAT32分區,有些程序也依賴于FAT16
文件系統,不能和FAT32
驅動器一道工作。將硬盤轉換為FAT32,就不能再用雙引導運行以前版本的Windows(Windows
95 [Version 4.00.950]、Windows NT 3.x、 Windows NT 4.0 和Windows
3.x)。硬盤數據恢復知識數據恢復一直以來都是我們關注的問題,因為你的電腦數據每天都在受著諸如病毒、惡意代碼、黑客、誤操作等的威脅!那么如何才能恢復你的數據呢?希望本文能對你有所幫助!
一、理論篇
要深入學習數據恢復,并非是一件容易的事,要想成為一個數據恢復專家,沒有深厚的理論知識是不可能的,你必須了十分了解磁盤的邏
輯結構,就讓我們來看看需要學習的理論知識吧。
當我們對文件進行訪問時,你有沒有想過,操作系統是如何對文件進行操作的呢?這些文件又是如何存放在磁盤當中的呢?先來看看硬盤
的總體結構,在介紹硬盤總體結構之前有必要介紹一下硬盤的參數,硬盤是以磁頭(Heads),柱面(Cylinders),扇區(Sectors)進行訪
問的。其中: 磁頭數(Heads)表示硬盤總共有幾個磁頭,也就是有幾面盤片,
最大為255 (用8 個二進制位存儲); 柱面數(Cylinders)
表示硬盤每一面盤片上有幾條磁道,最大為1023 (用10 個二進制位存儲);
扇區數(Sectors) 表示每一條磁道上有幾個扇區, 最大為63 (用6
個二進制位存儲).
每個扇區一般是512個字節,學習過匯編語言的朋友可能想到了,BIOS中斷13H的入口參數中,CH是磁道號其值為0H~FEH(最多255個磁道),CL中低6位為扇區號,其值為1H~3FH(最多63個扇區),DH為磁頭號的低位,CL中的高2位為磁頭號的高位,也就是說,磁頭號最多由10位二進制數表示,(1111111111)2=(1023)10,也就是說最多可以表示的磁頭數為1024個。請大家記住這些在我們以后的學習中還會用到的,由此可以看出基于這種訪問方式我們最大能訪問的磁盤容量為:
255 * 1023 * 63 * 512字節=8414461440/1048576=8024.66M
只有大約8G的空間,這是因為早期磁盤還很小,想想當年你擁有一塊200M硬盤時的喜悅心情吧!就好象當年的科學家們以為1K內存已經很
大了一樣,讓電腦用戶很長一段時間都為配置DOS下的內存而煩惱。而今,你肯定擁有一塊大于8G的硬盤了,你能夠用她,應該多虧了一
種較新的硬盤訪問技術——擴展Int13H 技術。采用線性尋址方式存取硬盤,
所以突破了8 G的限制,
而且還加入了對可拆卸介質(如活動硬盤)的支持,因為是談數據恢復不是談編程,關于擴展INT13H技術我在此就不詳述了。硬盤數據(基于FAT結構)總體結構如下:
1、主引導扇區(Master boot sector) (占用一個扇區)
2、第一個分區的引導扇區(Boot sector)(占用一個扇區)
3、第一個分區的FAT1 (占用空間由磁盤大小和FAT類型來定)
4、第一個分區的FAT2 (占用空間由磁盤大小和FAT類型來定)
5、第一個分區的根目錄區
5、第個分區的根目錄區
6、第一個分區數據區(用來存放各種文件的數據)
7、擴展分區表(占用一個扇區)
8、第二個分區的引導扇區(Boot sector)(占用一個扇區)
9、第二個分區的FAT1 (占用空間由磁盤大小和FAT類型來定)
10、第二個分區的FAT2 (占用空間由磁盤大小和FAT類型來定)
11、第二個分區的根目錄區
12、第二個分區數據區(用來存放各種文件的數據)
13、擴展分區表
. . .
注意:當你的硬盤沒有擴展分區的時候,你就沒有擴展分區表了;當你只有一個硬盤分區的時候你的硬盤結構到6就完了。
(一)主引導扇區(Master boot sector)的結構:
它是硬盤的第一個扇區, 由主引導程序(MasterBoot
Record簡稱MBR),硬盤分區表(Disk Partition
Table簡稱DPT )和結束標識三部分組成。其結構如下: 1、偏移0H~1BDH
主引導程序(占446個字節,但實際可能并沒有到這么多的字節)
2、偏移1BEH~1FDH
硬盤分區表(占64個字節,每個分區項占16個字節,最多可容納4個分區項)
3、偏移1FEH~1FFH 結束標識(占2個字節,結束標志,總為55H
AAH)主引導程序我在此就不分析了,需要注意的是在主引導程序中有一些出錯信息,一些引導型病毒往往會覆蓋這些信息來將自己嵌入到主引導程序中去,并將主引導程序開始的幾個字節改為一條跳轉指令,通過觀察主引導程序的變化,往往可以讓我們看出自己的電腦是否有引導型病毒,一旦發現異常,我們可以用FDISK/MBR命令來覆蓋原有的MBR。結束標識的兩個字節總是55H
AAH,該標識只是用于判斷這個扇區是否是有效的主引導扇區,如果主引導程序發現沒有這個結束標識,將會認為操作系統丟失,并顯示"Missing
Operating System"。硬盤分區表:
從偏移1BEH~1FDH的64個字節存放的是硬盤分區表,其中最多包含4個分區項,每個分區項由16個字節構成,其結構如下:
1、1BEH~1CDH 分區項1
2、1CEH~1DDH 分區項2
3、1DBH~1EDH 分區項3
4、1EFH~1FDH 分區項4
注意:沒有用到的分區項上的記錄總是16個十六進制碼00H
我們再來看看每個分區項的詳細含義,假設我們的一個分區占用的16個字節被標為00H~0FH,其結構如下:
00H
引導標識字節,其值只能為00H或80H,為00H時表示該分區不可引導,為80H時表示該分區可用于引導。在許多諸如BOOT
MAGIC之類的軟件都是利用了這一原理,實現多操作系統引導的,了解了這一原理,你也可以寫出你自己的多操作系統引導程序了。
01H 分區起始磁頭號 02H
其高2位為分區起始柱面號的高位,底6位為分區起始扇區號 03H
分區起始柱面號的低位 04H
分區系統標志,當該值為00H時,表示此分區為不可識別的系統;為04H時該分區為FAT16分區;為05H或0FH該分區為擴展分區;為0B
時該分區為FAT32分區;為83H時表示該分區為Linux分區,
為07時該分區為NTFS分區等等。一些如PQMAGIC磁盤軟件在隱藏分區操作時就是將此字節的內容保存后在把它改為00H。
05H 分區結束磁頭號 06H
其高2位為分區結束柱面號的高位,底6位為分區結束扇區號 07H
分區結束柱面號的低位 08H~0BH
此4個字節為在線性尋址方式下的分區的扇區地址。當分區大于8G時,擴展INT13H是通過該信息進行尋址的,我們可以發現在這種方式下尋址最多可訪問的空間為:FFFFFFFFH扇*512B/
扇=2048G,也就是說我們用擴展INT13H最大可以訪問的空間為2048G,這個數字現在對我們來說是非常大的,但誰都不能想象計算機的發展之快,到時到底要如何來突破這個限制呢?現在誰也不知道。注意:此4個字節
是從高位到低位排列的!例如我的分區表第一個分區項此4字節的內容為"3FH 00H
00H
00H",它代表該分區是從0000003FH開始的,也就是從線性地址63扇開始的(線性地址把硬盤的第一個扇記為0H扇)
0CH~0FH
此4個字節為以扇區為單位的該分區大?。偵葏^數),此4個字節同樣是從高位到低位排列的!
(二)引導扇區(Boot
sector)的結構:當主引導程序找到了帶有引導標識為80H的分區后,就會將該分區的引導扇區讀入到內存地址為0000:7C00
處,并把控制權交給引導扇區中的引導程序,讓我們來看看其中一些需要了解的地方:
1、0H~02H 一條跳轉指令,指針指向后面的引導程序 2、03H~0AH
廠商名和系統版本 3、0BH~0CH 每扇字節數,一般為512字節
4、0DH
每簇扇區數(有關簇的概念我們在后面會詳細介紹),對于FAT32的磁盤該字節一般為08H,既每簇為8H*512B=4K。
5、0EH~0FH 保留扇區數 6、10H 磁盤FAT的個數,一般為2個
7、11H~12H
對于FAT16的磁盤為根目錄的最大目錄項,對于FAT32的磁盤該值總為"00H 00H"
8、13H~14H
對于軟盤或早期小硬盤該處為分區總扇區數,對于硬盤一般此值為"00H 00H"
9、15H 介質描述,對于1.44軟盤此處長為"F0H",對于硬盤此處長為"F8H"
10、16H~17H
對于軟盤或早期小硬盤該處為每個FAT占用的扇區數,對于硬盤一般此值為"00H
00H" 11、18H~19H 每道扇區數,一般為"3FH 00H",即每道有63個扇區
12、1AH~1BH 磁頭數,一般為"FFH 00H",即每個柱面有255個磁頭 13、1CH~1FH
隱含扇區數 14、20H~23H 對于大硬盤來說該處存放的是該分區占用的扇區數
15、24H~27H 對于大硬盤來說該處存放的是每個FAT占用的扇區數 16、40H
該處為磁盤BIOS信息,第一塊硬盤為"80H",一般軟盤為"00H" 17、47H~51H
用戶設置的卷標,如果沒有卷標此處常為字符串"NO NAME " 18、52H~59H
文件系統,對于FAT32文件系統此處常為"FAT32 " 19、1FEH~1FFH
結束標識,和上文提到的主引導區的結束標識一樣為"55H AAH"
以上是引導扇區的一些信息,在上面我們可以獲得一些有用的信息,我們也可以想象一下為什么當我們在分區上單擊右鍵在分區屬性中可以看到一些分區信息,比如分區大小,文件系統等等,知道原理,你也可以直接調用這些參數了。

(三)磁盤文件分配表(FAT)
在介紹FAT之前,我們要先了解有關簇的概念,簇(Cluster)是文件數據區被劃分成的具有大小相等的區域用于磁盤文件的計量分配單
位。一個簇可能有1、2、4、8、16、32、64或128(必須是2的冪)個扇區構成,但對于一種磁盤系統是其值往往是一定的,比如FAT16中
每簇一般為32K(占64個扇),FAT32中每簇一般為4K(占8個扇)。
要理解操作系統為什么要用簇對磁盤進行管理,還是得學習FAT,FAT32磁盤中在系統引導區之后有一些保留未用的扇區,再后面有一個以
F8H FFH FFH 0FH 開始的FAT表,(對于FAT16是以F8H
FFH開始的),每個FAT項占32位(4個字節),FAT16的每個FAT項占16位(2個字節),不同的FAT值有不同的含義:
FAT12的表項值FAT16的表項值FAT32的表項值值的含義
000H 0000H 00000000H 未用的空簇
001H~FEFH 0001H~FFEFH 00000001H~0FFFFFEFH 文件已使用的簇
FF0H~FF6H FFF0H~FFF6H 0FFFFFF0H~0FFFFFF6H 系統保留簇
FF7H FFF7H 0FFFFFF7H 壞簇
FFF8H~FFFH FFF8H~FFFFH 0FFFFFF8H~0FFFFFFFH 文件的最后一簇
注意:在FAT表項中的16進制碼總是從高向底排列的。
我們再來看看系統是如何利用FAT表來管理和訪問文件的。系統在創建一個新文件時,逐一掃描FAT,跳過已經分配的簇,將該簇分給文
件,其簇號作為該文件的起始簇號被放在該文件的文件目錄項中(關于文件目錄項我們將在后面詳談),如果此文件的大小只需要一個簇
就可以放下的話,在該簇對應的FAT項中將放文件最后一簇的標志(一般是FFH
FFH FFH
F0H,即其值為0FFFFFFFH),如果文件大小一個簇放不下,系統就會在繼續尋找FAT表中未用的簇,找到后將該簇的簇號寫到上一簇對應的FAT項中,如果此時已經可以存下該文件的數據,系統就會在此簇對應的FAT中記上最后簇的標志,否則就繼續找下一空簇......
也就是說FAT和簇是一一對應的關系,對于FAT32的FAT來說每4個字節為1個FAT項(對于FAT16的FAT每2個字節為一個FAT項),從0~N個FAT
項分別對應0~N個簇,在我們對文件進行訪問時,總是先訪問文件的目錄項,找到首簇簇號,再找到該簇號對應的FAT項,在其中找到下一
簇的簇號,再在下一簇對應的FAT項中找到再下一簇的簇號......一直到在FAT項中找到有文件最后一簇的標志,我們對該文件的查找才結
束。(當然也可能在首簇對應的FAT中該文件就結束了)這樣就形成了一個鏈,我們把它稱為盤簇鏈。
簡要介紹一下FAT12系統,FAT12現在只用于軟盤,因為是每個FAT占12位所以是每2個字節含有3個FAT項,我們來看看FAT12系統在尋找簇
鏈的過程:將10進制簇號*1.5并取整,該值為FAT相對位移,在該處存放的是下一簇的簇號,以此類推。
一個問題:到底每簇占多少扇區合適?文件所占簇數為:
文件占用的簇數=[文件長度/每簇所占空間]取整+1
文件在最后一個簇存放的時候不可能剛好放滿,沒有放滿的空間就浪費了(就好象我們打電話不可能每個電話都打到X分59.99秒,即使你
通話時間為X分1秒你也要付出X+1分的電話費),我們可以來計算一下你的FAT系統磁盤空間浪費的大?。?
浪費的空間大小=文件個數/2*每簇字節數(平均每個文件浪費半個簇的空間)
這樣看來好象簇越小浪費的空間也越小,但是有個矛盾的地方是簇越小FAT所用的空間就會越大,同時簇小了,簇鏈就越長,訪問文件的
時間就會加長,這又是一種資源上的浪費,因此,簇的大小應該是以提高文件的訪問時間和充分利用磁盤空間為原則的。
(三)目錄項的結構
在第2個FAT表(系統一般有兩個同樣的FAT表)后我們可以找到該分區的根目錄區,在上面有許多目錄項(注意:目錄項并非根目錄才
有),讓我們先來復習一下FAT16的目錄項各個字節的含義:
由32個字節構成:
00H~07H 文件的文件名,其中00H為以下值時有些特定含義:
00H 表項為空表項
E5H 文件已被刪除
05H 實際該字節為的值為E5H
08H~0AH 文件的擴展名
0BH 文件屬性8位文件屬性字節含義如下:
B7~B6 未用
B5 歸檔位
B4 子目錄(代表該文件是一個目錄或叫文件夾)
B3 卷標(卷標也解釋為一種特殊的文件)
B2 系統文件
B1 隱藏文件
B0 只讀文件
0CH~15H FAT16系統保留未用
16H~17H 系統最后修改時間,其中:
16H字節的0~4位是以2秒為增量的秒
16H字節的5~7位和17H字節的0~2位是分鐘
17H字節的3~7位是小時
18H~19H 文件最后修改的日期,其中:
18H字節0~4位是天號
18H字節5~7位和19H字節0位是月份
19H字節的1~7位為年號,0~119分別代表1980~2099
1AH~1BH 文件的起始簇號(我們在之前已經介紹了)
1CH~1FH 文件的長度(單位為字節)
我們知道用在FAT16系統下的文件名有一些弊端,如:文件名最多只能有8個字符(或4個漢字),擴展名最多有3個字符,不分大小寫,不
能用一些特殊字符等。在FAT32系統這些問題已經得到解決,我們來看看FAT32系統是如何解決長文件名問題的。假如在你的電腦中有一個
文件名為abcdefghijklmnopqrstuvwxyz111111.txt的文件名,那么該文件在磁盤目錄中就占用了4個已32字節為單位的目錄項,其中有3個目
錄項是用來描述長文件名的,有1個目錄項是用來兼容老的FAT系統的,我們來看看例子中前3個用于描述長文件名的目錄項:
43H 31H 00H 31H 00H 31H 00H 31H 00H 31H 00H 0FH 00H 27H 31H 00H
2EH 00H 74H 00H 78H 00H 74H 00H 00H 00H 00H 00H FFH FFH FFH FFH
02H 6EH 00H 6FH 00H 70H 00H 71H 00H 72H 00H 0FH 00H 27H 73H 00H
74H 00H 75H 00H 76H 00H 77H 00H 78H 00H 00H 00H 79H 00H 7AH 00H
01H 61H 00H 62H 00H 63H 00H 64H 00H 65H 00H 0FH 00H 27H 66H 00H
67H 00H 68H 00H 69H 00H 6AH 00H 6BH 00H 00H 00H 6CH 00H 6DH 00H
不難看出描述長文件名的目錄項中的一些規則:
在每個目錄項的32個字節中,(1)、偏移0H處:代表了長文件描述目錄項的序號,其中高4位如果為0100則表示此項為最后一個目錄項,低
4位表示此長文件名的目錄項的序號。如果此長文件名描述目錄只用到了1個目錄項,則此值為41H,如果此值為E5H代表此文件已被刪除;
(2)、偏移0BH~0CH處:其值總為0FH
00H;(3)、偏移0D處:該長文件目錄項的標號,同一個長文件目錄的不同目錄項該值總相同(比如本例中3個目錄項該值都為27H);(4)、偏移1AH~1BH處:該值總為00H
00H;(5)從偏移01H~1FH跳過前4項提到的字節,總是一個文件名的
ASCII碼接一個00H排列的,如果文件名的ASCII碼在一個目錄項還未寫完,則會接到下一個目錄項(實際上這些目錄項都是從高到低排列的)同樣的位置繼續寫,如果已經寫完,則系統會在最后一個ACSII碼后寫00H,最多寫3個00H,如果3個00H寫完后,目錄項還有空余位
置,則系統會把這些位置全部寫上FFH。
同時FAT32系統還有一個類似與FAT16的目錄項(緊接著長文件名的目錄的后面),同樣占32個字節:
00H~07H 文件的文件名
08H~0AH 文件的擴展名
0BH 文件屬性
0CH 保留未用
0EH~0FH 文件創建時間
10H~11H 文件最后訪問日期
12H~13H 文件創建日期
14H~15H 文件起始簇號的高16位
16H~17H 系統最后修改時間,其中:
16H字節的0~4位是以2秒為增量的秒
16H字節的5~7位和17H字節的0~2位是分鐘
17H字節的3~7位是小時
18H~19H 文件最后修改的日期,其中:
18H字節0~4位是天號
18H字節5~7位和19H字節0位是月份
19H字節的1~7位為年號,0~119分別代表1980~2099
1AH~1BH 文件的起始簇號的低16位
1CH~1FH 文件的長度(單位為字節)
注意:其中文件名為DOS兼容文件名,比如上例中在DOS下的文件名為ABCDEF~1.TXT;其首字節含義同FAT16系統;文件屬性字節含義同
FAT16系統;在FAT32系統中增加了最后訪問日期和文件創建時間日期,其計算原理同FAT16中的最后修改的時間和日期。
  其中第(4)至(8)項為以后陸續定義的。對于子目錄項,其(12)為零;已刪除目錄項的首字節值為E5H。在可以使用長文件名的FAT32
系統中,文件目錄項保存該文件的短文件名,長文件名用若干個長文件名目錄項保存,長文件名目錄項倒序排在文件短目錄項前面,全部
是采用雙字節內碼保存的,每一項最多保存十三個字符內碼,首字節指明是長文件名的第幾項,11字節一般為0FH,12字節指明類型,13字
節為校驗和,26--27字節為零
(四)擴展分區表
我們已經學習了在主引導扇區中的分區表的偏移04H,是分區系統標志,當該值為05H或0FH表示該分區為擴展分區,其實它并非一個真正
意義上的分區項,此分區項只是指向一個擴展分區表,這樣做是為了解決分區表中最多只能有4個分區項的問題,擴展分區表也是從擴展
分區表所在的扇區偏移1BEH~偏移1FD,該扇區0H~1BDH一般為1BEH個00H,同樣要以結束標志55H
AAH結束。同樣,在擴展分區表中也可能存在指向下一個擴展分區表的分區項。

FAT32文件系統


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩三级不卡 | 麻豆亚洲精品一区二区 | 中文字幕一区日韩在线视频 | 99这里| 久久女人 | 四虎影院观看视频 | 四虎永久网站 | 免费观看精品视频999 | 米奇精品一区二区三区在线观看 | 久久国产三级精品 | 四虎在线视频观看 | 伊色综合久久之综合久久 | 真人一级毛片免费观看视频 | 日本免费人做人一区在线观看 | 久久91精品国产91久久跳舞 | 四虎激情| 波多野结衣中文丝袜字幕 | 一级黄色毛片 | 国产xx肥老妇视频奂费 | 欧美一级毛片免费网站 | 国产精品深夜福利免费观看 | 欧美在线成人午夜影视 | 伊人久久综合热青草 | 国产精品原创巨作无遮挡 | 色婷婷精品综合久久狠狠 | 亚洲免费在线看 | 在线视频这里只有精品 | 被黑人做的白浆直流在线播放 | 成人欧美视频在线观看播放 | 香蕉久久高清国产精品免费 | 欧美乱大交xxxxx另类 | 久草视频在线网 | 亚洲综合精品一区 | 国产乱在线观看视频 | 久热这里只有 | 国产爱视频 | 色网综合 | 国产成人精品一区二区三区 | 天天干夜夜欢 | 夜夜操网| 国产一级视频在线观看 |