版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)恢復(fù)
項(xiàng)目三修復(fù)FAT文件系統(tǒng)下的數(shù)據(jù)項(xiàng)目概述
硬盤(pán)是用來(lái)存儲(chǔ)數(shù)據(jù)的,為了使用和管理的方便,這些數(shù)據(jù)以文件的形式存儲(chǔ)在硬盤(pán)上,任何操作系統(tǒng)都有自己的文件管理系統(tǒng),不同的文件系統(tǒng)又有各自不同的邏輯組織方式,要對(duì)硬盤(pán)進(jìn)行高效的管理并對(duì)數(shù)據(jù)進(jìn)行有效恢復(fù),就要求用戶(hù)必須深入了解文件在硬盤(pán)上是如何存儲(chǔ)的。FAT文件系統(tǒng)有FAT12、FAT16、FAT32三種類(lèi)型。FAT文件系統(tǒng)所包含的這三種類(lèi)型是由FAT表中每個(gè)FAT項(xiàng)所占的長(zhǎng)度來(lái)分類(lèi)的,也就是說(shuō),F(xiàn)AT12的FAT表中每個(gè)FAT占用12位,F(xiàn)AT16的FAT表中每個(gè)FAT項(xiàng)占用16位,F(xiàn)AT32的FAT項(xiàng)占用32位。FAT12文件系統(tǒng)主要用于特別小的分區(qū)和軟盤(pán)中,目前已經(jīng)非常少見(jiàn);FAT16因?yàn)椴恢С执笕萘看疟P(pán),目前只有些存儲(chǔ)卡會(huì)使用,所以就不介紹了,本項(xiàng)目重點(diǎn)介紹FAT32文件系統(tǒng)。本項(xiàng)目使用中盈數(shù)據(jù)恢復(fù)機(jī)及其配套的中盈底層編輯軟件,以三個(gè)任務(wù)的方式,介紹了FAT文件系統(tǒng)下常用的數(shù)據(jù)恢復(fù)技術(shù)?!韭殬I(yè)能力目標(biāo)】
理解FAT文件系統(tǒng)的數(shù)據(jù)分布結(jié)構(gòu)與DBR的結(jié)構(gòu)分析理解FAT文件系統(tǒng)的FAT表、數(shù)據(jù)區(qū)、根目錄與子目錄分析掌握DBR的修復(fù)方法掌握文件數(shù)據(jù)的恢復(fù)方法任務(wù)1:利用備份恢復(fù)FAT文件系統(tǒng)的DBR任務(wù)情景01任務(wù)分析02必備知識(shí)03任務(wù)實(shí)施04知識(shí)拓展05一、任務(wù)情景數(shù)據(jù)恢復(fù)用戶(hù):我的U盤(pán)在使用時(shí)系統(tǒng)提示需要格式化。工作人員:您U盤(pán)的這個(gè)分區(qū)是什么文件系統(tǒng)?用戶(hù):是FAT32的。工作人員:請(qǐng)稍等,我看一下。二、任務(wù)分析FAT文件系統(tǒng)下,當(dāng)打開(kāi)某個(gè)盤(pán)符提示需要格式化時(shí),通常與文件系統(tǒng)的DBR破壞有關(guān)。因此,我們需要使用中盈底層編輯軟件先查看DBR的破壞情況,然后根據(jù)具體破壞的情況確定DBR修復(fù)的方法,當(dāng)DBR修復(fù)后,分區(qū)中的數(shù)據(jù)即可恢復(fù)。將該盤(pán)連接至中盈數(shù)據(jù)恢復(fù)機(jī)上,雙擊該盤(pán)符,提示如圖,單擊“否”。利用中盈底層編輯軟件打開(kāi)該盤(pán),提示如圖,單擊“OK”按鈕選擇“FAT”文件系統(tǒng)打開(kāi)該盤(pán)。發(fā)現(xiàn)其第一個(gè)扇區(qū)即DBR部分全部為0,顯然DBR被破壞了。但是當(dāng)查看該分區(qū)的DBR備份時(shí),發(fā)現(xiàn)是完好的,所以只需將DBR的備份復(fù)制過(guò)來(lái)即可修復(fù)DBR。三、必備知識(shí)一、FAT32文件系統(tǒng)的數(shù)據(jù)分布結(jié)構(gòu)FAT32文件系統(tǒng)由DBR、FAT1、FAT2、FDT和數(shù)據(jù)區(qū)組成,其結(jié)構(gòu)如圖所示。DBR及其保留扇區(qū)FAT1FAT2DATA(包含F(xiàn)DT)含義如下DBR及其保留扇區(qū)。DBR的全稱(chēng)DOSBootRecord,含義是DOS引導(dǎo)記錄,也稱(chēng)為操作系統(tǒng)的引導(dǎo)記錄區(qū)。在DBR之后往往有一些保留扇區(qū),其中6號(hào)扇區(qū)為DBR的備份。FAT。FAT的全稱(chēng)為FileAllocationTable,含義是文件分配表。FAT32一般有兩個(gè)FAT。FAT1是主FAT,F(xiàn)AT2緊跟在FAT1之后,是FAT1的備份,稱(chēng)為備份FAT。DATA。DATA也就是數(shù)據(jù)區(qū),是FAT32文件系統(tǒng)的主要數(shù)據(jù)區(qū)域。其中包含著FDT(FileDirectoryTable),含義是文件目錄表,位于數(shù)據(jù)區(qū)的起始位置。二、FAT32文件系統(tǒng)的DBR備份位置由FAT32文件系統(tǒng)的數(shù)據(jù)分布結(jié)構(gòu)可以知道,DBR的備份在DBR及其保留扇區(qū)中的第6扇區(qū)。四、任務(wù)實(shí)施第一步:跳轉(zhuǎn)到6號(hào)扇區(qū),發(fā)現(xiàn)DBR的備份是完整的,如圖所示。第二步:將整個(gè)備份扇區(qū)選中復(fù)制下來(lái),然后將光標(biāo)定位到0扇區(qū)的起始位置,將備份扇區(qū)的數(shù)據(jù)填充到0扇區(qū),然后保存。第三步:再次打開(kāi)G盤(pán),其恢復(fù)正常并能顯示里面的內(nèi)容,如圖所示。五、知識(shí)拓展FAT的DBR結(jié)構(gòu)偏移量長(zhǎng)度(字節(jié))組成部分00H3跳轉(zhuǎn)指令03H8OEM代號(hào)0BH79BPB參數(shù)5AH420引導(dǎo)程序1FEH2結(jié)束標(biāo)志55AA1)跳轉(zhuǎn)指令。跳轉(zhuǎn)指令本身占用兩個(gè)字節(jié),它將程序執(zhí)行流程跳轉(zhuǎn)到引導(dǎo)程序處,緊接著是一條空指令NOP(90H)。其值固定是“EB5890”。2)OEM代號(hào)。這部分內(nèi)容由創(chuàng)建該文件系統(tǒng)的OEM廠(chǎng)商具體安排。當(dāng)前DBR中的OEM代號(hào)為“MSDOS5.0”,說(shuō)明這個(gè)FAT32分區(qū)是由微軟的Windows2000以上的操作系統(tǒng)格式化創(chuàng)建的,共占8字節(jié)。3)BPB參數(shù)。FAT32的BPB從DBR的第12(OBH偏移處)個(gè)字節(jié)開(kāi)始,占用79字節(jié),記錄了有關(guān)該文件系統(tǒng)的重要信息。4)引導(dǎo)程序。FAT32的DBR引導(dǎo)程序占用420字節(jié)(5AH~1FDH),在Windows98之前的系統(tǒng)之下,這段代碼負(fù)責(zé)完成DOS三個(gè)系統(tǒng)文件的裝入,在Windows2000之后的系統(tǒng)中,其負(fù)責(zé)完成裝入系統(tǒng)文件NTLDR。對(duì)于一個(gè)沒(méi)有安裝操作系統(tǒng)的分區(qū)來(lái)講,這段程序沒(méi)有用處。5)結(jié)束標(biāo)志。DBR的結(jié)束標(biāo)志與MBR、EBR的結(jié)束標(biāo)志都相同,為“55AA”。BPB參數(shù)分析偏移量長(zhǎng)度(字節(jié))含義偏移量長(zhǎng)度(字節(jié))含義0BH2每扇區(qū)字節(jié)數(shù)28H2標(biāo)記0DH1每簇扇區(qū)數(shù)2AH2版本0EH2DOS保留扇區(qū)數(shù)2CH4根目錄簇號(hào)10H1FAT表個(gè)數(shù)30H2文件系統(tǒng)信息扇區(qū)號(hào)11H2未用32H2DBR備份扇區(qū)號(hào)13H2未用34H12保留15H1介質(zhì)描述符40H1BIOS驅(qū)動(dòng)器號(hào)16H2未用41H1未用18H2每磁道扇區(qū)數(shù)42H1擴(kuò)展引導(dǎo)標(biāo)記1AH2磁頭數(shù)43H4卷序列號(hào)1CH4隱藏扇區(qū)47H11卷標(biāo)20H4該分區(qū)的扇區(qū)總數(shù)52H8文件系統(tǒng)類(lèi)型24H4每FAT扇區(qū)數(shù)(1)0BH~0CH:每扇區(qū)字節(jié)數(shù)每扇區(qū)字節(jié)數(shù)記錄每個(gè)邏輯扇區(qū)的大小,其常見(jiàn)值為512字節(jié),但512字節(jié)并不是固定值。該值可以由程序定義,合法值包括512、1024、2048和4096字節(jié)。(2)0DH:每簇扇區(qū)數(shù)“簇”是FAT12、FAT16以及FAT32文件系統(tǒng)下數(shù)據(jù)的最小存儲(chǔ)單元,一個(gè)“簇”由一組連續(xù)的扇區(qū)組成。(3)0EH~0FH:DBR保留扇區(qū)數(shù)DBR保留扇區(qū)數(shù)是指DBR本身占用的扇區(qū)以及其后保留扇區(qū)的總和,也就是DBR到FAT1之間扇區(qū)總數(shù),或者說(shuō)是FAT1的開(kāi)始扇區(qū)號(hào)。(4)10H:FAT表個(gè)數(shù)FAT表個(gè)數(shù)描述了該文件系統(tǒng)有幾個(gè)FAT表,一般在FAT文件系統(tǒng)中都有兩個(gè)FAT,F(xiàn)AT1和FAT2。(5)11H~12H:未用這個(gè)參數(shù)在FAT16中用來(lái)表示FDT中最大所能容納的目錄項(xiàng)數(shù),F(xiàn)AT32沒(méi)有固定的FDT,所以不用這個(gè)參數(shù)。(6)13H~14H:扇區(qū)總數(shù)這兩個(gè)字節(jié)在FAT16中用來(lái)表示小于32MB的分區(qū)的扇區(qū)總數(shù),F(xiàn)AT32的總是大于32MB,所以不用這個(gè)參數(shù)。(7)15H:介質(zhì)描述符介質(zhì)描述符是描述磁盤(pán)介質(zhì)的參數(shù),根據(jù)磁盤(pán)性質(zhì)的不同,取值不同。如硬盤(pán)為F8。(8)16H~17H:未用這兩個(gè)字節(jié)在FAT16中用來(lái)表示每個(gè)FAT表包含的扇區(qū)數(shù),F(xiàn)AT32未用。(9)18H~19H:每磁道扇區(qū)數(shù)這是邏輯C/H/S中的一個(gè)參數(shù),其值一般為63。(10)1AH~1BH:磁頭數(shù)這也是邏輯C/H/S中的一個(gè)參數(shù),其值一般為255。(11)1CH~1FH:隱藏扇區(qū)數(shù)隱藏扇區(qū)數(shù)是指本分區(qū)之前使用的扇區(qū)數(shù),該值與分區(qū)表中所描述的該分區(qū)的起始扇區(qū)號(hào)一致。對(duì)于主磁盤(pán)分區(qū)來(lái)講,是MBR到該分區(qū)DBR之間的扇區(qū)數(shù);對(duì)于擴(kuò)展分區(qū)中的邏輯分區(qū)來(lái)講,是其EBR到該分區(qū)DBR之間的扇區(qū)數(shù)。(12)20H~23H:扇區(qū)總數(shù)扇區(qū)總數(shù)是指分區(qū)的總扇區(qū)數(shù),也就是FAT32分區(qū)的大小。(13)24H~27H:每個(gè)FAT扇區(qū)數(shù)這四個(gè)字節(jié)用來(lái)記錄FAT32分區(qū)中每個(gè)FAT表占用的扇區(qū)數(shù)。(14)28H~29H:標(biāo)志這兩個(gè)字節(jié)用于表示FAT32是否可用,當(dāng)其二進(jìn)制最高位置1時(shí),表示只有FAT1可用,否則FAT2也可用。(15)2AH~2BH:版本。通常為0。(16)2CH~2FH:根目錄首簇號(hào)分區(qū)在格式化為FAT32文件系統(tǒng)時(shí),格式化程序會(huì)在數(shù)據(jù)區(qū)中指派一個(gè)簇作為FAT32的根目錄區(qū)的開(kāi)始,并把該簇號(hào)記錄在BPB中。通常是把數(shù)據(jù)區(qū)的第一個(gè)簇分配給根目錄使用,也就是2號(hào)簇。(17)30H~33H:文件系統(tǒng)信息扇區(qū)號(hào)。其內(nèi)容如圖所示。(18)32H:DBR備份扇區(qū)號(hào)FAT32文件系統(tǒng)在DBR的保留扇區(qū)中安排了一個(gè)DBR的備份,一般在6號(hào)扇區(qū),也就是分區(qū)的第7個(gè)扇區(qū)。該備份扇區(qū)與原DBR扇區(qū)的內(nèi)容完全一樣,如果原DBR遭到破壞,可以用備份扇區(qū)修復(fù)。(19)34H~3FH:未用。這12個(gè)字節(jié)保留不用。(20)40H:BIOS驅(qū)動(dòng)器號(hào)這是BIOS的INT13H所描述的設(shè)備號(hào)碼,一般從80H開(kāi)始編號(hào)。(21)41H:未用。這兩個(gè)字節(jié)不使用,為0。(22)42H:擴(kuò)展引導(dǎo)標(biāo)記擴(kuò)展引導(dǎo)標(biāo)記用來(lái)確認(rèn)后面的三個(gè)參數(shù)是否有效,一般值為29H。(23)43H~46H:卷列序號(hào)卷列序號(hào)是格式化程序在創(chuàng)建文件系統(tǒng)時(shí)生成的一組4字節(jié)的隨機(jī)數(shù)值。(24)47H~51H:卷標(biāo)卷標(biāo)是由用戶(hù)在創(chuàng)建文件系統(tǒng)時(shí)指定的一個(gè)卷的名稱(chēng),原來(lái)的系統(tǒng)把卷標(biāo)記錄在這個(gè)地址處,現(xiàn)在的系統(tǒng)已經(jīng)不再使用這個(gè)地址記錄卷標(biāo),而是由一個(gè)目錄項(xiàng)來(lái)管理卷標(biāo)。(25)52H~59H:文件系統(tǒng)類(lèi)型BPB最后一個(gè)參數(shù),直接用ASCⅡ碼記錄當(dāng)前分區(qū)的文件系統(tǒng)類(lèi)型。任務(wù)2:手工恢復(fù)FAT文件系統(tǒng)的DBR任務(wù)情景01任務(wù)分析02必備知識(shí)03任務(wù)實(shí)施04知識(shí)拓展05一、任務(wù)情景數(shù)據(jù)恢復(fù)用戶(hù):我的一個(gè)U盤(pán)在使用時(shí)系統(tǒng)提示需要格式化,分區(qū)中的數(shù)據(jù)無(wú)法訪(fǎng)問(wèn)。工作人員:您U盤(pán)的這個(gè)分區(qū)是什么文件系統(tǒng)?用戶(hù):是FAT32的。工作人員:請(qǐng)稍等,我看一下。二、任務(wù)分析這個(gè)U盤(pán)沒(méi)有物理故障,顯然是文件系統(tǒng)遭到破壞,用NavHex打開(kāi)分區(qū)發(fā)現(xiàn)DBR和DBR備份扇區(qū)全部為0,都遭到了破壞,這時(shí)要想恢復(fù)DBR就只能通過(guò)手工恢復(fù)了,也就是需要重建一個(gè)DBR了。通過(guò)對(duì)比兩個(gè)相同版本不同F(xiàn)AT32分區(qū)的DBR,可以發(fā)現(xiàn)二者以下4個(gè)關(guān)鍵參數(shù)存在不同:每簇扇區(qū)數(shù)保留扇區(qū)數(shù)分區(qū)扇區(qū)總數(shù)(分區(qū)大小)FAT表大小這樣重建DBR的步驟包括:復(fù)制一個(gè)相同版本的FAT文件系統(tǒng)的DBR計(jì)算并修改上面所說(shuō)的4個(gè)重要的BPB參數(shù)三、必備知識(shí)一.FAT表FAT文件系統(tǒng)一般有兩個(gè)FAT,它們是在對(duì)分區(qū)進(jìn)行格式化時(shí)創(chuàng)建的,F(xiàn)AT1是主FAT,F(xiàn)AT2是備份FAT。FAT1跟在DBR之后,其具體地址由DBR的BPB參數(shù)中偏移量為0EH~0FH的兩字節(jié)描述;FAT2跟在FAT1之后,其地址可以用FAT1的所在扇區(qū)號(hào)加上每個(gè)FAT所占的扇區(qū)數(shù)獲得。FAT表是由FAT表項(xiàng)構(gòu)成的,32位(相當(dāng)于4字節(jié))每個(gè)FAT項(xiàng)都有一個(gè)固定的編號(hào),這個(gè)編號(hào)從0開(kāi)始,也就是說(shuō),第一個(gè)FAT項(xiàng)是0號(hào)FAT項(xiàng),第二個(gè)FAT項(xiàng)是1號(hào)FAT項(xiàng),以此類(lèi)推。分區(qū)的數(shù)據(jù)區(qū)中每一個(gè)簇都會(huì)映射到FAT表中的唯一一個(gè)FAT項(xiàng)。因?yàn)?號(hào)FAT項(xiàng)和1號(hào)FAT項(xiàng)有特殊用途,無(wú)法與數(shù)據(jù)區(qū)中的簇形成映射,所以從2號(hào)FAT項(xiàng)開(kāi)始跟數(shù)據(jù)區(qū)中的第一個(gè)簇映射。FAT項(xiàng)可取得表項(xiàng)值及其含義FAT項(xiàng)值(12位)FAT項(xiàng)值(16位)FAT項(xiàng)值(32位)含
義000H0000H00000000H未使用的簇002H~FEFH0002H~FFEFH00000002H~0FFFFFFEH一個(gè)已分配的簇號(hào)FF0H~FF6HFFF0H~FFF6H0FFFFFF0H~FFFF0FF6H保留FF7HFFF7H0FFFFFF7H壞簇FF8H~FFFHFFF8H~FFFFH0FFFFFF8H~0FFFFFFFH文件結(jié)束簇FAT表的功能主要有如下三點(diǎn):①說(shuō)明分區(qū)的介質(zhì)類(lèi)型。FAT表的0號(hào)FAT項(xiàng)用來(lái)表明分區(qū)的介質(zhì)類(lèi)型。②表明一個(gè)文件所占用的各簇的簇鏈分配情況。每個(gè)簇在FAT表中映射一個(gè)FAT項(xiàng),F(xiàn)AT項(xiàng)以指針的方式記錄文件的簇鏈。③標(biāo)明壞簇和可用簇。以FAT32為例,如果分區(qū)格式化時(shí)發(fā)現(xiàn)壞分區(qū),即在相應(yīng)簇的表項(xiàng)中寫(xiě)入0FFFFFF7H,表明該簇不能使用,系統(tǒng)就不會(huì)將它分配給用戶(hù)文件。分區(qū)上未用但可用的“空簇”的FAT項(xiàng)值為00000000H,當(dāng)需要存放新文件時(shí),系統(tǒng)按一定的順序?qū)⑺鼈兎峙浣o新文件。四、任務(wù)實(shí)施第一步:復(fù)制同版本的FAT32文件系統(tǒng)DBR到故障分區(qū)的第0扇區(qū)。第二步:計(jì)算以下4個(gè)參數(shù),并填入到DBR的相應(yīng)位置。保留扇區(qū)數(shù)FAT大小分區(qū)扇區(qū)總數(shù)每簇扇區(qū)數(shù)(1)保留扇區(qū)數(shù)保留扇區(qū)數(shù)也就是分區(qū)的DBR到FAT1之間的扇區(qū)數(shù)。用NavHex搜索十六進(jìn)制數(shù)“EB5890”找到DBR所在的扇區(qū)為0號(hào)扇區(qū),內(nèi)容如圖。搜索十六進(jìn)制數(shù)“F8FFFF0F”找到FAT1所在扇區(qū)為36號(hào)扇區(qū),內(nèi)容如圖所示。因此保留扇區(qū)數(shù)為36。(2)FAT大小因?yàn)镕AT1起始于36扇區(qū),隨后同樣的方法搜索找到FAT2起始于15366扇區(qū),所以可以確定FAT的大小為15366-36=15330個(gè)扇區(qū)。(3)分區(qū)扇區(qū)總數(shù)由于分區(qū)表是完整的,所以可以從分區(qū)表中獲得該分區(qū)的大小,起分區(qū)表如圖所示,圖中選中的四個(gè)字節(jié)就是這個(gè)分區(qū)的扇區(qū)總數(shù),值為01C88F90H,轉(zhuǎn)換為十進(jìn)制等于29921168,所以分區(qū)大小為29921168個(gè)扇區(qū)。(4)每簇扇區(qū)數(shù)(3種計(jì)算方式)①計(jì)算出該分區(qū)中數(shù)據(jù)區(qū)的大小。計(jì)算方法:分區(qū)總扇區(qū)數(shù)-DBR保留扇區(qū)數(shù)-每FAT扇區(qū)數(shù)×2=29921168-36-15330×2=29890472。②計(jì)算出該分區(qū)的FAT表中記錄的FAT項(xiàng)的個(gè)數(shù)。計(jì)算方法:FAT表的大小×512/4=15330×512/4=1987840。FAT表的大小乘以512是FAT表的總字節(jié)數(shù),除以4是因?yàn)镕AT32每個(gè)FAT項(xiàng)占32位即4個(gè)字節(jié)。③每簇扇區(qū)數(shù)=①的結(jié)果/②的結(jié)果=29890472/1987840≈15.04。這種算法一般不會(huì)剛好得到整數(shù),需要取整數(shù)+1。即每簇扇區(qū)數(shù)為16。第三步:4個(gè)關(guān)鍵參數(shù)都已經(jīng)計(jì)算完畢,填入復(fù)制的DBR對(duì)應(yīng)位置,保存。這時(shí)分區(qū)可以正常打開(kāi)了。五、知識(shí)拓展數(shù)據(jù)區(qū)的位置FAT32的數(shù)據(jù)區(qū)在文件系統(tǒng)中的具體位置是緊跟在FAT2之后。下面模擬一下操作系統(tǒng)定位數(shù)據(jù)區(qū)的方法。這里以下圖中的DBR所在分區(qū)為例,定位數(shù)據(jù)區(qū)的步驟如下:(1)系統(tǒng)通過(guò)該分區(qū)的分區(qū)表信息,定位到DBR扇區(qū);(2)讀取DBR的0EH~0FH偏移處,得到DBR保留扇區(qū)數(shù)的值為38;(3)讀取DBR的24H~27H偏移處,得到每FAT扇區(qū)數(shù)的值為561;(4)用DBR保留扇區(qū)數(shù)加上2倍的每FAT扇區(qū)數(shù),結(jié)果等于1160,跳轉(zhuǎn)到該分區(qū)的1160號(hào)扇區(qū),這里就是數(shù)據(jù)區(qū)的開(kāi)始。數(shù)據(jù)區(qū)的內(nèi)容FAT32文件系統(tǒng)數(shù)據(jù)區(qū)的內(nèi)容主要由三部分組成:根目錄、子目錄和文件內(nèi)容。在數(shù)據(jù)區(qū)中是以簇為單位來(lái)管理這段空間的,第一個(gè)簇的編號(hào)為“2”。在數(shù)據(jù)區(qū)的位置中通過(guò)模擬操作系統(tǒng)定位數(shù)據(jù)區(qū)的方法,確定了數(shù)據(jù)區(qū)開(kāi)始于分區(qū)的1160號(hào)扇區(qū),現(xiàn)在跳轉(zhuǎn)到1160號(hào)扇區(qū),內(nèi)容如圖如果在分區(qū)的根目錄項(xiàng)存入文件,數(shù)據(jù)區(qū)就會(huì)有數(shù)據(jù)了?,F(xiàn)在該分區(qū)下存入一個(gè)文件,然后查看一下數(shù)據(jù)區(qū)的2號(hào)簇,其內(nèi)容如圖所示。任務(wù)3:手工恢復(fù)FAT文件系統(tǒng)下的文件任務(wù)情景01任務(wù)分析02必備知識(shí)03任務(wù)實(shí)施04知識(shí)拓展05一、任務(wù)情景數(shù)據(jù)恢復(fù)用戶(hù):我的U盤(pán)里面有一個(gè)很重要的文件不小心給刪除了,能恢復(fù)出來(lái)嗎?工作人員:文件刪除后,您又往里面寫(xiě)東西了嗎?用戶(hù):沒(méi)有。工作人員:那文件應(yīng)該沒(méi)有被覆蓋,我試一試吧。二、任務(wù)分析當(dāng)文件刪除后,最簡(jiǎn)單的恢復(fù)方法是先嘗試使用一些反刪除工具,但反刪除工具并不能保證百分之百地成功恢復(fù)。如果失敗,可以利用中盈底層編輯軟件根據(jù)存儲(chǔ)介質(zhì)的實(shí)際情況進(jìn)行恢復(fù)。反刪除工具的使用方法參見(jiàn)項(xiàng)目六中的任務(wù)1。本任務(wù)重點(diǎn)講述手工恢復(fù)的方法。將該盤(pán)連接至中盈數(shù)據(jù)恢復(fù)機(jī)上,雙擊該盤(pán)符,確實(shí)沒(méi)有用戶(hù)所說(shuō)的那個(gè)文件,查看了回收站后也沒(méi)有該文件。使用中盈底層編輯軟件打開(kāi)該盤(pán),通過(guò)DBR得知該盤(pán)是FAT32文件系統(tǒng)。因?yàn)樵摫P(pán)可以正常打開(kāi),文件系統(tǒng)完好,結(jié)合任務(wù)2“知識(shí)拓展”部分講述的數(shù)據(jù)區(qū)相關(guān)知識(shí),我們可以先找到該盤(pán)的數(shù)據(jù)區(qū)位置,然后再往下搜索目錄項(xiàng),找到該文件的起始簇號(hào)和簇大小就可將文件恢復(fù)出來(lái)。三、必備知識(shí)一、目錄項(xiàng)分析目錄項(xiàng)對(duì)于FAT文件系統(tǒng)來(lái)講是非常重要的一個(gè)組成部分,分區(qū)中的每個(gè)文件和文件夾都被分配一個(gè)大小為32個(gè)字節(jié)的目錄項(xiàng),用以描述文件或文件夾的屬性、大小、起始簇號(hào)和時(shí)間、日期等信息,當(dāng)然還會(huì)把文件名或目錄名記錄在目錄項(xiàng)中。在FAT32文件系統(tǒng)中,分區(qū)根目錄下的文件和文件夾的目錄項(xiàng)都存放在根目錄區(qū)中,分區(qū)子目錄下的文件和文件夾的目錄項(xiàng)都存放在子目錄區(qū)中,根目錄區(qū)和子目錄區(qū)都在數(shù)據(jù)區(qū)中。。根據(jù)目錄項(xiàng)的結(jié)構(gòu)和特點(diǎn)可將目錄項(xiàng)分為四類(lèi):短文件名目錄項(xiàng)長(zhǎng)文件名目錄項(xiàng)、“.”目錄項(xiàng)和“..”目錄項(xiàng)卷標(biāo)目錄項(xiàng)二、短文件名目錄項(xiàng)所謂短文件名是指DOS和Windows3.x時(shí)代文件名的傳統(tǒng)格式,在這種格式的限制下,用戶(hù)在給文件起名時(shí),主文件名不能超過(guò)8個(gè)字符,并且不支持中文;擴(kuò)展名不超過(guò)3個(gè)字符,所以又稱(chēng)為“8.3”格式。如圖所示為一個(gè)FAT32下的短文件名目錄項(xiàng)(文件名為234.TXT)。FAT32文件系統(tǒng)的短文件名目錄項(xiàng)中各字節(jié)的含義見(jiàn)表。字節(jié)偏移字段長(zhǎng)度(字節(jié))字段內(nèi)容及含義00H8主文件名08H3文件的擴(kuò)展名0BH1文件屬性00000000(讀/寫(xiě))00000001(只讀)00000010(隱藏)00000100(系統(tǒng))00001000(卷標(biāo))00010000(子目錄)00100000(存檔)0CH1未用0DH1文件創(chuàng)建時(shí)間精確到10ms的值字節(jié)偏移字段長(zhǎng)度(字節(jié))字段內(nèi)容及含義0EH2文件創(chuàng)建時(shí)間,包括時(shí)、分、秒10H2文件創(chuàng)建日期,包括年、月、日12H2文件訪(fǎng)問(wèn)日期,包括年、月、日14H2文件起始簇號(hào)的高位16H2文件修改時(shí)間,包括時(shí)、分、秒18H2文件修改日期,包括年、月、日1AH2文件起始簇號(hào)的低位1CH4文件大?。ㄒ宰止?jié)為單位)(1)00H~07H:主文件名主文件名共占8個(gè)字節(jié),如果文件名用不完8個(gè)字節(jié),后面用空格填充。(2)08H~0AH:文件的擴(kuò)展名文件的擴(kuò)展名占3個(gè)字節(jié),對(duì)于文件夾來(lái)說(shuō)沒(méi)有擴(kuò)展名,這三個(gè)字節(jié)用空格填充。(3)0BH:文件屬性文件屬性占1個(gè)字節(jié),可以表示文件的各種屬性,表示的方法是按二進(jìn)制位定義,最高兩位保留未用,0~5位分別表示只讀位、隱藏位、系統(tǒng)位、卷標(biāo)位、子目錄位、存檔位。在當(dāng)前例子中屬性值為“20H”,二進(jìn)制為“00100000”,所以該文件為存檔屬性。(4)0CH:未用5)0DH:文件創(chuàng)建時(shí)間(精確到10ms的值)文件在創(chuàng)建時(shí)的時(shí)間值中精確到10ms的值用該字節(jié)表示,在當(dāng)前例子該值為“40H”,換算為十進(jìn)制等于64,所以文件的創(chuàng)建時(shí)間為640ms也就是0.64s。(6)0EH~0FH:文件創(chuàng)建時(shí)間這是文件創(chuàng)建的時(shí)、分、秒的數(shù)值,用16位二進(jìn)制記錄文件創(chuàng)建時(shí)間,時(shí)、分、秒①0~4位,這5位記錄“秒”值,單位是2秒,也就是把這四位的值乘以2才是文件創(chuàng)建時(shí)間的“秒”值,其取值范圍是0~29。②5~10位:這6位記錄“分”值,其取值范圍是0~59。③11~15位:這5位記錄“時(shí)”值,其取值范圍是0~23。
在當(dāng)前例子中該值為“76H52H”,從高位到低位寫(xiě)應(yīng)該為“5276H”,將其換算為二進(jìn)制,結(jié)果為“0101001001110110”,具體時(shí)間表達(dá)方式如表所示。時(shí)分秒高低位15~1110~54~0二進(jìn)制值101001001110110十進(jìn)制值101922(需乘以2)時(shí)間值10時(shí)19分44秒經(jīng)過(guò)計(jì)算其時(shí)間為10時(shí)19分44秒,再加上其毫秒值640,所以該文件的最終創(chuàng)建時(shí)間為10時(shí)19分44秒640毫秒。這個(gè)時(shí)間可以通過(guò)查看文件的屬性獲得,如圖所示,在屬性信息中文件的創(chuàng)建時(shí)間精確到秒,所以是10時(shí)19分44秒。(7)10H~11H:文件創(chuàng)建日期
這是文件創(chuàng)建的年、月、日的數(shù)值,用十六位二進(jìn)制記錄文件創(chuàng)建日期,年、月、日三個(gè)部分的表達(dá)方法如下:①0~4位,這5位記錄“日”值,其取值范圍是1~31。②5~8位:這4位記錄“月”值,其取值范圍是1~12。③9~15位:這7位記錄“年”值,其值是相對(duì)于1980年開(kāi)始計(jì)數(shù)的,必須加上1980才是正確的年份,其取值范圍是0~127,也就是說(shuō)可以從1980年記錄到2107年。
在當(dāng)前例子該值為“02H4BH”,從高位到底為寫(xiě)應(yīng)該為“4B02H”,將其換算為二進(jìn)制,結(jié)果為“0100101100000010”,具體日期表達(dá)方式如表。年月日高低位15~98~54~0二進(jìn)制值100101100000010十進(jìn)制值37(需要加1980)82日期值2017年8月2號(hào)(8)12H~13H:文件最近訪(fǎng)問(wèn)日期表達(dá)方式與文件創(chuàng)建日期一致。(9)14H~15H:文件起始簇號(hào)的高位這兩個(gè)字節(jié)作為文件起始簇號(hào)的高位使用,當(dāng)前值為“0000H”。(10)16H~17H:文件修改時(shí)間文件最后修改的時(shí)、分、秒的數(shù)值,表達(dá)方式與文件創(chuàng)建時(shí)間一致。(11)18H~19H:文件修改日期文件最后修改的年、月、日的數(shù)值,表達(dá)方式與文件創(chuàng)建日期一致。(12)1AH~1BH:文件起始簇號(hào)的低位這兩個(gè)字節(jié)作為文件起始簇號(hào)的低位使用,當(dāng)前值為“0006H”,FAT32的目錄項(xiàng)中,文件起始簇號(hào)占用4個(gè)字節(jié),把偏移14H~15H處的兩個(gè)字節(jié)作為高位,跟該偏移處的兩個(gè)字節(jié)和在一起,得到文件起始簇號(hào),并換算為十進(jìn)制就得到了文件的起始簇號(hào)。本例中文件的起始簇號(hào)為:00000006H,即6號(hào)簇。(13)1CH~1FH:文件大小文件大小占用4個(gè)字節(jié),記錄著文件的總字節(jié)數(shù)。當(dāng)前值為“18C6H”,換算成十進(jìn)制就是6342,說(shuō)明文件大小為6342字節(jié),文件大小也可以通過(guò)圖3-16的文件的屬性獲得。三、長(zhǎng)文件名目錄項(xiàng)從在Windows95開(kāi)始,文件名“8.3”格式的限制被打破了,文件名可以超過(guò)8個(gè)字符,并且可以使用中文了,擴(kuò)展名也可以超過(guò)3個(gè)字節(jié),這種格式的文件名就稱(chēng)為長(zhǎng)文件名。超過(guò)8.3格式的文件或目錄實(shí)際存儲(chǔ)著兩個(gè)名字,一個(gè)短文件名和一個(gè)長(zhǎng)文件名,其對(duì)應(yīng)短文件名的存儲(chǔ)有以下三個(gè)處理原則:(1)系統(tǒng)取長(zhǎng)文件名的前6個(gè)字符加上“~1”形成短文件名,其擴(kuò)展名不變;(2)如果已存在這個(gè)名字的文件,則符號(hào)“~”后的數(shù)字自動(dòng)增加;(3)如果有DOS和windows3.x非法的字符,則以下劃線(xiàn)“_”替代;每個(gè)文件名目錄項(xiàng)也占用32字節(jié),一個(gè)目錄項(xiàng)作為長(zhǎng)文件名目錄項(xiàng)使用時(shí),其屬性字節(jié)值為0FH,能夠存儲(chǔ)13個(gè)字符。如果文件名很長(zhǎng),一個(gè)文件名就需要多個(gè)目錄項(xiàng),這些目錄項(xiàng)按倒序排列在其短文件名目錄項(xiàng)之前。長(zhǎng)文件名目錄項(xiàng)的具體結(jié)構(gòu)見(jiàn)表。字節(jié)偏移字段長(zhǎng)度(字節(jié))字段內(nèi)容及含義00H1序列號(hào)01H10文件名的第1~5個(gè)Unicode碼字符0BH1長(zhǎng)文件名目錄項(xiàng)的屬性標(biāo)志,固定為“0F”0CH1保留未用0DH1短文件名校驗(yàn)和0EH12文件名的第6~11個(gè)Unicode碼字符1AH2始終為01CH4文件名的第12~13個(gè)Unicode碼字符下面看一個(gè)具體的實(shí)例,一個(gè)文件的名稱(chēng)為“shujuhuifugaojijishu.txt”,它共有三個(gè)目錄項(xiàng),從下往上每?jī)尚?2個(gè)字節(jié)依次為①②③。圖3-16中的“①”是一條短文件名目錄項(xiàng),文件名為“SHUJUH~1.TXT”這是系統(tǒng)自動(dòng)生成的。圖3-16中的“②③”是兩條長(zhǎng)文件名目錄項(xiàng),他們以倒序的方式排列在其短文件名目錄項(xiàng)之前。“②”按照正常順序內(nèi)容為“shujuhuifugao”,“③”按照正常順序內(nèi)容為“jijishu.txt”,按照倒序合在一起就是長(zhǎng)文件名“shjuhuifugaojijishu.txt”。下面對(duì)這些參數(shù)做詳細(xì)分析:(1)序列號(hào)(偏移量00)序列號(hào)占1字節(jié),該參數(shù)用來(lái)描述長(zhǎng)文件名目錄項(xiàng)的排序。在這個(gè)字節(jié)的8位當(dāng)中,0~4這5位描述長(zhǎng)文件名目錄項(xiàng)的排序,從1開(kāi)始編號(hào)。6位(也就是第7位)如果為“1”表明該目錄項(xiàng)是最后一項(xiàng)。如果文件刪除,該字節(jié)會(huì)改為“E5”(2)文件名的第1~5個(gè)Unicode碼字符(01H~0AH)該參數(shù)長(zhǎng)度為10個(gè)字節(jié),使用UTF-16編碼存儲(chǔ)5個(gè)Unicode字符的文件名,每個(gè)字符占用兩字節(jié)。如果文件名已經(jīng)記錄完,但該參數(shù)的空間中還有未用的字節(jié),就會(huì)在文件名最后一個(gè)字符填充兩個(gè)字節(jié)的“00”,隨后未用的字節(jié)用“FF”填充。(3)長(zhǎng)文件名目錄項(xiàng)的屬性標(biāo)志(0BH)該參數(shù)長(zhǎng)度為1字節(jié),是屬性字節(jié)。當(dāng)屬性的只讀位、隱藏位、系統(tǒng)位、卷標(biāo)位全為1,其他位為0時(shí),該值就為十六進(jìn)制的“0FH”,表示該目錄項(xiàng)為長(zhǎng)文件名記錄項(xiàng)。(4)未用(OCH)該字節(jié)不使用。(5)短文件名校驗(yàn)和(0DH)該參數(shù)長(zhǎng)度為1字節(jié),是一個(gè)校驗(yàn)和,長(zhǎng)文件名目錄項(xiàng)通過(guò)這個(gè)校驗(yàn)和將其與相應(yīng)的短文件名目錄項(xiàng)關(guān)聯(lián)起來(lái)。校驗(yàn)和的數(shù)值是使用短文件名計(jì)算得到,同一文件的長(zhǎng)文件名目錄項(xiàng)的校驗(yàn)和必須是相同的。(6)文件名的第6~11個(gè)字符(0EH~19H)該參數(shù)長(zhǎng)度為12字節(jié),使用UTF-16編碼存儲(chǔ)6個(gè)Unicode字符的文件名,每個(gè)字符占用兩字節(jié)。如果文件名已經(jīng)記錄完,但該參數(shù)的空間中還有未用的字節(jié),就會(huì)在文件名最后一個(gè)字符后填充;兩個(gè)字節(jié)的“00”,隨后未用的字節(jié)用“FF”填充。(7)始終為0(1AH~1BH)該參數(shù)長(zhǎng)度為2字節(jié),始終都為0。(8)文件名的第12~13字符(1CH~1FH)該參數(shù)長(zhǎng)度為4字節(jié),使用UTF-16編碼存儲(chǔ)兩個(gè)Unicode字符的文件名,每個(gè)字符占用兩字節(jié)。該參數(shù)的空間中未用的字節(jié)用“FF”填充。四、“.”目錄項(xiàng)和“..”目錄項(xiàng)子目錄所在的文件目錄區(qū)域中,總有兩個(gè)特殊的目錄,它們就是“.”目錄和“..”目錄。這兩個(gè)目錄可以用DOS命令“DIR”查看到。其中“.”表示當(dāng)前目錄,“..”表示上級(jí)目錄。打開(kāi)Navhex查看“.”目錄和“..”目錄的目錄項(xiàng),如圖所示。圖中“①”號(hào)目錄項(xiàng)是“.”目錄的目錄項(xiàng)(“2E2020”開(kāi)始),“②”號(hào)目錄項(xiàng)是“..”目錄的目錄項(xiàng)(“2E2E2020”開(kāi)始)?!?”目錄項(xiàng)和“..”目錄項(xiàng)中對(duì)起始簇號(hào)的描述同短文件名目錄項(xiàng)。“.”目錄項(xiàng)描述的是子目錄本身所在的簇號(hào),而“..”目錄項(xiàng)描述的是上一級(jí)目錄的起始簇號(hào)。如果上一級(jí)目錄是根目錄,則簇號(hào)值被設(shè)為0。圖3-18中的當(dāng)前值為0(1AH~1BH、14H~15H),說(shuō)明該子目錄的上級(jí)目錄就是根目錄?!?”目錄項(xiàng)和“..”目錄項(xiàng)的文件大小都是0(1CH~1FH),這同所有的目錄一樣,不記錄大小。系統(tǒng)利用“.”目錄和“..”目錄來(lái)實(shí)現(xiàn)目錄之間的雙向聯(lián)系,從而把整個(gè)文件系統(tǒng)聯(lián)系在一起。五、
卷標(biāo)目錄項(xiàng)卷標(biāo)就是一個(gè)分區(qū)的名字,可以在格式化分區(qū)時(shí)創(chuàng)建,也可以隨時(shí)修改。在DOS時(shí)代,卷標(biāo)記錄在DBR的BPB中,目前的系統(tǒng)則把卷標(biāo)當(dāng)做文件,用文件目錄項(xiàng)進(jìn)行管理,系統(tǒng)為卷標(biāo)建一個(gè)目錄項(xiàng),放在根目錄區(qū)中,對(duì)于FAT32來(lái)說(shuō),就是放在數(shù)據(jù)區(qū)中。
目前有一個(gè)卷標(biāo)為“12345”的分區(qū)M,如圖所示。其卷標(biāo)所在的目錄項(xiàng)如圖所示。卷標(biāo)的目錄項(xiàng)屬于短文件名的目錄項(xiàng),有如下特點(diǎn):①對(duì)于FAT格式的分區(qū),卷標(biāo)的長(zhǎng)度最多允許達(dá)到11字節(jié),如果卷標(biāo)為中文,則最多支持5個(gè)字符。②卷標(biāo)的目錄項(xiàng)中不記錄起始簇號(hào)和大小。③卷標(biāo)的目錄項(xiàng)中不記錄創(chuàng)建時(shí)間和最后訪(fǎng)問(wèn)時(shí)間,只記錄修改時(shí)間。六、根目錄的管理分析FAT32文件系統(tǒng)對(duì)于根目錄下文件的管理,統(tǒng)一在數(shù)據(jù)區(qū)中的根目錄為這些文件創(chuàng)建目錄項(xiàng),并由FAT表為文件的內(nèi)容分配簇存放數(shù)據(jù)。而根目錄的首簇由格式化程序指派,并把指派的簇號(hào)記錄在DBR的BPB中。通過(guò)DBR的BPB參數(shù)“根目錄首簇號(hào)”可以直接找到根目錄的起始位置,或者通過(guò)“DBR保留扇區(qū)數(shù)”和“每個(gè)FAT的扇區(qū)數(shù)”兩個(gè)參數(shù)的值計(jì)算出根目錄首簇的開(kāi)始扇區(qū)。計(jì)算方法:根目錄首簇的開(kāi)始扇區(qū)=DBR保留扇區(qū)數(shù)+2×每個(gè)FAT的扇區(qū)數(shù)。找到根目錄首簇后,通過(guò)文件名定位到文件的目錄項(xiàng)。通過(guò)目錄項(xiàng)找到該文件的起始簇號(hào)和大小,然后通過(guò)DBR的BPB參數(shù)“DBR保留扇區(qū)數(shù)”定位FAT1的開(kāi)始扇區(qū),并跳轉(zhuǎn)到文件的首簇號(hào)對(duì)應(yīng)的FAT項(xiàng),從
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年水災(zāi)與干旱的交替影響研究
- 2026春招:修正藥業(yè)真題及答案
- 2026年橋梁維護(hù)與抗震技術(shù)的銜接
- 2026春招:銷(xiāo)售經(jīng)理真題及答案
- 2026年橋梁監(jiān)理的審計(jì)與評(píng)估方法
- 醫(yī)療物聯(lián)網(wǎng)技術(shù)應(yīng)用與挑戰(zhàn)
- 醫(yī)療機(jī)構(gòu)發(fā)展規(guī)劃
- 護(hù)理專(zhuān)業(yè)與護(hù)理職業(yè)素養(yǎng)提升
- 2026年畢節(jié)職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題帶答案解析
- 2026年河北建材職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性考試備考題庫(kù)帶答案解析
- 磁懸浮柔性傳輸行業(yè)研究報(bào)告 2024
- 2025年腎臟內(nèi)科實(shí)際操作技能綜合考核答案及解析
- 車(chē)間落地品管理辦法
- 2.2氣候課件-八年級(jí)地理上學(xué)期人教版
- 知道智慧樹(shù)醫(yī)療糾紛的防范與處理滿(mǎn)分測(cè)試答案
- 接處警培訓(xùn)課件
- 小區(qū)道閘廣告合同(標(biāo)準(zhǔn)版)
- 2025年山西鐵道單招試題及答案
- 現(xiàn)場(chǎng)缺陷件管理辦法
- DB42T 831-2012 鉆孔灌注樁施工技術(shù)規(guī)程
- DBJ04-T489-2025 《智慧園林建設(shè)標(biāo)準(zhǔn)》
評(píng)論
0/150
提交評(píng)論