中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
硬盤數(shù)據(jù)恢復(fù)
信息來(lái)源:邪惡八進(jìn)制信息安全團(tuán)隊(duì)(www.eviloctal.com
文章作者:風(fēng)之詠者(ikusabe)

硬盤的數(shù)據(jù)結(jié)構(gòu)
初買來(lái)一塊硬盤,我們是沒(méi)有辦法使用的,你需要將它分區(qū)、格式化,然后再安裝上操作系統(tǒng)才可以使用。一個(gè)完整硬盤的數(shù)據(jù)應(yīng)該包括五部分:MBR,DBR,F(xiàn)AT,DIR區(qū)和DATA區(qū)。其中只有主引導(dǎo)扇區(qū)是唯一的,其它的隨你的分區(qū)數(shù)的增加而增加。

主引導(dǎo)扇區(qū)

主引導(dǎo)扇區(qū)位于整個(gè)硬盤的0磁道0柱面1扇區(qū),包括硬盤主引導(dǎo)記錄MBR(Main Boot Record)和分區(qū)表DPT(Disk Partition Table)。其中主引導(dǎo)記錄的作用就是檢查分區(qū)表是否正確以及確定哪個(gè)分區(qū)為引導(dǎo)分區(qū),并在程序結(jié)束時(shí)把該分區(qū)的啟動(dòng)程序(也就是操作系統(tǒng)引導(dǎo)扇區(qū))調(diào)入內(nèi)存加以執(zhí)行。至于分區(qū)表,很多人都知道,以80H或00H為開始標(biāo)志,以55AAH為結(jié)束標(biāo)志,共64字節(jié),位于本扇區(qū)的最末端。值得一提的是,MBR是由分區(qū)程序(例如DOS 的Fdisk.exe)產(chǎn)生的,不同的操作系統(tǒng)可能這個(gè)扇區(qū)是不盡相同。如果你有這個(gè)意向也可以自己去編寫一個(gè),只要它能完成前述的任務(wù)即可,這也是為什么能實(shí)現(xiàn)多系統(tǒng)啟動(dòng)的原因(說(shuō)句題外話:正因?yàn)檫@個(gè)主引導(dǎo)記錄容易編寫,所以才出現(xiàn)了很多的引導(dǎo)區(qū)病毒)。

操作系統(tǒng)引導(dǎo)扇區(qū)

OBR(OS Boot Record)即操作系統(tǒng)引導(dǎo)扇區(qū),通常位于硬盤的0磁道1柱面1扇區(qū)(這是對(duì)于DOS來(lái)說(shuō)的,對(duì)于那些以多重引導(dǎo)方式啟動(dòng)的系統(tǒng)則位于相應(yīng)的主分區(qū)/擴(kuò)展分區(qū)的第一個(gè)扇區(qū)),是操作系統(tǒng)可直接訪問(wèn)的第一個(gè)扇區(qū),它也包括一個(gè)引導(dǎo)程序和一個(gè)被稱為BPB(BIOS Parameter Block)的本分區(qū)參數(shù)記錄表。其實(shí)每個(gè)邏輯分區(qū)都有一個(gè)OBR,其參數(shù)視分區(qū)的大小、操作系統(tǒng)的類別而有所不同。引導(dǎo)程序的主要任務(wù)是判斷本分區(qū)根目錄前兩個(gè)文件是否為操作系統(tǒng)的引導(dǎo)文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一個(gè)文件讀入內(nèi)存,并把控制權(quán)交予該文件。BPB參數(shù)塊記錄著本分區(qū)的起始扇區(qū)、結(jié)束扇區(qū)、文件存儲(chǔ)格式、硬盤介質(zhì)描述符、根目錄大小、FAT個(gè)數(shù)、分配單元(Allocation Unit,以前也稱之為簇)的大小等重要參數(shù)。OBR由高級(jí)格式化程序產(chǎn)生(例如DOS 的Format.com)。

文件分配表

FAT(File Allocation Table)即文件分配表,是DOS/Win9x系統(tǒng)的文件尋址系統(tǒng),為了數(shù)據(jù)安全起見(jiàn),F(xiàn)AT一般做兩個(gè),第二FAT為第一FAT的備份, FAT區(qū)緊接在OBR之后,其大小由本分區(qū)的大小及文件分配單元的大小決定。關(guān)于FAT的格式歷來(lái)有很多選擇,Microsoft 的DOS及Windows采用我們所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非沒(méi)有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。

目錄區(qū)

DIR是Directory即根目錄區(qū)的簡(jiǎn)寫,DIR緊接在第二FAT表之后,只有FAT還不能定位文件在磁盤中的位置,F(xiàn)AT還必須和DIR配合才能準(zhǔn)確定位文件的位置。DIR記錄著每個(gè)文件(目錄)的起始單元(這是最重要的)、文件的屬性等。定位文件位置時(shí),操作系統(tǒng)根據(jù)DIR中的起始單元,結(jié)合FAT表就可以知道文件在磁盤的具體位置及大小了。在DIR區(qū)之后,才是真正意義上的數(shù)據(jù)存儲(chǔ)區(qū),即DATA區(qū)。

數(shù)據(jù)區(qū)

DATA雖然占據(jù)了硬盤的絕大部分空間,但沒(méi)有了前面的各部分,它對(duì)于我們來(lái)說(shuō),也只能是一些枯燥的二進(jìn)制代碼,沒(méi)有任何意義。在這里有一點(diǎn)要說(shuō)明的是,我們通常所說(shuō)的格式化程序(指高級(jí)格式化,例如DOS下的Format程序),并沒(méi)有把DATA區(qū)的數(shù)據(jù)清除,只是重寫了FAT表而已,至于分區(qū)硬盤,也只是修改了MBR和OBR,絕大部分的DATA區(qū)的數(shù)據(jù)并沒(méi)有被改變,這也是許多硬盤數(shù)據(jù)能夠得以修復(fù)的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破壞的話,也足夠咱們那些所謂的DIY老鳥們忙乎半天了……需要提醒大家的是,如果你經(jīng)常整理磁盤,那么你的數(shù)據(jù)區(qū)的數(shù)據(jù)可能是連續(xù)的,這樣即使MBR/FAT/DIR全部壞了,我們也可以使用磁盤編輯軟件(比如DOS下的DiskEdit),只要找到一個(gè)文件的起始保存位置,那么這個(gè)文件就有可能被恢復(fù)(當(dāng)然了,這需要一個(gè)前提,那就是你沒(méi)有覆蓋這個(gè)文件……)。

硬盤分區(qū)方式

我們平時(shí)說(shuō)到的分區(qū)概念,不外乎三種:主分區(qū)、擴(kuò)展分區(qū)和邏輯分區(qū)。主分區(qū)是一個(gè)比較單純的分區(qū),通常位于硬盤的最前面一塊區(qū)域中,構(gòu)成邏輯C磁盤。在主分區(qū)中,不允許再建立其它邏輯磁盤。

擴(kuò)展分區(qū)的概念則比較復(fù)雜,也是造成分區(qū)和邏輯磁盤混淆的主要原因。由于硬盤僅僅為分區(qū)表保留了64個(gè)字節(jié)的存儲(chǔ)空間,而每個(gè)分區(qū)的參數(shù)占據(jù)16個(gè)字節(jié),故主引導(dǎo)扇區(qū)中總計(jì)可以存儲(chǔ)4個(gè)分區(qū)的數(shù)據(jù)。操作系統(tǒng)只允許存儲(chǔ)4個(gè)分區(qū)的數(shù)據(jù),如果說(shuō)邏輯磁盤就是分區(qū),則系統(tǒng)最多只允許4個(gè)邏輯磁盤。對(duì)于具體的應(yīng)用,4個(gè)邏輯磁盤往往不能滿足實(shí)際需求。為了建立更多的邏輯磁盤供操作系統(tǒng)使用,系統(tǒng)引入了擴(kuò)展分區(qū)的概念。

所謂擴(kuò)展分區(qū),嚴(yán)格地講它不是一個(gè)實(shí)際意義的分區(qū),它僅僅是一個(gè)指向下一個(gè)分區(qū)的指針,這種指針結(jié)構(gòu)將形成一個(gè)單向鏈表。這樣在主引導(dǎo)扇區(qū)中除了主分區(qū)外,僅需要存儲(chǔ)一個(gè)被稱為擴(kuò)展分區(qū)的分區(qū)數(shù)據(jù),通過(guò)這個(gè)擴(kuò)展分區(qū)的數(shù)據(jù)可以找到下一個(gè)分區(qū)(實(shí)際上也就是下一個(gè)邏輯磁盤)的起始位置,以此起始位置類推可以找到所有的分區(qū)。無(wú)論系統(tǒng)中建立多少個(gè)邏輯磁盤,在主引導(dǎo)扇區(qū)中通過(guò)一個(gè)擴(kuò)展分區(qū)的參數(shù)就可以逐個(gè)找到每一個(gè)邏輯磁盤。

需要特別注意的是,由于主分區(qū)之后的各個(gè)分區(qū)是通過(guò)一種單向鏈表的結(jié)構(gòu)來(lái)實(shí)現(xiàn)鏈接的,因此,若單向鏈表發(fā)生問(wèn)題,將導(dǎo)致邏輯磁盤的丟失。

數(shù)據(jù)存儲(chǔ)原理

既然要進(jìn)行數(shù)據(jù)的恢復(fù),當(dāng)然數(shù)據(jù)的存儲(chǔ)原理我們不能不提,在這之中,我們還要介紹一下數(shù)據(jù)的刪除和硬盤的格式化相關(guān)問(wèn)題……

文件的讀取

操作系統(tǒng)從目錄區(qū)中讀取文件信息(包括文件名、后綴名、文件大小、修改日期和文件在數(shù)據(jù)區(qū)保存的第一個(gè)簇的簇號(hào)),我們這里假設(shè)第一個(gè)簇號(hào)是0023。

操作系統(tǒng)從0023簇讀取相應(yīng)的數(shù)據(jù),然后再找到FAT的0023單元,如果內(nèi)容是文件結(jié)束標(biāo)志(FF),則表示文件結(jié)束,否則內(nèi)容保存數(shù)據(jù)的下一個(gè)簇的簇號(hào),這樣重復(fù)下去直到遇到文件結(jié)束標(biāo)志。

文件的寫入

當(dāng)我們要保存文件時(shí),操作系統(tǒng)首先在DIR區(qū)中找到空區(qū)寫入文件名、大小和創(chuàng)建時(shí)間等相應(yīng)信息,然后在Data區(qū)找到閑置空間將文件保存,并將Data區(qū)的第一個(gè)簇寫入DIR區(qū),其余的動(dòng)作和上邊的讀取動(dòng)作差不多。

文件的刪除

Win9x的文件刪除工作卻是很簡(jiǎn)單的,簡(jiǎn)單到只在目錄區(qū)做了一點(diǎn)小改動(dòng)?D?D將目錄區(qū)的文件的第一個(gè)字符改成了E5就表示將改文件刪除了。

附錄:

Fdisk和Format的一點(diǎn)小說(shuō)明

和文件的刪除類似,利用Fdisk刪除再建立分區(qū)和利用Format格式化邏輯磁盤(假設(shè)你格式化的時(shí)候并沒(méi)有使用/U這個(gè)無(wú)條件格式化參數(shù))都沒(méi)有將數(shù)據(jù)從DATA區(qū)直接刪除,前者只是改變了分區(qū)表,后者只是修改了FAT表,因此被誤刪除的分區(qū)和誤格式化的硬盤完全有可能恢復(fù)……

系統(tǒng)啟動(dòng)流程

各種不同的操作系統(tǒng)啟動(dòng)流程不盡相同,我們這里以Win9x/DOS的啟動(dòng)流程為例。

第一階段:系統(tǒng)加電自檢POST過(guò)程。POST是Power On Self Test的縮寫,也就是加電自檢的意思,微機(jī)執(zhí)行內(nèi)存FFFF0H處的程序(這里是一段固化的ROM程序),對(duì)系統(tǒng)的硬件(包括內(nèi)存)進(jìn)行檢查。

第二階段:讀取分區(qū)記錄和引導(dǎo)記錄。當(dāng)微機(jī)檢查到硬件正常并與CMOS設(shè)置相符后,按照CMOS設(shè)置從相應(yīng)設(shè)備啟動(dòng)(我們這里假設(shè)從硬盤啟動(dòng)),讀取硬盤的分區(qū)記錄(DPT)和主引導(dǎo)記錄(MBR)。

第三階段:讀取DOS引導(dǎo)記錄。微機(jī)正確讀取分區(qū)記錄和主引導(dǎo)記錄后,如果主引導(dǎo)記錄和分區(qū)表校驗(yàn)正確,則執(zhí)行主引導(dǎo)記錄并進(jìn)一步讀取DOS引導(dǎo)記錄(位于每一個(gè)主分區(qū)的第一個(gè)扇區(qū)),然后執(zhí)行該DOS引導(dǎo)記錄。

第四階段:裝載系統(tǒng)隱含文件。將DOS系統(tǒng)的隱含文件IO.SYS入內(nèi)存,加載基本的文件系統(tǒng)FAT,這時(shí)候一般會(huì)出現(xiàn)Starting Windows 9x...的標(biāo)志,IO.SYS將MS.SYS讀入內(nèi)存,并處理System.dat和User.dat文件,加載磁盤壓縮程序。

第五階段:實(shí)DOS模式配置。系統(tǒng)隱含文件裝載完成,微機(jī)將執(zhí)行系統(tǒng)隱含文件,并執(zhí)行系統(tǒng)配置文件(Config.sys),加載Config.sys中定義的各種驅(qū)動(dòng)程序。

第六階段:調(diào)入命令解釋程序(Command.com)。系統(tǒng)裝載命令管理程序,以便對(duì)系統(tǒng)的各種操作命令進(jìn)行協(xié)調(diào)管理(我們所使用的Dir、Copy等內(nèi)部命令就是由Command.com提供的)。

第七階段:執(zhí)行批處理文件(Autoexec.bat)。微機(jī)將一步一步地執(zhí)行批處理文件中的各條命令。

第八階段:加載Win.com。Win.com負(fù)責(zé)將Windows下的各種驅(qū)動(dòng)程序和啟動(dòng)執(zhí)行文件加以執(zhí)行,至此啟動(dòng)完畢。





主分區(qū)表數(shù)據(jù)及分析

在英文字典中,對(duì)主引導(dǎo)區(qū)的定義如下:

Master Boot Record:The Master Boot Record is located at the physical beginning of a hard disk, editable using the Disk Editor. It consists of a master bootstrap loader code (446 bytes) and four subsequent, identically structured partition records. Finally, the hexadecimal signature 55AA completes a valid Master Boot Record.

硬盤的主引導(dǎo)記錄在硬盤的0磁頭0柱面1扇區(qū)。主引導(dǎo)記錄由三部分組成:


主引導(dǎo)程序;

四個(gè)分區(qū)表;

主引導(dǎo)記錄有效標(biāo)志字。


表1 主引導(dǎo)記錄結(jié)構(gòu)

說(shuō)明:


分區(qū)表自偏移1BEH處開始,分區(qū)表共64個(gè)字節(jié),表中可填入四個(gè)分區(qū)信息,每十六個(gè)字節(jié)為一個(gè)分區(qū)說(shuō)明項(xiàng),這16個(gè)字節(jié)含義詳見(jiàn)表2。

必須注意:扇區(qū)號(hào)的高二位占用柱面號(hào)所在字節(jié)的最高二位,即柱面號(hào)為10位,扇區(qū)號(hào)6位。


表2 分區(qū)結(jié)構(gòu)信息

重要公式:02H為X,03H為Y。柱面=(X>>6)*16^2+Y;

以我的硬盤為例:有九個(gè)可用分區(qū),二個(gè)不可用分區(qū);兩個(gè)Primary NTFS分區(qū),第二個(gè)為active;七個(gè)Extened 分區(qū),第五個(gè)為NTFS其他為FAT32.

主分區(qū)表數(shù)據(jù):位置cylinder0, head 0,sector1



主分區(qū)表分析:

Master bootstrap loader code

0000H -00D9H 33 C0 8E D0 BC 00 7C FB 50 。。。主引導(dǎo)記錄代碼,表示住分區(qū)表



01BEH -01CDH 分區(qū)1結(jié)構(gòu)信息

multi(0)disk(0)rdisk(0)partition(0)
知該分區(qū)Boot Sector位于:起始磁頭為0頭,起始柱面為70D,起始扇區(qū)為1扇區(qū)。



01CEH -01DDH 分區(qū)2結(jié)構(gòu)信息

multi(0)disk(0)rdisk(0)partition(1)
活動(dòng)分區(qū)指示符為80H,表示該分區(qū)為可自舉分區(qū)。
系統(tǒng)標(biāo)志為07表示OS/2 HPFS, Windows NT NTFS, Advanced Unix系統(tǒng)。知該分區(qū)Boot Sector位于:起始磁頭為0頭,起始柱面為304D,起始扇區(qū)為1扇區(qū)。



01DEH -01EDH 分區(qū)3結(jié)構(gòu)信息

Extended partition
系統(tǒng)標(biāo)志字節(jié)為0F,說(shuō)明是擴(kuò)展分區(qū)Extended partition (using INT 13 extensions)。
從擴(kuò)展分區(qū)說(shuō)明項(xiàng)知下一個(gè)分區(qū)表位于:起始磁頭為0頭,起始柱面為435D,起始扇區(qū)為1扇區(qū)。


01EEH -01FDH 分區(qū)4結(jié)構(gòu)信息

分區(qū)說(shuō)明項(xiàng)數(shù)據(jù)均為00H沒(méi)有定義。



01FEH -01FFH 55 AAH 主引導(dǎo)記錄有效標(biāo)志

擴(kuò)展分區(qū)數(shù)據(jù)及分析

擴(kuò)展分區(qū)一分區(qū)表數(shù)據(jù):位置cylinder435D, head 0,sector1



擴(kuò)展分區(qū)表分析



01BEH -01CDH 分區(qū)1結(jié)構(gòu)信息

multi(0)disk(0)rdisk(0)partition(3)
知該分區(qū)位于:起始磁頭為1頭,起始柱面為435D,起始扇區(qū)為1扇區(qū)(分區(qū)表占用磁頭0)。
系統(tǒng)標(biāo)志字0BH表示 Windows 95+ FAT32



01BEH -01CDH 分區(qū)1結(jié)構(gòu)信息

系統(tǒng)標(biāo)志字節(jié)為05H,說(shuō)明是擴(kuò)展DOS分區(qū)。于是知下一個(gè)分區(qū)表位于:起始磁頭為0頭,起始柱面為777D,起始扇區(qū)為1扇區(qū)。

Partition Table Entry #3 數(shù)據(jù)均為00H沒(méi)有定義。
Partition Table Entry #4 數(shù)據(jù)均為00H沒(méi)有定義。

其他擴(kuò)展分區(qū)同理。

附錄:Fdisk的MBR參數(shù)

MBR 系 FDISK.COM(EXE) 一項(xiàng)未公布的開關(guān),隱含于 MS DOS 3.30,延至 MS DOS 8.0(Windows ME)。實(shí)踐中,有籍以修復(fù)主引導(dǎo)信息,重點(diǎn)在主引導(dǎo)程序。

FDISK /MBR 命令流程的分支有二:

讀得主引導(dǎo)扇區(qū)檢驗(yàn)標(biāo)志(字) AA55h,操作單一,僅向主引導(dǎo)扇區(qū)位移 0-1BDH 寫入當(dāng)前系統(tǒng)固有的主引導(dǎo)程序,安全可靠。

難能可貴的是它不觸動(dòng)主引導(dǎo)信息其余模塊(分區(qū)表、檢驗(yàn)標(biāo)志),以及隨后的 DOS 引導(dǎo)信息、文件分配表、根目錄,省事許多。檢出檢驗(yàn)標(biāo)志非 AA55h,寫主引導(dǎo)程序、初始化分區(qū)表及登錄檢驗(yàn)標(biāo)志,在 MS DOS 7.0 - 8.0 環(huán)境中,常規(guī)以系統(tǒng)支持的最大容量分配給基本 DOS 分區(qū)的方式登錄分區(qū)表。分區(qū)表初始化(可能幸存的分區(qū)表被清除)的后果不難想象; 目前硬盤大都設(shè)置有其它分區(qū),即使在高版本 DOS 環(huán)境中運(yùn)作,常規(guī)建立的分區(qū)表每難能符合實(shí)際需求,后續(xù)工作量也相當(dāng)可觀。

不過(guò),它也不觸動(dòng)位于其后的 DOS 引導(dǎo)信息、文件分配表及根目錄,高版本 FDISK /MBR 命令適用于修復(fù)僅設(shè)基本 DOS 分區(qū)的硬盤分區(qū)表及檢驗(yàn)標(biāo)志受損,或主引導(dǎo)信息全毀。

可見(jiàn),在運(yùn)行 FDISK /MBR 命令之前,需查明檢驗(yàn)標(biāo)志是否 AA55h,酌情處理,切忌盲動(dòng)。

經(jīng)由 DOS 軟盤引導(dǎo),認(rèn)硬盤,檢驗(yàn)標(biāo)志必健在。

另外,在 FDSIK 主菜單中選 4. Display Partition Information,列出分區(qū)信息,進(jìn)一步證實(shí)檢驗(yàn)標(biāo)志正常; 若現(xiàn) No partitition defined,檢驗(yàn)標(biāo)志每變異,而分區(qū)表或許尚健在。




深入邏輯分區(qū)

邏輯分區(qū)結(jié)構(gòu)

現(xiàn)在深入每一個(gè)邏輯分區(qū),邏輯分區(qū)結(jié)構(gòu)如下:

FAT12/16
Logical sector =0 Logical sector=1
(Floppy disk=1~9) Logical sector=1+sectors_per_FAT
(Floppydisk=10~18) Logical sector=1+sectors_per_FAT*2
(Floppy disk=19~32) Logical sector=1+sectors_per_FAT*2+sectors_of_rootdirectories
(Floppy disk=33~)
DOS Boot Sector FAT1 FAT2 ROOT Directory Data area(where files and subdirectories are stored)

FAT32
Usually 32 sectors Logical sector =0032h Logical sector =0032h+ 2*sectors_per_FAT
DOS Boot Recore 3 Sectors Reserved sectors Copy of record Reserve sectors FAT1 FAT2 Data area(where files and all bdirectories are stored)

在邏輯分區(qū)當(dāng)中用邏輯的cluster和sector。換算關(guān)系為:
cluster=logical_sector/sectors_per_cluster;
這里sectors_per_cluster是在BIOS Parameter Block里得到的。
Sector=( logical_sector mod sectors_per_track)+1;
Head=( logical_sector / sectors_per_track)mod total_heads;
Cylinder= logical_sector(sectors_per_track* total_heads);
logical_sector=( cluster-2)*sectors_per_cluster+sector_of_file_area_offset;
logical_sector=(sector-1)+head*sector_per_track+sector*sector_per_track*heads;
每個(gè)扇區(qū)長(zhǎng)度=512字節(jié)
總簇?cái)?shù)=邏輯盤容量/簇容量
總簇?cái)?shù)=FAT表長(zhǎng)度(字節(jié))/每個(gè)表項(xiàng)長(zhǎng)度(字節(jié))-2
FAT表長(zhǎng)度=邏輯盤容量/簇容量*每個(gè)表項(xiàng)長(zhǎng)度

Dos引導(dǎo)記錄塊位于邏輯0 sector中包含三部分:
(1) 磁盤IO參數(shù)表BPB;
(2) 磁盤基數(shù)表;
(3) 引導(dǎo)區(qū)代碼。

描述邏輯盤結(jié)構(gòu)的BPB表

FAT16的BPB(BIOS Parameter Block)表,描述邏輯盤結(jié)構(gòu)組成,包含隱藏扇區(qū)數(shù)目(從0-1-1開始計(jì)算)、FAT扇區(qū)數(shù)、FAT拷貝數(shù)、硬盤磁頭總數(shù)、根目錄表項(xiàng)最大值等。FAT32系統(tǒng)中,BPB表的偏移與FAT16不同,但表項(xiàng)基本相同。整個(gè)隱藏扇區(qū)部分都作為邏輯盤的描述區(qū)域。

硬盤BPB主要結(jié)構(gòu)說(shuō)明:

(Cylinder柱面/磁道-Side/Head磁頭-Sector扇區(qū)地址以下簡(jiǎn)稱為?-?-?)

主分區(qū)
名稱 地址 長(zhǎng)度(扇區(qū))
主引導(dǎo)記錄(Main Boot Record) 0-0-1 1
系統(tǒng)扇區(qū)(System Secotrs) 0-0-2,0-0-63 62
引導(dǎo)扇區(qū)(Boot) 0-1-1 1

擴(kuò)展分區(qū)
名稱 地址 長(zhǎng)度(扇區(qū))
擴(kuò)展分區(qū)(Extend Partition) ?-y-1 1
系統(tǒng)扇區(qū)(System Secotrs) ?-y-2,?-y-63 62
引導(dǎo)扇區(qū)(Boot) ?-(y+1)-1 1
其后各項(xiàng)與主分區(qū)相同……

隱藏扇區(qū)(Hidden Secotrs):
FAT16 0-1-1 1
FAT32 0-1-1 32

文件分配表(File Allocation Table):
FAT16 0-1-2 根據(jù)邏輯盤容量變化
FAT32 0-1-33 根據(jù)邏輯盤容量變化

說(shuō)明:

1. FAT16的每個(gè)表項(xiàng)由2字節(jié)(16位)組成,通常每個(gè)表項(xiàng)指向的簇包含64個(gè)扇區(qū),即32K字節(jié)。 邏輯盤容量最大為2047MB。

2. FAT32的每個(gè)表項(xiàng)由4字節(jié)(32位)組成,通常每個(gè)表項(xiàng)指向的簇包含8個(gè)扇區(qū),即4K字節(jié)。邏輯盤容量最小為512MB。

3. 對(duì)于C分區(qū),在MBR的偏移01c2H處,F(xiàn)AT16為06H,F(xiàn)AT32為0CH。

深入邏輯分區(qū)之文件分配表(FAT)

FAT是DOS、Windows9X系統(tǒng)的文件尋址格式,位于DBR之后。

在解釋文件分配表的概念的時(shí)候,我們有必要談?wù)劥兀–luster)的概念。文件占用磁盤空間,基本單位不是字節(jié)而是簇。一般情況下,軟盤每簇是1個(gè)扇區(qū),硬盤每簇的扇區(qū)數(shù)與硬盤的總?cè)萘看笮∮嘘P(guān),可能是4、8、16、32、64……同一個(gè)文件的數(shù)據(jù)并不一定完整地存放在磁盤的一個(gè)連續(xù)的區(qū)域內(nèi),而往往會(huì)分成若干段,像一條鏈子一樣存放。這種存儲(chǔ)方式稱為文件的鏈?zhǔn)酱鎯?chǔ)。由于硬盤上保存著段與段之間的連接信息(即FAT),操作系統(tǒng)在讀取文件時(shí),總是能夠準(zhǔn)確地找到各段的位置并正確讀出。

為了實(shí)現(xiàn)文件的鏈?zhǔn)酱鎯?chǔ),硬盤上必須準(zhǔn)確地記錄哪些簇已經(jīng)被文件占用,還必須為每個(gè)已經(jīng)占用的簇指明存儲(chǔ)后繼內(nèi)容的下一個(gè)簇的簇號(hào)。對(duì)一個(gè)文件的最后一簇,則要指明本簇?zé)o后繼簇。這些都是由FAT表來(lái)保存的,表中有很多表項(xiàng),每項(xiàng)記錄一個(gè)簇的信息。由于FAT對(duì)于文件管理的重要性,所以為了安全起見(jiàn),F(xiàn)AT有一個(gè)備份,即在原FAT的后面再建一個(gè)同樣的FAT。初形成的FAT中所有項(xiàng)都標(biāo)明為“未占用”,但如果磁盤有局部損壞,那么格式化程序會(huì)檢測(cè)出損壞的簇,在相應(yīng)的項(xiàng)中標(biāo)為“壞簇”,以后存文件時(shí)就不會(huì)再使用這個(gè)簇了。FAT的項(xiàng)數(shù)與硬盤上的總簇?cái)?shù)相當(dāng),每一項(xiàng)占用的字節(jié)數(shù)也要與總簇?cái)?shù)相適應(yīng),因?yàn)槠渲行枰娣糯靥?hào)。FAT的格式有多種,最為常見(jiàn)的是FAT16和FAT32。

當(dāng)一個(gè)磁盤Format后,在其邏輯0扇區(qū)(即BOOT扇區(qū))后面的幾個(gè)扇區(qū)中存在著一個(gè)重要的數(shù)據(jù)表?D文件分配(FAT),文件分配表一式兩份,占據(jù)扇區(qū)的多小憑磁盤類型大小而定。顧名思義,文件分配表是用來(lái)表示磁盤問(wèn)件的空分配信息的。它不對(duì)引導(dǎo)區(qū),文件目錄的信息進(jìn)行表示,也不真正存儲(chǔ)文件內(nèi)容。

我們知道磁盤是由一個(gè)一個(gè)扇區(qū)組成的,若干個(gè)扇區(qū)合為一個(gè)簇,文件存取是以簇為單位的,哪怕這個(gè)文件只有1個(gè)字節(jié)。每個(gè)簇在文件分配表中都有對(duì)應(yīng)的表項(xiàng),簇號(hào)即為表項(xiàng)號(hào),每個(gè)表項(xiàng)占1.5個(gè)字節(jié)(磁盤空間在10MB以下)或2個(gè)字節(jié)(磁盤空間在10MB以上)。為了方便起見(jiàn),以后所說(shuō)的表項(xiàng)都是指2個(gè)字節(jié)的。

FAT表的開始由介質(zhì)描述符+一串“已占用”標(biāo)志組成:


FAT16硬盤----F8 FF FF 7F

FAT32硬盤----F8 FF FF 0F FF FF FF 0F

每個(gè)有效的FAT結(jié)構(gòu)區(qū)包含兩個(gè)完全相同的拷貝:FAT1、FAT2
文件分配表結(jié)構(gòu)如1(H表示16進(jìn)制)


第0字節(jié):表頭,表磁盤類型。FFH雙面軟盤,每次道8扇區(qū)FEH單面軟盤,每磁道8扇區(qū)FDH雙面軟盤,每磁道9扇區(qū)FCCH單面軟盤,每磁道9扇區(qū)FC8H硬盤

第1~2字節(jié):(表項(xiàng)號(hào)1)表示第一簇狀態(tài),因第一簇被系統(tǒng)占據(jù),故此兩字節(jié)為FFFFH

第3~4字節(jié):(表項(xiàng)號(hào)2)表示第二簇狀態(tài),若為FFFH表此簇為壞的,DOS已標(biāo)記為不能用;0000H表示此簇為空,可以用;FFF8H表不能示該簇為文件的最后一簇;其余數(shù)字表示文件的下一個(gè)簇號(hào),注意高字節(jié)在后,低字節(jié)在前。

第5~6字節(jié):(表項(xiàng)號(hào)3)表示第三簇狀態(tài),同上。

注意

不要把表項(xiàng)內(nèi)的數(shù)字誤認(rèn)為表示當(dāng)前簇號(hào),而應(yīng)是該文件的下一個(gè)簇的簇號(hào)。.高字節(jié)在后,低字節(jié)在前是一種存儲(chǔ)數(shù)字方式,讀出時(shí)應(yīng)對(duì)其進(jìn)行調(diào)整。是如兩字節(jié)12H,34H,應(yīng)調(diào)整為3412H。

文件分配表與文件目錄(FDT)相配合,可以統(tǒng)一管理整個(gè)磁盤的文件。它告訴系統(tǒng)磁盤上哪些簇是壞的或已被使用,哪些簇可以用,并存儲(chǔ)每個(gè)文件所使用的簇號(hào)。它是文件的“總調(diào)度師”。

當(dāng)DOS寫文件時(shí),首先在文件目錄中檢查是否有相同文件名,若無(wú)則使用一個(gè)文件目錄表項(xiàng),然后依次檢測(cè)FAT中的每個(gè)表項(xiàng)對(duì)應(yīng)的簇中,同時(shí)將該簇號(hào)寫入文件目錄表項(xiàng)相的26-27字節(jié),如文件長(zhǎng)度不止一簇,則繼續(xù)向后尋找可用簇,找到后將其簇號(hào)寫入上一次找到的表項(xiàng)中,如此直到文件結(jié)束,在最后一簇的表項(xiàng)里填上FFF8H,形成單向鏈表。

DOS刪除文件時(shí)只是把文件目錄表中的該文件的表項(xiàng)第0個(gè)字節(jié)改為E5H,表此項(xiàng)已被刪除,并在文件分配表中把該文件占用的各簇的表項(xiàng)清0,并釋放空間。其文件的內(nèi)容仍然在盤上,并沒(méi)有被真正刪除,這就是undelete.exe,unerase.exe等一類恢復(fù)刪除工具能起作用的原因。

文件分配表在系統(tǒng)中的地位十分重要,用戶最好不要去修改它,以免誤操作帶來(lái)嚴(yán)重的后果。



深入邏輯分區(qū)之文件目錄表(FDT)

文件目錄表(File Directory Table),即根目錄區(qū),又稱為ROOT區(qū)

緊跟在FAT2的下一個(gè)扇區(qū),長(zhǎng)度為32個(gè)扇區(qū)(256個(gè)表項(xiàng))。如果支持長(zhǎng)文件名,則每個(gè)表項(xiàng)為64個(gè)字節(jié),其中,前32個(gè)字節(jié)為長(zhǎng)文件鏈接說(shuō)明;后32個(gè)字節(jié)為文件屬性說(shuō)明,包括文件長(zhǎng)度、起始地址、日期、時(shí)間等。如不支持長(zhǎng)文件名,則每個(gè)表項(xiàng)為32個(gè)字節(jié)的屬性說(shuō)明。

值得注意的是:


FAT32沒(méi)有儲(chǔ)存目錄的目錄區(qū),而 FAT16儲(chǔ)存根目錄并把子目錄放到數(shù)據(jù)區(qū)。

表示目錄的目錄項(xiàng)指出根目錄地址同時(shí)長(zhǎng)度字節(jié)為0,表示文件的目錄項(xiàng)指出數(shù)據(jù)地址。



注意:DOS7前的怪字符為E5H,表示被刪除,被刪除文件仍舊能夠找到開始簇,數(shù)據(jù)恢復(fù)就依靠這一特點(diǎn)。

數(shù)據(jù)區(qū)(Data Area): 緊跟在FDT的下一個(gè)扇區(qū),直到邏輯盤的結(jié)束地址。它存儲(chǔ)著所有的數(shù)據(jù),而且即使文件目錄被破壞仍舊可能從磁盤里把信息讀出,這也就是硬盤數(shù)據(jù)的理論依據(jù)。

到現(xiàn)在為止,硬盤數(shù)據(jù)結(jié)構(gòu)的理論部分已經(jīng)講完。數(shù)據(jù)恢復(fù)主要是手動(dòng)找出FAT、目錄、數(shù)據(jù)的對(duì)應(yīng)關(guān)系或直接找到數(shù)據(jù),現(xiàn)在已經(jīng)有完善的磁盤編輯器幫助我們做到這一點(diǎn),使工作大大簡(jiǎn)化了。

有只能化的恢復(fù)工具能不依靠FAT而恢復(fù)被刪除文件,比如RECOVERNT,估計(jì)是依靠Win2000的文件使用記錄。這種方法在沖啟動(dòng)之前恢復(fù)文件的可能性很大。從理論上講只要數(shù)據(jù)不被覆蓋總能被恢復(fù)的。

實(shí)戰(zhàn)硬盤數(shù)據(jù)恢復(fù)

上面對(duì)硬盤數(shù)據(jù)恢復(fù)的理論知識(shí)進(jìn)行了完整介紹,下面再簡(jiǎn)單介紹兩種常見(jiàn)的硬盤故障的數(shù)據(jù)恢復(fù)辦法。

FAT表引起的讀寫故障

硬盤文件分配表龐大無(wú)法手工修復(fù),只能依靠工具。FAT表記錄著硬盤數(shù)據(jù)的存儲(chǔ)地址,每一個(gè)文件都有一組FAT鏈指定其存放的簇地址。FAT表的損壞意味著文件內(nèi)容的丟失。慶幸的是DOS系統(tǒng)本身提供了兩個(gè)FAT表,如果目前使用的FAT表?yè)p壞,可用第二個(gè)進(jìn)行覆蓋修復(fù)。但由于不同規(guī)格的磁盤其FAT表的長(zhǎng)度及第二個(gè)FAT表的地址也是不固定的,所以修復(fù)時(shí)必須正確查找其正確位置,一些工具軟件如NU等本身具有這樣的修復(fù)功能,使用也非常的方便。采用DEBUG也可實(shí)現(xiàn)這種操作,即采用其m命令把第二個(gè)FAT表移到第一個(gè)表處即可(不建議這樣做)。如果第二個(gè)FAT表也損壞了,則也無(wú)法把硬盤恢復(fù)到原來(lái)的狀態(tài),但文件的數(shù)據(jù)仍然存放在硬盤的數(shù)據(jù)區(qū)中,可采用CHKDSK或SCANDISK命令進(jìn)行修復(fù),最終得到*.CHK文件,這便是丟失FAT鏈的扇區(qū)數(shù)據(jù)。如果是文本文件則可從中提取出完整的或部分的文件內(nèi)容。

軟盤文件分配FAT表修復(fù)

在運(yùn)行某個(gè)程序時(shí),有時(shí)會(huì)在屏幕上看到:File allocation table bad,drive A(文件分配表壞)的錯(cuò)誤信息,導(dǎo)致程序不能正常運(yùn)行。

我們知道,在磁盤中有兩個(gè)文件分配表:FAT1和FAT2。FAT1用于日常工作,F(xiàn)AT2備用。因此,在FAT1損壞時(shí),可用FAT2表修補(bǔ)。具體方法是:運(yùn)行DEBUG,將FAT2讀入緩沖區(qū),用緩沖區(qū)的FAT2數(shù)據(jù)覆蓋磁盤中的FAT1。

例:修復(fù)3寸1.44M軟盤,在A驅(qū)。在DOS環(huán)境下進(jìn)入debug環(huán)境。在“-”提示符下進(jìn)行如下操作:
-L 100 0 0A 9
-W 100 0 1 9
-q

其它類型的軟盤的修復(fù)方法參照下表進(jìn)行。起止邏輯扇區(qū) 5.25"低密 5.25"高密 3.5"低密 3.5"高密
BOOT區(qū) 0 0 0 0
FAT1 1-2 1-7 1-3 1-9
FAT2 3-4 8-0EH 4-6 0A-12H

例如我們要修復(fù)5.25"高密軟盤的FAT,則需將上述參數(shù)改為:
-L 100 0 8 7
-W 100 0 1 7
-q
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
硬盤數(shù)據(jù)恢復(fù)入門教程(邏輯盤BPB表篇)
DOS操作系統(tǒng)下的磁盤結(jié)構(gòu)(1)(概述DOS操作系統(tǒng)的引導(dǎo)過(guò)程操作系統(tǒng)下磁盤的引導(dǎo)扇區(qū))
硬盤軟故障完全修復(fù)手冊(cè)——數(shù)據(jù)結(jié)構(gòu)篇
硬盤分區(qū)表知識(shí)——詳解硬盤MBR
硬盤修復(fù)方法大全
系統(tǒng)工作機(jī)理的簡(jiǎn)單介紹
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服