硬盤重要扇區(qū)詳解.docx_第1頁
硬盤重要扇區(qū)詳解.docx_第2頁
硬盤重要扇區(qū)詳解.docx_第3頁
硬盤重要扇區(qū)詳解.docx_第4頁
硬盤重要扇區(qū)詳解.docx_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

硬盤重要扇區(qū)詳解硬盤主引導扇區(qū)、分區(qū)表和分區(qū)引導扇區(qū)(MBR、DPT、DBR、BPB)詳解!硬盤的0柱面、0磁頭、1扇區(qū)稱為主引導扇區(qū)(也叫主引導記錄MBR),該記錄占用512個字節(jié),它用于硬盤啟動時將控制權轉給指定的、在分區(qū)表中登記了某個操作系統(tǒng)分區(qū)。MBR的內容是在硬盤分區(qū)時由分區(qū)(如FDISK)寫入該扇區(qū)的,MBR不屬于任何一個操作系統(tǒng),不隨操作系統(tǒng)的不同而不同,即使不同,MBR也不會夾帶操作系統(tǒng)的性質,具有公共引導的特性。但安裝某些多重引導功能的軟件或LINUX的LILO時有可能改寫它;它先于所有的操作系統(tǒng)被調入并發(fā)揮作用,然后才將控制權交給活動主分區(qū)內的操作系統(tǒng)(圖一)。MBR由三部分構成:1主引導,占446字節(jié)2硬盤分區(qū)表DPT,占64字節(jié)3主引導扇區(qū)結束標志AA55H 一、硬盤的主引導程序代碼是從偏移0000H開始到偏移01BDH結束的446字節(jié);主引導程序代碼包括一小段執(zhí)行代碼。啟動PC 機時,系統(tǒng)首先對硬件設備進行測試,成功后進入自舉程序INT 19H;然后讀系統(tǒng)磁盤0柱面、0磁頭、1扇區(qū)的主引導扇區(qū)MBR的內容到內存指定單元0:7C00 首開始的區(qū)域,并執(zhí)行MBR程序段。主引導代碼實現(xiàn)下列功能:1掃描分區(qū)表查找活動分區(qū);2尋找活動分區(qū)的起始扇區(qū);3將活動分區(qū)的引導扇區(qū)讀到內存;4執(zhí)行引導扇區(qū)的運行代碼。如果主引導代碼未完成這些功能,系統(tǒng)顯示下列錯誤信息:Invalid partition tableError loading operating systemMissing operating system二、硬盤分區(qū)表DPT是從偏移01BEH開始到偏移01FDH結束的64字節(jié)(圖二);硬盤分區(qū)表分為四小部分,每一小部分表示一個分區(qū)的信息,占16字節(jié)。在這里我們可以看出,硬盤的總分區(qū)數(shù)為什么不能大于4。其中可激活分區(qū)數(shù)不得大于3,擴展分區(qū)數(shù)不得大于1,當前活動分區(qū)數(shù)必須小于等于1。分區(qū)表的每一分區(qū)的第0個字節(jié)是自舉標志,其值為80H時,表示該分區(qū)是當前活動分區(qū),可引導,其值為00H時,表示該分區(qū)不可引導。第4字節(jié)是分區(qū)類型(圖三)。每一分區(qū)的第1至第3字節(jié)是該分區(qū)起始地址。其中第1字節(jié)為起始磁頭號(面號);第2字節(jié)的低6位為起始扇區(qū)號,高2位則為起始柱面號的高2位;第3字節(jié)為起始柱面號的低8位。因此,分區(qū)的起始柱面號是用10位二進制數(shù)表示的,最大值為210 = 1024,因邏輯柱面號從0開始計,故柱面號的顯示最大值為1023。同理,用6位二進制數(shù)表示的扇區(qū)號不會超過26 - 1 = 63;用8位二進制數(shù)表示的磁頭號不會超過28 - 1 = 255。每一分區(qū)的第5至第7字節(jié)表示分區(qū)的終止地址,各字節(jié)的釋義與第1至第3字節(jié)相同。這里我們假設一種極端的情況:如果讓第5至第7字節(jié)的所有二進制位都取1,就獲得了柱面號、磁頭號和扇區(qū)號所能表示的最大值,從而得到最大絕對扇區(qū)號為:1024 256 63 = 16,515,072這個扇區(qū)之前的所有物理扇區(qū)所包含的字節(jié)數(shù)為:16,515,072 512Bytes 8.46109Bytes = 8.46GB。由此可知硬盤的容量設計為什么會有8.4GB這一檔,分區(qū)表每一分區(qū)的第1至第3字節(jié)以及第5至第7字節(jié)的結構已經不能滿足大于8.46GB的大容量硬盤的需要??紤]到向下兼容的需要,業(yè)界并未對從DOS時代就如此定義的硬盤分區(qū)表提出更改意見,否則改動所牽涉的面太廣,會造成硬件和軟件發(fā)展上的一個斷層,幾乎無法被業(yè)界和用戶所接受。硬盤廠商這一問題的方法是定義了新的INT 13擴展標準。新的INT 13服務擴展標準不再使用操作系統(tǒng)的寄存器傳遞硬盤的尋址參數(shù),而使用存儲在操作系統(tǒng)內存里的地址包。地址包里保存的是64位LBA地址,如果硬盤支持LBA尋址,就把低28位直接傳遞給ATA接口,如果不支持,操作系統(tǒng)就先把LBA地址轉換為CHS地址,再傳遞給ATA接口。通過這種方式,能實現(xiàn)在ATA總線基礎上CHS尋址的最大容量是136.9 GB,而LBA尋址的最大容量是137.4GB。新的硬盤傳輸規(guī)范ATA 133規(guī)范又把28位可用的寄存器提高到48位,從而支持更大的硬盤。分區(qū)表每一分區(qū)的第8至第11字節(jié)表示該分區(qū)的起始相對扇區(qū)數(shù)(即該扇區(qū)之前的絕對扇區(qū)個數(shù)),高位在右,低位在左;第12至第15字節(jié)表示該分區(qū)實際占用的扇區(qū)數(shù),也是高位在右,低位在左;分區(qū)表這類數(shù)據(jù)結構的表達方式與中數(shù)據(jù)的實際存儲方式在順序上是一致的,即低位在前,高位在后。因此,在從16進制向十進數(shù)值轉換時,需將字段中的16進制數(shù)以字節(jié)為單位翻轉調位,用4個字節(jié)可以表示最大232個扇區(qū),即2TB=2048GB。系統(tǒng)在分區(qū)時,各分區(qū)都不允許跨柱面,即均以柱面為單位,這就是通常所說的分區(qū)粒度。在未超過8.4GB的分區(qū)上,C/H/S的表示方法和扇區(qū)數(shù)的表示方法所表示的分區(qū)大小是一致的。超過8.4GB的/H/S/C一般填充為FEH/FFH/FFH,即C/H/S所能表示的最大值;有時候也會用柱面對1024的模來填充。不過這幾個字節(jié)是什么其實都無關緊要了。擴展分區(qū)中的每個邏輯器都存在一個類似于MBR的擴展引導記錄(Extended Boot Record,EBR)(圖四)。擴展引導記錄包括一個擴展分區(qū)表和扇區(qū)結束標志55AA。一個邏輯驅動器中的引導扇區(qū)一般位于相對扇區(qū)32或63。如果磁盤上沒有擴展分區(qū),那么就不會有擴展引導記錄和邏輯驅動器。第一個邏輯驅動器的擴展分區(qū)表中的第一項指向它自身的引導扇區(qū);第二項指向下一個邏輯驅動器的EBR,如果不存在進一步的邏輯驅動器,第二項就不會使用,而被記錄成一系列零。如果有附加的邏輯驅動器,那么第二個邏輯驅動器的擴展分區(qū)表的第一項會指向它本身的引導扇區(qū),第二個邏輯驅動器的擴展分區(qū)表的第二項指向下一個邏輯驅動器的EBR。擴展分區(qū)表的第三項和第四項永遠都不會被使用。擴展分區(qū)表項中的相對扇區(qū)數(shù)是從擴展分區(qū)開始的扇區(qū)到該邏輯驅動器中第一個扇區(qū)的扇區(qū)數(shù);占用的扇區(qū)數(shù)是指組成該邏輯驅動器的扇區(qū)數(shù)目。 有時候在磁盤的末尾會有剩余空間,由于分區(qū)是以1柱面的容量為分區(qū)粒度的,那么如果磁盤總空間不是整數(shù)個柱面的話,不夠一個柱面的剩下的空間就是剩余空間了,這部分空間并不參與分區(qū),所以一般無法利用。三、主引導扇區(qū)的最后兩個字節(jié)(偏移1FEH和偏移1FFH),其值為AA55H,它表示該扇區(qū)是個有效的引導扇區(qū),可用來引導硬磁盤系統(tǒng)。分區(qū)引導扇區(qū)DBR(DOS BOOT RECORD)是由FORMAT高級格式化寫到該扇區(qū)的內容;DBR是由硬盤的MBR裝載的程序段。DBR裝入內存后,即開始執(zhí)行該引導程序段,其主要功能是完成操作系統(tǒng)的自舉并將控制權交給操作系統(tǒng)。每個分區(qū)都有引導扇區(qū),但只有被設為活動分區(qū)的DBR才會被MBR裝入內存運行。DBR主要由下列幾個部分組成:1跳轉指令,占用3個字節(jié)的跳轉指令將跳轉至引導代碼。2廠商標識和DOS版本號,該部分總共占用8個字節(jié)。3BPB(BIOS Parameter Block, BIOS 參數(shù)塊)。4操作系統(tǒng)引導程序。5結束標志字,結束標志占用2個字節(jié),其值為AA55DBR中的內容除了第5部分結束標志字固定不變之外,其余4個部分都是不確定的,其內容將隨格式化所用的操作系統(tǒng)版本及硬盤的邏輯盤參數(shù)的變化而變化。一、FAT32的分區(qū)引導扇區(qū)為了使加載的操作更加靈活,加上FAT32文件系統(tǒng)采用活動的FDT表,同時考慮到引導程序的代碼量和為今后發(fā)展保留適當?shù)挠嗔浚現(xiàn)AT32文件系統(tǒng)分區(qū)引導扇區(qū)占據(jù)了6個扇區(qū),只有前3個扇區(qū)作為系統(tǒng)的分區(qū)引導扇區(qū),其余3個扇區(qū)保留暫未使用。分區(qū)引導扇區(qū)對于操作系統(tǒng)的啟動和磁盤文件的具有至關重要的作用;引導程序代碼的損壞將導致操作系統(tǒng)不能正常啟動,磁盤讀寫參數(shù)的破壞將造成存儲在磁盤上的文件不能正常讀寫。由于分區(qū)引導扇區(qū)的重要性,F(xiàn)AT32文件系統(tǒng)在在第一個分區(qū)引導扇區(qū)的6個扇區(qū)后的6個扇區(qū)里保留了分區(qū)引導扇區(qū)的備份,在啟動時操作系統(tǒng)可以對兩份引導扇區(qū)進行比較,以便選擇正確的引導扇區(qū)來引導系統(tǒng)。由于在磁盤正常工作過程中系統(tǒng)不再對引導扇區(qū)的程序和數(shù)據(jù)進行修改,因此備份的分區(qū)引導扇區(qū)損壞的可能性非常小。分區(qū)引導扇區(qū)的第一個扇區(qū)(圖六)的前三個字節(jié)是一條跳轉指令,然后是8個字節(jié)長的OEM ID(廠家標識)和版本號,其后是簡稱為BPB的BIOS參數(shù)塊(BIOS Parameter Block)。對于FAT32其各部分的意義如下表: 偏移地址長度(字節(jié))意義0BH2每個扇區(qū)的字節(jié)數(shù),常取512。0DH1每簇扇區(qū)數(shù);可以是1, 2, 4, 8, 16, 32, 64, 128,取決于文件系統(tǒng)格式及分區(qū)大小。0EH2為操作系統(tǒng)保留的扇區(qū)數(shù);FAT32時多為十進制的32,F(xiàn)AT16時為1,有的格式化可能將它設為36或63。10H1FAT表的個數(shù);常取2。11H2在FAT16中存放系統(tǒng)根目錄中允許登記的目錄項個數(shù),F(xiàn)AT32中用于標注系統(tǒng)采用的是否為FAT32文件系統(tǒng)。其值為0000H表示磁盤使用FAT32文件系統(tǒng)。13H2值為00H,為保持兼容性而保留,未使用。15H1磁盤介質標志,硬盤為F8。16H2未使用,值為00H。18H2每個磁道的扇區(qū)數(shù)。1AH2磁盤的磁頭數(shù)。1CH4分區(qū)前隱藏扇區(qū)的個數(shù)。20H4邏輯磁盤中的扇區(qū)總數(shù)。24H4每個FAT表所占的扇區(qū)數(shù)。28H2FAT表鏡像標志,值為0表示系統(tǒng)保存2份互為備份的FAT表,值為1表示系統(tǒng)僅保存1份FAT表。2AH2文件系統(tǒng)的主次版本(保留)。2CH4磁盤根目錄的起始簇號。30H2文件系統(tǒng)參數(shù)的扇區(qū)號,通常位于引導扇區(qū)的下一個扇區(qū)。32H2備份分區(qū)引導扇區(qū)的邏輯扇區(qū)號。34H12保留,未使用。40H1中斷13呼叫的預設值,指明訪問的設備;軟盤為00H,硬盤為80H。41H1用于中斷13呼叫。42H1磁盤讀寫參數(shù)擴展標志,其值為29H。43H4格式化時隨機產生的磁盤卷的序列號。47H11格式化時人工輸入的磁盤卷標號。52H8文件系統(tǒng)的標識號(FAT32)。從偏移0x5A開始的數(shù)據(jù)為操作系統(tǒng)引導代碼。這是由偏移0x00開始的跳轉指令所指向的,此段指令在不同的操作系統(tǒng)上和不同的引導方式上,其內容也是不同的。扇區(qū)的最后兩個字節(jié)存儲值為0x55AA的DBR有效標志,對于其他的取值,系統(tǒng)將不會執(zhí)行DBR相關指令。分區(qū)引導扇區(qū)的第2個扇區(qū)作為文件系統(tǒng)相關參數(shù)存儲標識扇區(qū)(圖七),除了保存扇區(qū)的標識信息(RraA(00H)和rrAa(1E4H)外,還可能在偏移地址1E8H處存儲了文件系統(tǒng)有關的信息。其中扇區(qū)偏移地址1E8H1EBH的4個字節(jié)存儲了邏輯磁盤中未使用的簇數(shù),通常用于快速計算邏輯磁盤的剩余空間(典型的操作是在資源器狀態(tài)欄上列出的可用磁盤空間參數(shù)),而1ECH1EFH 4個字節(jié)給出了邏輯盤中下一個可以分配給文件使用的空閑簇的簇號,這樣操作系統(tǒng)可以不訪問FAT表就直接獲得磁盤剩余空間和可以分配的簇號。分區(qū)引導扇區(qū)的第3個扇區(qū)則存儲了引導扇區(qū)的后一部分引導系統(tǒng)的程序代碼(圖八)。二、NTFS的分區(qū)引導扇區(qū)對于NTFS分區(qū)來說,分區(qū)引導扇區(qū)DBR只占用一個扇區(qū)(圖五),并且在該分區(qū)的最后一個扇區(qū)做了備份;NTFS的引導扇區(qū)也是完成引導和定義分區(qū)參數(shù),NTFS分區(qū)的引導扇區(qū)不是分區(qū)的充分條件,它要求必須MFT中的系統(tǒng)記錄如$MFT等正常該分區(qū)才能正常訪問。其BPB參數(shù)如下表所示: 偏移地址長度(字節(jié))常用值意義0x0B20x0002每扇區(qū)字節(jié)數(shù)0x0D10x08每簇扇區(qū)數(shù)0x0E20x0000保留扇區(qū)0x1030x000000總為00x1320x0000NTFS未使用,為00x1510xF8介質描述0x1620x0000總為00x18

溫馨提示

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

評論

0/150

提交評論