分區引導記錄

分區引導記錄

BootBoot Boot

正文


分區引導記錄

操作系統的引導過程的一個環節,系統啟動時順序 BIOS -> MBR -> DPT -> PBR-> 尋找根目錄下 NTLDR(XP)/bootmgr(WIN7/Vista)/grldr(Grub)/btldr.mbr(BootLink) 等可用於引導的程序。分區的PBR (Partition Boot Record)可以載入該分區的io.sys (dos / win9x) 或 ntldr(win2000 xp 2003) 或 bootmgr (vista / win2008 / win7) 。

PBR (Partition Boot Record)

PBR是各個分區自己的引導記錄,又稱分區引導記錄,它是由FORMAT高級格式化命令寫在各個分區開始處第一個扇區(比如說:主分區C:從1磁頭0柱面1扇區=邏輯1扇區=絕對63扇區)開始,那麼C:區邏輯1扇區就是PBR所存放的位置)的一段數據。這段數據主要由以下幾個部分組成:1.佔3個位元組的跳轉指令;2.佔8個位元組的操作系統廠商標識及版本號;3. 佔19個位元組的分區參數表(又稱BPB),裡面存放著對該分區進行讀寫操作時所必備的參數(如該分區內每扇區所包含的位元組數、每簇扇區數、每個磁軌的扇區數、該分區FAT份數等);4.佔480個位元組的DOS引導代碼,它負責把DOS引導文件IO.SYS、MSDOS.SYS裝入內存;5.佔2個位元組的結束標誌字; 以上5個部分也正好佔1個扇區 512位元組,位於每個非擴展主分區及每個邏輯分區的第一個扇區;可存放小段程序。和MBR有所不同的是:PBR扇區後面一般就緊接著存放該分區的FAT。硬碟的第一(lba 0)扇區後面空白若干扇區不用(xp默認留62扇區,vista和win7默認留1M),然後才是各個分區。我們知道硬碟MBR負責總管硬碟分區,只有分區工具才能對它進行讀寫;而PBR則負責管理某個具體的分區,它是用操作系統的高級格式化命令來寫入硬碟的。在系統啟動時,最先讀取的硬碟信息是MBR,然後由MBR內的主引導程序讀出PBR,最後才由PBR內的DOS引導代碼讀取操作系統的引導程序,其中任何一個環節出了問題,操作系統都無法正常啟動成功,如果是MBR部分出了問題,即使只是"55AA"標誌字丟失或被改為其他值,通常都會出現"無效分區表"、邏輯盤丟失、啟動死機等現象;而如果是PBR部分出了問題,通常會出現"未格式化的分區"的錯誤提示。

DBR

DOS引導記錄(DOS Boot Record)應稱為OBR(OS Boot Record),意思是活動分區的PBR,即操作系統引導記錄。活動分區(ActivePartition):可將所有主分區和邏輯分區中的一個標識為Active,表示系統啟動時即載入運行其PBR程序的分區。一般單操作系統啟動過程
BIOS載入並啟動保存在硬碟MBR中的引導程序,該引導程序一般在操作系統安裝時寫入
MBR引導程序掃描所有分區表,找出活動分區(MBR程序只會在MBR中的分區表中查找活動分區,即Windows只能安裝在主分區;Linux無此限制)
MBR引導程序載入並啟動保存在活動分區PBR中的引導程序
活動分區PBR中的引導程序載入並啟動安裝在其上的操作系統(例如對Win98,定位並執行io.sys;對WinXP,定位並執行 ntoskrnl.exe;對於Linux,定位並執行vmlinuz-xxx內核映像)。顯然PBR引導程序與操作系統密切相關,一般在操作系統安裝時寫入。