Filesystems

grub 安裝在哪裡,我需要一個新的來單獨安裝 linux 嗎?

  • August 23, 2016

目前我已經安裝並配置了帶有 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只能從單個作業系統執行!這很重要,否則您將繼續覆蓋您的配置。

引用自:https://unix.stackexchange.com/questions/305345