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

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