一開始聽到MBR這個詞的時候,真的非常困惑,而且也搞不懂這是在做什麼用的。
直到最近,要開始教別人的時候,才逐漸了解到MBR的用處。在此也分享我對MBR的認識。
先簡單介紹電腦的開機流程:
按下電源 → 讀取BIOS (檢測硬體) → 讀取硬碟的MBR → 載入開機磁區(含開機管理程式) → 執行作業系統
在開啟電腦時,電腦會先載入BIOS,在透過BIOS去載入儲存在CMOS的資料,在CMOS中通常會儲存CPU與週邊硬體溝通的時脈、硬碟的大小、系統時間、開機順序等,BIOS藉由儲存在CMOS的資料可以偵測週邊的硬體,再由所設定的開機裝置順序來讀取資料,假如是設定由硬碟先開機,接著讀取硬碟最先讀取到的就是MBR(Master Boot Record),因為MBR儲存在硬碟的第0面、第0軌、第1磁區,在硬碟中佔了512 bytes來儲存資訊。
MBR又可分為三個部分:
- 開機程式區(446 bytes):儲存開機管理程式 (Boot Partition loader)的地方
藉由存放在這裡的開機管理程式去讀取在安裝了不同作業系統每的分割區上的開機磁區(Boot sector),在每個boot sector中又存放了作業系統開機管理員(Boot loader),藉由這個開機管理員可以載入到在此分割區上作業系統的核心。
- 資料區(64 bytes):紀錄硬碟分割狀況
在這個地方,會紀錄每個分割區的開始與結束的地址,因為受到64 bytes的限制,所以一個硬碟最多只能分割成四個主分割槽(Primary Partition),當分割成四個partition後,每個分割槽的位址以16 bytes,如要使用超過四個partition就可以拿一個partition來做成延伸分割區,在這裡也會有磁區來紀錄延伸分割區的分割表,從延伸分割區所切出來的分割槽稱為邏輯分割區(Logical Partition)。
- 驗證區(2 bytes): 來驗證MBR的磁區,是紀錄MBR磁區的位址
是去驗證且紀錄MBR的起始地址與結束地址。
發佈留言