在linux中,MBR的作用是存儲啟動引導(dǎo)程序。而啟動引導(dǎo)程序的功能為:1、加載操作系統(tǒng)的內(nèi)核;2、擁有一個可以讓用戶選擇的菜單,來選擇到底啟動哪個系統(tǒng);3、調(diào)用其他的啟動引導(dǎo)程序,這是多系統(tǒng)啟動的關(guān)鍵。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux MBR是什么?有什么用?
MBR 是英文Master Boot Record的縮寫,中文意為主引導(dǎo)記錄。硬盤的0磁道的第一個扇區(qū)稱為MBR,它的大小是512字節(jié),而這個區(qū)域可以分為3個部分。
-
第一部分為pre- boot區(qū)(預(yù)啟動區(qū)),占446字節(jié);
-
第二部分是Partition table區(qū)(分區(qū)表),占64個字節(jié),該區(qū)相當(dāng)于一個小程序,作用是判斷哪個分區(qū)被標(biāo)記為活動分區(qū),然后去讀取那個分區(qū)的啟動區(qū),并運行該區(qū)中的代碼;
-
第三部分是扇區(qū)結(jié)尾標(biāo)志,占2個字節(jié)。
MBR 中最主要的功能就是存儲啟動引導(dǎo)程序。
啟動引導(dǎo)程序的作用
BIOS 的作用就是自檢,然后從 MBR 中讀取出啟動引導(dǎo)程序。那么,啟動引導(dǎo)程序最主要的作用就是加載操作系統(tǒng)的內(nèi)核。當(dāng)然,每種操作系統(tǒng)的啟動引導(dǎo)程序都是不同的。
每種操作系統(tǒng)的文件格式不同,因此,每種操作系統(tǒng)的啟動引導(dǎo)程序也不一樣。不同的操作系統(tǒng)只有使用自己的啟動引導(dǎo)程序才能加載自己的內(nèi)核。如果我的服務(wù)器上只安裝了一個操作系統(tǒng),那么這個操作系統(tǒng)的啟動引導(dǎo)程序就會安裝在 MBR 中。BIOS 調(diào)用 MBR 時讀取出啟動引導(dǎo)程序,就可以加載內(nèi)核了。
但是在有些時候,我的服務(wù)器中安裝了多個操作系統(tǒng),而 MBR 只有一 個,那么在 MBR 中到底安裝哪個操作系統(tǒng)的啟動引導(dǎo)程序呢?
很明顯,一個 MBR 是不夠用的。每塊硬盤只能有一個 MBR 是不能更改的,所以不可能増加 MBR 的數(shù)量。系統(tǒng)只能在每個文件系統(tǒng)(可以看成分區(qū))中單獨劃分出一個扇區(qū),稱作引導(dǎo)扇區(qū)(Boot Sector)。每個分區(qū)的引導(dǎo)扇區(qū)中也能安裝啟動引導(dǎo)程序,也就是說,在 MBR 和每個單獨分區(qū)的引導(dǎo)扇區(qū)中都可以安裝啟動引導(dǎo)程序。這樣多個操作系統(tǒng)才能安裝在同一臺服務(wù)器中(每個操作系統(tǒng)要安裝在不同的分區(qū)中),而且每個操作系統(tǒng)都是可以啟動的。
還有一個問題,BIOS 只能找到 MBR 中的啟動引導(dǎo)程序,而找不到在分區(qū)的引導(dǎo)扇區(qū)中的啟動引導(dǎo)程序。那么,要想完成多系統(tǒng)啟動,我們的方法是増加啟動引導(dǎo)程序的功能,讓安裝到 MBR 中的啟動引導(dǎo)程序(GRUB)可以調(diào)用在分區(qū)的引導(dǎo)扇區(qū)中的其他啟動引導(dǎo)程序。
因此,啟動引導(dǎo)程序擁有以下功能:
-
加載操作系統(tǒng)的內(nèi)核。這是啟動引導(dǎo)程序最主要的功能。
-
擁有一個可以讓用戶選擇的菜單,來選擇到底啟動哪個系統(tǒng)。大家如果在服務(wù)器上安裝過雙 Windows 系統(tǒng),就應(yīng)該見過類似的選擇菜單,不過這個選擇菜單是由 Windows 的啟動引導(dǎo)程序提供的,而不是 GRUB。
-
可以調(diào)用其他的啟動引導(dǎo)程序,這是多系統(tǒng)啟動的關(guān)鍵。不過需要注意的是,Windows 的啟動引導(dǎo)程序不能調(diào)用 Linux 的啟動引導(dǎo)程序,所以我們一般建議先安裝 Windows,后安裝 Linux,是為了將 Linux 的啟動引導(dǎo)程序安裝到 MBR 中,覆蓋 Windows 的啟動引導(dǎo)程序。
當(dāng)然,這個安裝順序不是絕對的,就算最后安裝了 Windows,我們也可以通過手工再安裝 GRUB 的方法,來保證 MBR 中安裝的還是 Linux 的啟動引導(dǎo)程序。
下圖為我們展示了啟動引導(dǎo)程序的作用。
啟動引導(dǎo)程序的作用