如何指定 ISO 作為 GRUB 根檔案系統的位置?

如何指定 ISO 作為 GRUB 根檔案系統的位置?

我正在嘗試了解 Debian“從硬碟啟動”安裝手冊。

過程如下:我將 a kernel image、 aramdisk initrd和 an ISOwith 安裝程式複製到硬碟,然後設定 GRUB 來啟動核心和 ramdisk,而且我還必須告訴 GRUB,根檔案系統在哪裡(它應該位於ISO),以便核心可以將root 轉向它。但是debian 提供的 grub 配置似乎將整個硬碟指定為根檔案系統,而不是其中的 ISO 檔案:

GRUB1:

title  New Install
root   (hd0,0)
kernel /boot/newinstall/vmlinuz
initrd /boot/newinstall/initrd.gz

GRUB2:

menuentry 'New Install' {
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
linux /boot/newinstall/vmlinuz
initrd /boot/newinstall/initrd.gz
}

為什麼那會起作用? GRUB 是否如此智能,將 ISO 檔案掛載在硬碟上作為根檔案系統,而不是整個硬碟?或者我必須將ddISO 的內容直接複製到硬碟上嗎? Debian 對此含糊其辭。

答案1

複製自frostshutz評論:

initrd.gz (initramfs) 包含 busybox 使用者區域和為此目的編寫的 Debian 腳本。 GRUB2 也支援直接循環安裝 ISO,但通常只是從 ISO 本身取得核心/initrd,一旦再次加載,核心/initrd 必須找到 ISO 並循環安裝。

相關內容