Debian

如何將 ISO 指定為 GRUB 的根文件系統的位置?

  • April 24, 2014

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

過程如下:我將a kernel image、aramdisk initrd和an ISOwith安裝程序複製到硬碟驅動器,然後配置GRUB啟動核心和ramdisk,但我還必須告訴GRUB,根文件系統在哪裡(它應該位於ISO),以便核心可以將根轉向它。但是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 對此含糊其辭。

複製自frostshutz 評論:

initrd.gz (initramfs) 包含busybox 使用者空間和為此目的而編寫的Debian 腳本。GRUB2 還支持直接循環掛載 ISO,但通常只是從 ISO 本身獲取核心/initrd,一旦再次載入,必須由核心/initrd 找到並循環掛載 ISO。

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