如何创建 GRUB 启动 CD 以在 ZFS 上使用 root 身份启动 Debian?

如何创建 GRUB 启动 CD 以在 ZFS 上使用 root 身份启动 Debian?

我按照以下指南在 ZFS 上安装了 Debian: https://github.com/zfsonlinux/zfs/wiki/Debian-Stretch-Root-on-ZFS

我想避免对硬盘进行分区并将整个磁盘交给 ZFS。但我也无法安装 USB 密钥或第二个驱动器。是否可以创建一个仅包含最少的 GRUB 文件作为引导加载程序的 ISO 映像?

如果我不必在每次内核更新后更新 ISO,那就完美了。

我在这里阅读了有关 GRUB 启动 CD 的信息: https://www.gnu.org/software/grub/manual/grub/html_node/Making-a-GRUB-bootable-CD_002dROM.html

但是这里我的 grub.cfg 会指向我想要避免的特定内核。

如果有人能想出解决方案那就太棒了。

答案1

回答我自己的问题:

# create a folder
mkdir -p ~/iso/boot/grub

# lookup the ID of the hard disk
# e. g. gnulinux-simple-b91b8ec8f2733827
vi /boot/grub/grub.cfg

# create a new grub.cfg
vi ~/iso/boot/grub/grub.cfg

包含以下内容(适应您的配置):

set timeout=0
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-b91b8ec8f2733827' {
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod zfs
        set root='hd0,gpt1'
        configfile /ROOT/debian@/boot/grub/grub.cfg
}

然后:

# create ISO
grub-mkrescue -o grub.iso ~/iso

您现在可以使用此 ISO 进行启动。

相关内容