1、主引導(dǎo)扇區(qū)(MBR)
主引導(dǎo)扇區(qū)位于整個硬盤的0磁道0柱面1扇區(qū),包括硬盤主引導(dǎo)記錄MBR(Main
Boot Record)和分區(qū)表DPT(Disk Partition
Table)。其中主引導(dǎo)記錄的作用就是檢查分區(qū)表是否正確以及判別哪個分區(qū)為可引導(dǎo)分區(qū),并在程序結(jié)束時把該分區(qū)的啟動程序(也就是操作系統(tǒng)引導(dǎo)扇區(qū))調(diào)入內(nèi)存加以執(zhí)行。
2、分區(qū)表(DPT)
在主引導(dǎo)區(qū)中,從地址BE開始,到FD結(jié)束為止的64個字節(jié)中的內(nèi)容就是通常所說的分區(qū)表。分區(qū)表以80H或00H為開始標(biāo)志,以55AAH為結(jié)束標(biāo)志,每個分區(qū)占用16個字節(jié),一個硬盤最多只能分成四個主分區(qū),其中擴(kuò)展分區(qū)也是一個主分區(qū)。隨著硬盤容量的迅速擴(kuò)大,引入的擴(kuò)展分區(qū)可以不受四個主分區(qū)的限制,把硬盤分區(qū)數(shù)擴(kuò)展到"Z"。
值得一提的是,MBR是由分區(qū)程序(例如DOS的Fdisk.exe)產(chǎn)生的,不同的操作系統(tǒng)可能這個扇區(qū)的內(nèi)容代碼是不相同,但是實現(xiàn)的功能只有一個,使其中的一個活動分區(qū)獲得控制區(qū),正常啟動系統(tǒng)。
主分區(qū)是一個比較單純的分區(qū),通常位于硬盤的最前面一塊區(qū)域中,構(gòu)成邏輯C磁盤。在主分區(qū)中,不允許再建立其它邏輯磁盤。也可以通過分區(qū)軟件,在分區(qū)的最后建立主分區(qū),或在磁盤的中部建立主分區(qū)。
擴(kuò)展分區(qū)的概念則比較復(fù)雜,也是造成分區(qū)和邏輯磁盤混淆的主要原因。由于硬盤僅僅為分區(qū)表保留了64個字節(jié)的存儲空間,而每個分區(qū)的參數(shù)占據(jù)16個字節(jié),故主引導(dǎo)扇區(qū)中總計可以存儲4個分區(qū)的數(shù)據(jù)。操作系統(tǒng)只允許存儲4個分區(qū)的數(shù)據(jù),如果說邏輯磁盤就是分區(qū),則系統(tǒng)最多只允許4個邏輯磁盤。對于具體的應(yīng)用,4個邏輯磁盤往往不能滿足實際需求。為了建立更多的邏輯磁盤供操作系統(tǒng)使用,系統(tǒng)引入了擴(kuò)展分區(qū)的概念。
所謂擴(kuò)展分區(qū),嚴(yán)格地講它不是一個實際意義的分區(qū),它僅僅是一個指向下一個分區(qū)的指針,這種指針結(jié)構(gòu)將形成一個單向鏈表。這樣在主引導(dǎo)扇區(qū)中除了主分區(qū)外,僅需要存儲一個被稱為擴(kuò)展分區(qū)的分區(qū)數(shù)據(jù),通過這個擴(kuò)展分區(qū)的數(shù)據(jù)可以找到下一個分區(qū)(實際上也就是下一個邏輯磁盤)的起始位置,以此起始位置類推可以找到所有的分區(qū)。無論系統(tǒng)中建立多少個邏輯磁盤,在主引導(dǎo)扇區(qū)中通過一個擴(kuò)展分區(qū)的參數(shù)就可以逐個找到每一個邏輯磁盤。
需要特別注意的是,由于主分區(qū)之后的各個分區(qū)是通過一種單向鏈表的結(jié)構(gòu)來實現(xiàn)鏈接的,因此,若單向鏈表發(fā)生問題,將導(dǎo)致邏輯磁盤的丟失。這就是當(dāng)硬盤被CIH病毒破壞后,我們可以通過KV3000的F10功能來找到丟失的D,E及以后的邏輯分區(qū)的原因。
3、操作系統(tǒng)引導(dǎo)扇區(qū)(OBR)
OBR(OS Boot
Record)即操作系統(tǒng)引導(dǎo)扇區(qū),通常位于硬盤的0磁道1柱面1扇區(qū)(這是對于DOS來說的,對于那些以多重引導(dǎo)方式啟動的系統(tǒng)則位于相應(yīng)的主分區(qū)/
擴(kuò)展分區(qū)的第一個扇區(qū)),是操作系統(tǒng)可直接訪問的第一個扇區(qū),它也包括一個引導(dǎo)程序和一個被稱為BPB(BIOS
Parameter
Block)的本分區(qū)參數(shù)記錄表。其實每個邏輯分區(qū)都有一個OBR,其參數(shù)視分區(qū)的大小、操作系統(tǒng)的類別而有所不同。
引導(dǎo)程序的主要任務(wù)在當(dāng)根目錄中尋找系統(tǒng)文件IO.SYS,MSDOS.SYS和WINBOOT.SYS三個文件,如果存在,就把IO.SYS文件讀入內(nèi)存,并移交控制權(quán)予該文件。在WIN98的系統(tǒng)中,沒有MSDOS.sys文件,系統(tǒng)能夠正常啟動,但是無法進(jìn)入桌面;如果沒有 COMMAND.COM 文件,能夠正常啟動到桌面,但是無法進(jìn)入DOS字符方式。
BPB參數(shù)塊:記錄著本分區(qū)的起始扇區(qū)、結(jié)束扇區(qū)、文件存儲格式、硬盤介質(zhì)描述符、根目錄大小、FAT個數(shù)、分配單元(Allocation
Unit,以前也稱之為簇)的大小等重要參數(shù)。OBR由高級格式化程序產(chǎn)生(例如DOS
的Format.com)。
4、文件分配表(FAT)
FAT(File Allocation
Table)即文件分配表,是DOS/Win9x系統(tǒng)的文件尋址系統(tǒng)。為了防止意外損壞,F(xiàn)AT一般做兩個(也可以設(shè)置為一個),第二FAT為第一FAT的備份,F(xiàn)AT區(qū)緊接在OBR之后(對于FAT32格式,位置是從引導(dǎo)扇區(qū)開始的第32個扇區(qū)就是第一個FAT表的位置),其大小由這個分區(qū)的空間大小及文件分配單元的大小決定。
隨著硬盤容量的迅速發(fā)展,Microsoft
的DOS及Windows也先后采用我們所熟悉的FAT12、FAT16和FAT32格式。不過Windows
NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式,不同于FAT文件格式。
FAT12是使用12BIT來表示簇的位置,最大容量32M,F(xiàn)AT16是使用兩個字節(jié)16BIT位來表示簇的位置,分區(qū)最大容量2G,而FAT32采用4個字節(jié)來表示簇的位置,分區(qū)最大容量65G。
5、目錄區(qū)(DIR)
DIR是Directory即根目錄區(qū)的簡寫,在FAT12和FAT16格式中,DIR緊接在第二FAT表之后,而在FAT32格式中,根目錄區(qū)的位置可以在分區(qū)中的任意位置,其起始位置是由引導(dǎo)扇區(qū)給出的。單有FAT表還不能確定文件在磁盤中的具體位置,只有FAT表和DIR區(qū)配合使用,才能準(zhǔn)確定位文件的確切位置。
DIR記錄著每個文件(目錄)的文件名,擴(kuò)展名,是否支持長文件各,起始單元(這是最重要的)、文件的屬性,大小,創(chuàng)建日期,修改日期等住處內(nèi)容。操作系統(tǒng)在讀寫文件時,根據(jù)DIR中的起始單元,結(jié)合FAT表就可以知道文件在磁盤的具體位置,然后順序讀取每個簇的內(nèi)容就可以了。
6、數(shù)據(jù)區(qū)(DATA)
在DIR區(qū)之后,才是真正意義上的數(shù)據(jù)存儲區(qū),即DATA區(qū)。
DATA雖然占據(jù)了硬盤的絕大部分空間,但沒有了前面的各部分,它對于我們來說,也只能是一些枯燥的二進(jìn)制代碼,沒有任何意義。
注意:我們通常所說的格式化程序(指高級格式化,例如DOS下的Format程序),并沒有把DATA區(qū)的數(shù)據(jù)清除,只是重寫了FAT表而已,除非你使用了"Format
X: /U"命令,強(qiáng)制對每一扇區(qū)寫"F6"。
至于硬盤分區(qū),也只是修改了MBR和OBR,絕大部分的DATA區(qū)的數(shù)據(jù)并沒有被改變,這也是許多硬盤數(shù)據(jù)能夠得以修復(fù)的原因。但即便如此,MBR,OBR,F(xiàn)AT,DIR之一被破壞的話,我們的數(shù)據(jù)也無法正常讀取。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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