grub 安裝在哪裡,我需要一個新的來單獨安裝 linux 嗎?
目前我已經安裝並配置了帶有 grub 的 Arch 和 Windows。我將在單獨的分區上進行另一個 Arch 安裝。
我需要在新安裝的發行版上重新安裝和配置 grub 還是可以使用舊發行版?
我想如果我繼續使用舊的(從這個角度來看是目前的)grub,我必須再次配置它,以便它看到新的 Arch 安裝。
如果我格式化目前分區(使用舊的 Arch 安裝)會發生什麼?
grub 是否會繼續工作(即我需要啟動一些 live-cd 來修復它)?
總結一下:grub 是獨立於任何作業系統安裝在某個通用位置,還是與某些作業系統相關聯(我目前的 Arch 安裝)。
教程給出了這個命令:
grub-mkconfig -o /boot/grub/grub.cfg
這讓我認為 grub 與特定的 linux 安裝相關;但它們也顯示一個grub-install
命令而不指定任何目錄。如果 grub 綁定到目前安裝,我的電腦怎麼知道要檢查哪個分區來檢查 grub?否則,如果它是“通用的”,為什麼我必須將它作為一個包“安裝”在特定的拱形安裝上?
命名約定:
- GRUB(其中一些)保留在 MBR 中。
- GRUB(其餘部分)是載入的幾個文件,來自
/boot/grub
(例如:在 GRUB 中顯示為背景的漂亮圖像未儲存在 MBR 上)筆記:
- 答案是考慮 MBR 設置,GRUB 可用於其他設置。
- 在 EFI 設置中,事情變得很棘手,可以使用 GRUB,但核心本身也可以作為它自己的 EFI 存根。
GRUB(其中一些)安裝在 MBR 中。MBR 是磁碟上的前 512 個字節。MBR 也被磁碟的分區表使用,因此 GRUB 本身的空間比 512 字節要少一些。
MBR 內的 GRUB(其中一些)從磁碟的另一部分載入更完整的 GRUB(其餘部分),該部分在 GRUB 安裝期間定義到 MBR (
grub-install
)。由於 MBR GRUB 需要在磁碟上找到它的對應對象,該磁碟通常位於 上/boot
,因此主 GRUB 所在的分區不能離分區表太遠(通常512MB
但可能會有所不同)。擁有自己的分區非常有用
/boot
,因為可以從那裡管理整個磁碟的 GRUB。這是什麼意思:
- MBR 上的 GRUB 只能從磁碟載入一個 GRUB(其餘部分)。
- 必須將磁碟上的特定 GRUB(其餘部分)配置為查找機器上的所有作業系統。
該命令
grub-mkconfig -o /boot/grub/grub.cfg
執行os-prober
(如果它可以找到它)掃描所有分區並生成grub.cfg
指向所有作業系統的指向。因此,如果您有多個分區
/boot
(或 MS windows 等價物,我不知道但os-prober
知道),os-prober
將找到它們並grub.cfg
相應地創建。在 MBR 上執行grub-install
安裝一個 GRUB(其中一些),它指向目前正在執行的作業系統的 GRUB,目前的grub.cfg
.這是什麼意思:
- 整個系統只需要一個 GRUB。
- 您可以在不同的磁碟上擁有不同的 GRUB(因為它們具有不同的 MBR),但這僅在您計劃移除磁碟時才有意義。
- 您可以從單個 GRUB 安裝管理所有作業系統的引導。
- 在單個磁碟上,您始終
grub-install
只能從單個作業系統執行!這很重要,否則您將繼續覆蓋您的配置。