為什麼在安裝 GRUB 時需要 chroot?
我正在嘗試用 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