數(shù)據(jù)恢復(fù)-fat文件系統(tǒng)_第1頁
數(shù)據(jù)恢復(fù)-fat文件系統(tǒng)_第2頁
數(shù)據(jù)恢復(fù)-fat文件系統(tǒng)_第3頁
數(shù)據(jù)恢復(fù)-fat文件系統(tǒng)_第4頁
數(shù)據(jù)恢復(fù)-fat文件系統(tǒng)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、FAT文件系統(tǒng)FAT文件系統(tǒng)示意圖FAT分區(qū)格式是MICROSOFT最早支持的分區(qū)格式,依據(jù)FAT表中每個簇鏈的所占位數(shù)(有關(guān)概念,后面會講到)分為fat12、fat16、fat32三種格式變種,但其基本存儲方式是相似的。fat16和fat32分區(qū)的組成結(jié)構(gòu):DBR、FAT1、FAT2、根目錄、數(shù)據(jù)區(qū)、剩余扇區(qū)DBR區(qū)(DOS BOOT RECORD)即操作系統(tǒng)引導(dǎo)記錄區(qū)的意思,通常占用分區(qū)的第0扇區(qū)共512個字節(jié)(特殊情況也要占用其它保留扇區(qū),我們先說第0扇)。在這512個字節(jié)中,其實又是由跳轉(zhuǎn)指令,廠商標(biāo)志和操作系統(tǒng)版本號,BPB(BIOS Parameter Block),擴(kuò)展BPB,o

2、s引導(dǎo)程序,結(jié)束標(biāo)志幾部分組成。 下圖是FAT16的分區(qū)DBR。MBR將CPU執(zhí)行轉(zhuǎn)移給引導(dǎo)扇區(qū),因此,引導(dǎo)扇區(qū)的前三個字節(jié)必須是合法的可執(zhí)行的基于x86的CPU指令。這通常是一條跳轉(zhuǎn)指令,該指令負(fù)責(zé)跳過接下來的幾個不可執(zhí)行的字節(jié)(BPB和擴(kuò)展BPB),跳到操作系統(tǒng)引導(dǎo)代碼部分。跳轉(zhuǎn)指令之后是8字節(jié)長的OEM ID,它是一個字符串, OEM ID標(biāo)識了格式化該分區(qū)的操作系統(tǒng)的名稱和版本號。為了保留與MS-DOS的兼容性,通常Windows 2000格式化該盤是在FAT16和FAT32磁盤上的該字段中記錄了“MSDOS 5.0”,在NTFS磁盤上(關(guān)于ntfs,另述),Windows 2000記

3、錄的是“NTFS”。通常在被Windows 95格式化的磁盤上OEM ID字段出現(xiàn)“MSWIN4.0”,在被Windows 95 OSR2和Windows 98格式化的磁盤上OEM ID字段出現(xiàn)“MSWIN4.1”。接下來的從偏移0 x0B開始的是一段描述能夠使可執(zhí)行引導(dǎo)代碼找到相關(guān)參數(shù)的信息。通常稱之為BPB(BIOS Parameter Block),BPB一般開始于相同的位移量,因此,標(biāo)準(zhǔn)的參數(shù)都處于一個已知的位置。磁盤容量和幾何結(jié)構(gòu)變量都被封在BPB之中。由于引導(dǎo)扇區(qū)的第一部分是一個x86跳轉(zhuǎn)指令。因此,將來通過在BPB末端附加新的信息,可以對BPB進(jìn)行擴(kuò)展。只需要對該跳轉(zhuǎn)指令作一個小

4、的調(diào)整就可以適應(yīng)BPB的變化。下圖列出了BPB 項目的名稱和取值保留扇區(qū)在FAT文件系統(tǒng)DBR的偏移0 x0E處,用2個字節(jié)存儲保留扇區(qū)的數(shù)目。所謂保留扇區(qū)(有時候會叫系統(tǒng)扇區(qū),隱藏扇區(qū)),是指從分區(qū)DBR扇區(qū)開始的僅為系統(tǒng)所有的扇區(qū),包括DBR扇區(qū)。在FAT16文件系統(tǒng)中,保留扇區(qū)的數(shù)據(jù)有時設(shè)置為1,即僅僅DBR扇區(qū)。而在FAT32中,保留扇區(qū)的數(shù)據(jù)通常取為32,有時候用Partition Magic分過的FAT32分區(qū)會設(shè)置36個保留扇區(qū),有的工具可能會設(shè)置63個保留扇區(qū)。 簇的概念磁盤上最小可尋址存儲單元稱為扇區(qū),通常每個扇區(qū)為512個字節(jié)。由于多數(shù)文件比扇區(qū)大得多,因此如果對一個文件分

5、配最小的存儲空間,將使存儲器能存儲更多數(shù)據(jù),這個最小存儲空間即稱為簇。根據(jù)存儲設(shè)備(磁盤、閃卡和硬盤)的容量,簇的大小可以不同以使存儲空間得到最有效的應(yīng)用。在早期的360KB磁盤上,簇大小為2個扇區(qū)(1,024字節(jié));第一批的10MB硬盤的簇大小增加到8個扇區(qū)(4,096字節(jié));現(xiàn)在的小型閃存設(shè)備上的典型簇大小是8KB或16KB。2GB以上的硬盤驅(qū)動器有32KB的簇。 Boot扇區(qū)中的重要參數(shù)前面我們已經(jīng)介紹了各個重要參數(shù): Bytes per sector:每個扇區(qū)字節(jié)數(shù),通常情況下都是512字節(jié) Sectors per cluster:每一個簇占用的扇區(qū)數(shù) Reserved sectors

6、:第一個FAT表距離boot扇區(qū)的扇區(qū)數(shù) sectors per FAT:FAT表大小,占用多少扇區(qū) sectors:本文件系統(tǒng)所含扇區(qū)數(shù) File system:文件系統(tǒng)(FAT16) FAT表FAT16和FAT12的FAT表的結(jié)構(gòu)和作用是一樣的,不同的時FAT16用16位來記錄一個族項,16位的FAT表項最多可表示65535個簇,一般每簇不多于64個扇區(qū)(32KB),這樣,采用FAT 的系統(tǒng)最多可以管理32*65535=2097120KB=2GB的磁盤。定位FAT表定位該FAT分區(qū)的DBR扇區(qū);讀取DBR的BPB,得到“DBR保留扇區(qū)數(shù)”參數(shù)(0EH0FH);定位到“DBR扇區(qū)號+DBR保

7、留扇區(qū)數(shù)”,即為FAT1的起始扇區(qū);讀取BPB中“每FAT扇區(qū)數(shù)”;“FAT1的起始扇區(qū)+每FAT 扇區(qū)數(shù)”即為FAT2的起始扇區(qū)。FAT16文件分配表FAT表從0002H簇開始分配給文件。表項值0002HFFFFH中的任一值表明文件的下一個簇號,文件的起始簇號由文件目錄表(FDT)中的目錄登記項的第26、27字節(jié)定義。FAT表項中的值既表示一個簇號(借以表示該部分內(nèi)容在磁盤上的位置),又用其值乘以2作為下一個表項的位置,構(gòu)成一個FAT鏈。FAT表中表項值及含義FAT項值(12位)FAT項值(16位)FAT項值(32位)含 義000H0000H0000 0000H未使用的簇002HFEFH00

8、02HFFEFH0000 0002H0FFF FFFEH已分配的簇號FF0HFF6HFFF0HFFF6H0FFF FFF0H0FFF FFF6H保留FF7HFFF7H0FFF FFF7H壞簇FF8HFFFHFFF8HFFFFH0FFF FFF80FFF FFFFh文件結(jié)束簇FAT16根目錄FDT指的是文件目錄表,它位于FAT2之后。定位FDT方法如下:讀取DBR的0EH0FH偏移處,得到“DBR保留扇區(qū)數(shù)”-DBRSECN讀取DBR的16H17H偏移處,得到“每FAT扇區(qū)數(shù)”-FATSECNFDT開始扇區(qū)位于該分區(qū)的DBRSECN+2*FATSECN扇區(qū)FDT分析根目錄下的所有文件和子目錄在F

9、DT中都有一個“目錄登記項”。每個目錄登記項占32個字節(jié),提供有關(guān)文件和子目錄的信息。FDT所占用的扇區(qū)數(shù):32*根目錄允許的項數(shù)(一般為512)/512FDT目錄項可分為4類:短文件名目錄項長文件名目錄項“.”和”.”目錄項卷標(biāo)目錄項短文件明目錄項“8.3”格式的文件名,主文件名不能超過8個字符,擴(kuò)展名不能超過3個字符FAT16短文件名目錄項的含義字節(jié)偏移字段長度(字節(jié))內(nèi)容及含義0 x008主文件名(E5開頭表示被刪除)0 x083文件擴(kuò)展名0 x0B1文件屬性0000 0000 (讀寫)0000 0001 (只讀)0000 0010(隱藏)0000 0100(系統(tǒng))0000 1000(卷

10、標(biāo))0001 0000(子目錄)0010 0000(存檔)0 x0C1未用0 x0D1文件創(chuàng)建時間精確到10ms0 x0E2文件創(chuàng)建時間,包括時分秒0 x102文件創(chuàng)建時間,包括年月日0 x122文件最近訪問時間0 x142未用0 x162文件修改時間0 x182文件修改時間0 x1A2文件起始簇號0X1c4文件大小(以字節(jié)為單位)長文件名目錄項存儲長度超過8個字符的文件名考慮到與“8.3”兼容問題,實際存儲兩個文件名,一個短文件名和一個長文件名。長文件名對應(yīng)的短文件名有以下3個處理原則:長文件名前六個字母加上1為文件名,擴(kuò)展名不變;如果已存在該名字,則符號后的數(shù)字自動增加;如果有DOS和WI

11、NDOWS3.X非法字符,用_代替。長文件名目錄項每個長文件名目錄項也占32字節(jié),其屬性字節(jié)為0FH,能存儲13個字符,如果文件名很長,使用多個目錄項,這些目錄項按倒序排列在其短文件名目錄項之前。長文件名目錄項結(jié)構(gòu)和含義字節(jié)偏移字段長度(字節(jié))字段內(nèi)容及含義0 x001序列號(E5表示被刪除)0 x0110文件名第1-5UNICODE碼字符0 x0B1長文件名目錄項的屬性標(biāo)識,固定為“0F”0 x0C1未用0 x0D1短文件名校驗和0 x0E12文件名第6-11個UNICODE碼字符0 x1A2始終為00 x1C2文件名第12-13個UNICODE碼字符卷標(biāo)目錄項卷標(biāo)就是一個分區(qū)的名字,目前系

12、統(tǒng)把卷標(biāo)當(dāng)做文件,用文件目錄項進(jìn)行管理,系統(tǒng)為卷標(biāo)創(chuàng)建一個目錄項放在根目錄中。卷標(biāo)目錄項屬于短文件名目錄項:對于FAT格式的分區(qū),卷標(biāo)最多允許11個字符;卷標(biāo)目錄項中不記錄起始簇號和大??;不記錄創(chuàng)建和最后訪問時間,只記錄修改時間?!?”和“.”目錄項在子目錄中,有兩個特殊的目錄項“.”和“.”,如下圖。其中“.”表示當(dāng)前目錄,其目錄項中的“起始簇號”是子目錄本身的起始簇號;“.”表示父目錄,其目錄項中的“起始簇號”是上一級目錄的起始簇號。如果上一級目錄是根目錄,則該簇號為0;系統(tǒng)利用“.”和“.”目錄項實現(xiàn)目錄之間的雙向聯(lián)系,從而把整個文件系統(tǒng)連接起來。 FAT16文件系統(tǒng)中通過簇號(x)定位

13、到數(shù)據(jù)所在扇區(qū)的公式為:數(shù)據(jù)所在的扇區(qū)號(相對于DBR扇區(qū)位置的位移)=DBR保留扇區(qū)數(shù)+2*每FAT扇區(qū)數(shù)+FDT占用扇區(qū)數(shù)(一般為32)+(x-2)*每簇扇區(qū)數(shù)實驗4 FAT16文件系統(tǒng)對文件的管理實驗5 FAT16文件系統(tǒng)文件分析與刪除恢復(fù)實驗6 格式化之后的文件恢復(fù)(*)實驗7 FAT16文件系統(tǒng)DBR手工重建FAT32文件系統(tǒng)微軟從WINDOWS95 OSR2開始支持FAT32文件系統(tǒng)。FAT32文件系統(tǒng)支持大于2GB的分區(qū)。FAT32文件系統(tǒng)由DOS引導(dǎo)記錄(DBR)扇區(qū)、FAT表、數(shù)據(jù)區(qū)三部分組成。FAT32把目錄當(dāng)成文件管理,所以沒有獨立的目錄區(qū),所有的文件目錄項都在數(shù)據(jù)區(qū)里面

14、。FAT文件系統(tǒng)示意圖fat16和fat32分區(qū)的組成結(jié)構(gòu):DBR、FAT1、FAT2、數(shù)據(jù)區(qū)。數(shù)據(jù)區(qū)是FAT32的主要區(qū)域,其中包含目錄區(qū)DBR及保留扇區(qū)FAT1FAT2FDTDATADBR區(qū)(DOS BOOT RECORD)即操作系統(tǒng)引導(dǎo)記錄區(qū)的意思,通常占用分區(qū)的第0扇區(qū)共512個字節(jié)(特殊情況也要占用其它保留扇區(qū),我們先說第0扇)。在這512個字節(jié)中,其實又是由跳轉(zhuǎn)指令,廠商標(biāo)志和操作系統(tǒng)版本號,BPB(BIOS Parameter Block),擴(kuò)展BPB,os引導(dǎo)程序,結(jié)束標(biāo)志幾部分組成。 下圖是FAT32的分區(qū)DBR。FAT32的BPB參數(shù)BPB中的重要參數(shù)每簇扇區(qū)數(shù)-所有簇從2

15、開始編號,所有簇位于數(shù)據(jù)區(qū)中保留扇區(qū)數(shù)-DBR與FAT1之間的扇區(qū)數(shù)扇區(qū)總數(shù)(20H-23H)每FAT扇區(qū)數(shù)根目錄首簇號-格式化時分配,通常是數(shù)據(jù)區(qū)中的第一個簇,即2號簇。文件系統(tǒng)信息扇區(qū)號-記錄數(shù)據(jù)區(qū)中空閑簇的數(shù)量和下一個空閑簇的簇號,該扇區(qū)一般緊跟著DBR扇區(qū),也就是1號扇區(qū)。備份扇區(qū)號FAT32文件系統(tǒng)的FAT表分析特點:每個表項由32位(4個字節(jié))組成Windows 系統(tǒng)只用到其中26位,實際最大管理空間為32GB。FAT表項取值見下表:FAT項值(12位)FAT項值(16位)FAT項值(32位)含 義000H0000H0000 0000H未使用的簇002HFEFH0002HFFEFH

16、0000 0002H0FFF FFFEH已分配的簇號FF0HFF6HFFF0HFFF6H0FFF FFF0H0FFF FFF6H保留FF7HFFF7H0FFF FFF7H壞簇FF8HFFFHFFF8HFFFFH0FFF FFF80FFF FFFFh文件結(jié)束簇FAT表的實際應(yīng)用實驗8 熟悉FAT32文件系統(tǒng)的FAT表FAT32文件系統(tǒng)的數(shù)據(jù)區(qū)定位FAT32文件系統(tǒng)的數(shù)據(jù)區(qū)觀察空新格式化分區(qū)的數(shù)據(jù)區(qū)的情況(首簇)存入文件后,在觀察數(shù)據(jù)區(qū)的情況FAT32文件系統(tǒng)的文件目錄項FAT32的與FAT16的目錄項一樣,分為四類:短文件名目錄項長文件名目錄項“.”和”.”目錄項卷標(biāo)目錄項只有短文件目錄項與FA

17、T16稍有不同。唯一的區(qū)別在偏移14H處,F(xiàn)AT16文件系統(tǒng)不用這兩個字節(jié),而FAT32中這兩個字節(jié)是文件起始簇號的高位,偏移1AH處兩個字節(jié)是文件起始簇號的低位,這四個字節(jié)共同構(gòu)成文件的起始簇號。FAT32文件系統(tǒng)根目錄與子目錄的管理FAT32文件系統(tǒng)統(tǒng)一在數(shù)據(jù)區(qū)中的根目錄區(qū)為根目錄文件創(chuàng)建目錄項,并由FAT表為文件的內(nèi)容分配簇存放數(shù)據(jù)。根目錄的首簇號記錄在DBR的BPB中,如果根目錄中文件過多,F(xiàn)AT會分配新的簇來存放它們。根目錄首簇緊跟在FAT2后面。FAT32文件系統(tǒng)中通過簇號定位到數(shù)據(jù)所在扇區(qū)的公式為:數(shù)據(jù)所在的扇區(qū)號(相對于DBR扇區(qū)位置的位移)=DBR保留扇區(qū)數(shù)+2*每FAT扇區(qū)數(shù)+(x-2)*每簇扇區(qū)數(shù)實驗9 FAT32文件系統(tǒng)根目錄與子目錄的管理實驗10 FAT32文件系統(tǒng)文件的刪除與恢復(fù)關(guān)于恢復(fù)文件的重要說明如果文件數(shù)據(jù)區(qū)存放的位置靠后,文件的起始簇號很大,那么文件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論