Grub 位置 - 它去了 mbr 還是其他地方?

Grub 位置 - 它去了 mbr 還是其他地方?

我有一個 Linux 和 Windows 7 的雙重引導設置,並以 Grub 作為引導程式。

我的分區表如下所示:

100 MB System Reserved Windows 7
500 GB Windows 7
100 MB /boot - ext2
500 GB linux, swap, etc.

我很好奇在我完成此設定後 GRUB 會在哪裡安裝。

我以為系統保留分割區是Windows 7的啟動分割區,但是如果Grub重寫它(我假設在主啟動記錄上),看起來Windows 7將無法運作。

Grub 將自身安裝在哪裡並且仍然能夠同時指向 Windows 和 Linux?這取決於你如何設定分割區嗎?

答案1

當Windows自行安裝時,它會在主引導記錄中放置一個引導程式(NT到XP中為NTLDR;之後為winboot),該記錄會boot.ini向您顯示引導清單。一旦您從該清單中選擇了某些內容,引導程式的工作就完成了,並且相應的核心將從磁碟機上的實際分割區啟動。

Grub 也做同樣的事情;引導程式僅用於顯示grub.conf/menu.lst列表,一旦您選擇了某些內容,它就會將控制權轉移到常規分區。因此,grub 將覆蓋 MBR 中的 NTLDR/winboot,但不會覆寫普通分割區中的任何內容,如果您從啟動清單中選擇 Windows,它知道如何將控制權轉移到 Windows 分割區

答案2

Grub 會將其安裝到磁碟機的主引導記錄中。重要的是要認識到主引導記錄是分割磁碟機的第一個磁區,而不是分割區本身。看維基百科了解更多信息

有了這些信息,Grub 基本上會覆蓋 Windows 7 安裝的 MBR 信息,但不會觸及 Windows 7 創建的“系統保留分區”(除非您要求它這樣做)。新的 MBR 只會告訴您的系統載入 GRUB,然後 GRUB 將確保已載入正確的作業系統。這使您可以輕鬆地在作業系統之間切換。

答案3

我唯一一次將 GRUB 安裝到 MBR 以外的位置是在 Mac 上 - 整個雙重開機問題在那裡變得相當複雜。一般情況下,GRUB 將被安裝到 MBR,覆蓋 NTLDR,並允許您啟動 Linux 或 Windows。

答案4

這裡有一些令人困惑的東西。首先你需要知道,磁碟分割時,每個片中都有一個「分割區開機記錄」(片=主分割區)。當您格式化磁碟時,第一個磁區稱為「開機磁區」。引導磁區從標記為可引導的分割區載入並執行。

GRUB 在該區域中只有 512 字節,稱為 stage1。 Stage 1 僅載入 stage2(或1.5),這是載入 menu.lst 檔案和其他模組的檔案。

由於 Stage1.5(或 Stage2)從少量程式碼載入 menu.lst,它是特定於檔案系統的(需要能夠在 FS 中找到 /boot/menu.lst)。

看一看這裡閱讀更多內容。

簡而言之:Stage1 在 MBR 中,但 GRUB 不僅僅是 stage1,除了 Stage1 之外的所有內容都在 /boot 中。

相關內容