Grub2

為什麼在安裝 GRUB 時需要 chroot?

  • March 25, 2022

我正在嘗試用 linux 和 windows 雙重啟動我的筆記型電腦。現在我可能需要做的一件事是首先將 linux 安裝到我想要的分區,然後從 live cd 啟動,然後選擇我的啟動分區,然後在我的啟動分區上安裝和配置 grub。

此處列出了說明。

chroot現在我發現多餘的是,如果安裝命令如下,為什麼我需要- :

grub-install /dev/sd1

如果 grub 可以簡單地從命令行安裝到我選擇的分區,那麼 chrooting 甚至掛載 linux 分區有什麼用?

為什麼我什至會以以下方式掛載虛擬文件系統 - :

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

是因為當我從安裝磁碟啟動到實時模式時,grub 文件存在於已安裝的 Linux 作業系統中,我必須訪問這些文件才能繼續安裝?IE。能跑grub-install嗎?

如果安裝介質上有 grub 文件,那麼安裝和 chrooting 似乎無關緊要?

如果我錯了,請糾正我,但chroot所做的只是更改目前程序和子程序的根目錄,對嗎?

在引導時,GRUB 需要能夠從/boot/grub.

因此,在GRUB 可以從內部讀取文件/boot/grub 之前,GRUB 需要知道包含的磁碟和分區/boot/grub

因此,grub-install需要將這個磁碟和分區嵌入到 GRUB 本身內部。

因此,grub-install需要知道(或需要能夠推斷)包含/boot/grub. (或者至少這是我懷疑的情況。)

grub-install旨在/boot/grub通過確定本身執行/boot/grub 的環境中的磁碟和分區來推斷磁碟和分區。grub-install

換句話說,grub-install它的設計假設****它本身grub-install將在GRUB 將引導的系統內執行。

因此,您需要chroot進入您要啟動的系統,以便/boot/grub您執行的時間與您要啟動的系統grub-install相同。/boot/grub

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