主引導記錄MBR/硬盤分區表DPT/主分區、擴展分區和邏輯分區/電腦啟動過程


主引導扇區
主引導扇區位於整個硬盤的0柱面0磁頭1扇區{(柱面,磁頭,扇區)|(0,0,1)},bios在執行自己固有的程序以后就會jump到MBR中的第一 條指令。將系統的控制權交由mbr來執行。主引導扇區主要由三部分組成:主引導記錄 MBR(Master Boot Record或者Main Boot Record)、硬盤分區表 DPT(Disk Partition Table)和結束標志字三大部分組成。

img9_ph_2779002445081433059

對於硬盤而言,一個扇區可能的字節數為128×2n (n=0,1,2,3)。大多情況下,取n=2,即一個扇區(sector)的大小為512字節。在總共512byte的主引導記錄中,MBR的引導程序 占了其中的前446個字節(偏移0H~偏移1BDH),隨后的64個字節(偏移1BEH~偏移1FDH)為DPT(Disk PartitionTable,硬盤分區表),最后的兩個字節“55 AA”(偏移1FEH~偏移1FFH)是分區有效結束標志。

主引導記錄MBR(master boot record)
主引導記錄中包含了硬盤的一系列參數和一段引導程序。其中的硬盤引導程序的主要作用是檢查分區表是否正確並且在系統硬件完成自檢以后引導具有激活標志的分 區上的操作系統,並將控制權交給啟動程序。MBR是由分區程序(如Fdisk)所產生的,它不依賴任何操作系統,而且硬盤引導程序也是可以改變的,從而能 夠實現多系統引導。

硬盤分區表DPT(Disk Partition Table)
硬盤分區表占據MBR扇區的64個字節(偏移01BEH--偏移01FDH),可以對四個分區的信息進行描述,其中每個分區的信息占據16個字節。具體每個字節的定義可以參見硬盤分區結構信息。

 

img0_ph_2528771190785661400

 

結束標志字
結束標志字55,AA(偏移1FEH- 偏移1FFH)是MBR扇區的最后兩個字節,是檢驗主引導記錄是否有效的標志。

電腦啟動過程

  • 系統開機或者重啟。
  • BIOS 加電自檢 ( Power On Self Test -- POST )。BIOS執行內存地址為 FFFF:0000H 處的跳轉指令,跳轉到固化在ROM中的自檢程序處,對系統硬件(包括內存)進行檢查。
  • 讀取主引導記錄(MBR)扇區。當BIOS檢查到硬件正常並與 CMOS 中的設置相符后,按照 CMOS 中對啟動設備的設置順序檢測可用的啟動設備。BIOS將相應啟動設備的第一個扇區(也就是MBR扇區)讀入內存地址為0000:7C00H 處。
  • 檢查0000:7DFEH-0000:7DFFH(MBR的結束標志位)是否等於 AA55H,若不等於則轉去嘗試其他啟動設備,如果沒有啟動設備滿足要求則顯示"NO ROM BASIC"然后死機。
  • 當檢測到有啟動設備滿足要求后,BIOS將控制權交給相應啟動設備。啟動設備的MBR將自己復制到0000:0600H處, 然后繼續執行。
  • 在主分區表中搜索標志為活動的分區,也就是檢驗磁盤分區表DPT的首字節是不是80H。如果檢測到80H,則表示該分區為活動分區,將該活動分區的第一個扇區(操作系統引導記錄區,Dos Boot Recorder,DBR)讀入內存地址 0000:7C00H 處。
  • 檢查0000:7DFEH-0000:7DFFH(DBR的結束標志位)是否等於 AA55H, 若不等於則顯示 : "Missing Operating System" 然后停止。
  • 當檢測到有分區滿足要求后,MBR將控制權交給相應的活動分區。

for short:
BIOS -> 硬盤MBR -> 活動分區DBR -> 操作系統

主引導扇區與硬盤分區

從主引導扇區的結構可以知道,它僅僅包含一個64個字節的硬盤分區表。由於每個分區信息需要16個字節,所以對於采用MBR型分區結構的硬盤(其磁盤卷標 類型為MS-DOS),最多只能識別4個主要分區。所以對於一個采用此種分區結構的硬盤來說,想要得到4個以上的主要分區是不可能的。這里就需要引出擴展 分區了。擴展分區也是Primary partition的一種,但它與主分區的不同在於可以划分為無數個邏輯分區。

擴展分區中邏輯驅動器的引導記錄是鏈式的。每一個邏輯分區都有一個和MBR的分區表結構類似的擴展引導記錄(EBR),其分區表的第一項指向該邏輯分區本 身的引導扇區,第二項指向下一個邏輯驅動器的EBR。對於Windows系統而言,一般都是只划分一個主分區給系統,剩余的部分全部划為擴展分區。

img0_ph_1010495166408382760
藍色是主分區;綠、紅、紫是邏輯分區;灰色包含着邏輯分區是擴展分區;

 

 

img2_ph_3100446868485005612

 

 

 

 

 

 

 擴展分區表項的內容

擴展分區表項 分區表項的內容
第一個項 包括數據的開始地址在內的與擴展分區中當前邏輯驅動器有關的信息
第二個項 有關擴展分區中的下一個邏輯驅動器的信息,包括包含下一個邏輯驅動器的EBR的扇區的地址。如果不存在進一步的邏輯驅動器的話,該字段不會被使用
第三個項 未用
第四個項 未用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM