在linux中,MBR是指主開機記錄,位於硬碟的0磁軌、0柱面、1磁區中,主要記錄了啟動載入程式和磁碟的分割區表。MBR中最主要的功能就是儲存啟動載入程式,而啟動載入程式最主要的作用就是載入作業系統的核心。
本教學操作環境:linux7.3系統、Dell G3電腦。
linux MBR(主引導目錄)
MBR 是英文Master Boot Record的縮寫,中文意為主開機記錄。
位於硬碟的 0 磁軌、0 柱面、1 磁區中,主要記錄了啟動載入程式和磁碟的分割區表。我們通過圖 1 來看看 MBR 的結構。
圖 1 MBR的結構
MBR是以下三個部分組成
1、Bootloader,主載入程式(446個位元組)
2、Dpt(Disk Partition table),硬碟分割區表(64個位元組)
3、磁區結尾標誌(55aa)(個位元組)
MBR 共佔用了一個磁區,也就是 512 Byte。其中 446 Byte 安裝了啟動載入程式,其後 64 Byte 描述分割區表,最後的 2 Byte 是結束標記。我們已經知道,每塊硬碟只能劃分 4 個主分割區,原因就是在 MBR 中描述分割區表的空間只有 64 Byte。其中每個分割區必須佔用 16 Byte,那麼 64 Byte 就只能劃分 4 個主分割區。每個分割區的 16 位元組的規劃如表 2 所示。
儲存位元組 | 資料內容及含義 |
---|---|
第 1 位元組 | 引導標誌 |
第 2 位元組 | 本分割區的起始磁軌號 |
第 3 位元組 | 本分割區的起始磁區號 |
第 4 位元組 | 本分割區的起始柱面號 |
第 5 位元組 | 分割區型別,可以識別主分割區和擴充套件分割區 |
第 6 位元組 | 本分割區的結束磁軌號 |
第 7 位元組 | 本分割區的結束磁區號 |
第 8 位元組 | 本分割區的結束柱面號 |
第 9~12 位元組 | 本分割區之前已經佔用的磁區數 |
第 13~16 位元組 | 本分割區的總磁區數 |
大家注意到了吧,MBR 中最主要的功能就是儲存啟動載入程式。
BIOS 的作用就是自檢,然後從 MBR 中讀取出啟動載入程式。那麼,啟動載入程式最主要的作用就是載入作業系統的核心。當然,每種作業系統的啟動載入程式都是不同的。
每種作業系統的檔案格式不同,因此,每種作業系統的啟動載入程式也不一樣。不同的作業系統只有使用自己的啟動載入程式才能載入自己的核心。如果我的伺服器上只安裝了一個作業系統,那麼這個作業系統的啟動載入程式就會安裝在 MBR 中。BIOS 呼叫 MBR 時讀取出啟動載入程式,就可以載入核心了。
但是在有些時候,我的伺服器中安裝了多個作業系統,而 MBR 只有一 個,那麼在 MBR 中到底安裝哪個作業系統的啟動載入程式呢?
很明顯,一個 MBR 是不夠用的。每塊硬碟只能有一個 MBR 是不能更改的,所以不可能増加 MBR 的數量。系統只能在每個檔案系統(可以看成分割區)中單獨劃分出一個磁區,稱作引導磁區(Boot Sector)。每個分割區的引導磁區中也能安裝啟動載入程式,也就是說,在 MBR 和每個單獨分割區的引導磁區中都可以安裝啟動載入程式。這樣多個作業系統才能安裝在同一臺伺服器中(每個作業系統要安裝在不同的分割區中),而且每個作業系統都是可以啟動的。
還有一個問題,BIOS 只能找到 MBR 中的啟動載入程式,而找不到在分割區的引導磁區中的啟動載入程式。那麼,要想完成多系統啟動,我們的方法是増加啟動載入程式的功能,讓安裝到 MBR 中的啟動載入程式(GRUB)可以呼叫在分割區的引導磁區中的其他啟動載入程式。
因此,啟動載入程式擁有以下功能:
載入作業系統的核心。這是啟動載入程式最主要的功能。
擁有一個可以讓使用者選擇的選單,來選擇到底啟動哪個系統。大家如果在伺服器上安裝過雙 Windows 系統,就應該見過類似的選擇選單,不過這個選擇選單是由 Windows 的啟動載入程式提供的,而不是 GRUB。
可以呼叫其他的啟動載入程式,這是多系統啟動的關鍵。不過需要注意的是,Windows 的啟動載入程式不能呼叫 Linux 的啟動載入程式,所以我們一般建議先安裝 Windows,後安裝 Linux,是為了將 Linux 的啟動載入程式安裝到 MBR 中,覆蓋 Windows 的啟動載入程式。
當然,這個安裝順序不是絕對的,就算最後安裝了 Windows,我們也可以通過手工再安裝 GRUB 的方法,來保證 MBR 中安裝的還是 Linux 的啟動載入程式。
下圖為我們展示了啟動載入程式的作用。
圖 2 啟動載入程式的作用
相關推薦:《Linux視訊教學》
以上就是linux MBR是什麼的詳細內容,更多請關注TW511.COM其它相關文章!