我正在尝试了解 Debian“从硬盘启动”安装手册。
过程如下:我将 a kernel image
、 aramdisk initrd
和ISO
with 安装程序复制到硬盘驱动器,然后配置 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 文件挂载在硬盘上作为根文件系统,而不是整个硬盘?或者我必须将dd
ISO 的内容直接复制到硬盘上吗? Debian 对此含糊其辞。
答案1
复制自frostshutz评论:
initrd.gz (initramfs) 包含 busybox 用户区和为此目的编写的 Debian 脚本。 GRUB2 还支持直接循环安装 ISO,但通常只是从 ISO 本身获取内核/initrd,一旦再次加载,内核/initrd 必须找到 ISO 并循环安装。