Hyper-V 无法启动定制的 Ubuntu Server ISO

Hyper-V 无法启动定制的 Ubuntu Server ISO

我正在尝试创建自定义的 Ubuntu Server ISO(使用此处的说明) 用于 Hyper-V VM。我想修改boot/grub/grub.cfg以添加autoinstall到内核命令行参数以启用自动服务器安装

menuentry "Install Ubuntu Server" {
    set gfxpayload=keep
    linux   /casper/vmlinuz   autoinstall quiet  ---
    initrd  /casper/initrd
}

如果我在 Hyper-V 中创建新的 VM,并让其从未修改的 Ubuntu Server ISO 启动,然后手动修改 grub 中的启动选项,则自动安装可以顺利运行。但是 Hyper-V 永远不会从我的自定义 ISO 启动,而是直接跳到 PXE 启动。自定义 ISO 确实在 KVM 中启动,所以我一定遗漏了 Hyper-V 所需的某些东西。

修改后,我运行的创建新 ISO 的具体命令grub.cfg来自上面链接的有关自定义安装 CD 的指南:

mkisofs -r -V "Custom Ubuntu Install CD" \
        -cache-inodes \
        -J -l -b isolinux/isolinux.bin \
        -c isolinux/boot.cat -no-emul-boot \
        -boot-load-size 4 -boot-info-table \
        -o custom.iso /path/to/iso/root

我正在修改的基本 Ubuntu Server ISO 是 20.04.3。我的主机是 Windows 10。

有没有办法修改mkisofs命令以包含 Hyper-V 所需的任何内容,或者有没有办法从标准 ISO 复制精确的设置,因为它已经适用于 Hyper-V?

答案1

我为 Ubuntu 20.04 找到了答案。您需要创建带有启动映像的 ISO。它位于 iso 本身上,名为 efi.img。

遗憾的是,这不再适用于 Ubuntu 22.04/10,因为 efi.img 不再存在于 iso 中。我还没有找到创建自定义 iso 的方法,以便它可以在 hyper v 中启动

相关内容