我想为 Ubuntu 20.04 服务器准备自定义安装 ISO,它将使用自动安装功能自动安装系统。为了实现这一点,我必须将其添加到启动命令中:
autoinstall ds=nocloud;s=/cdrom/preseed/
最后 grub.cfg 中的整行如下所示:
linux /casper/vmlinuz boot=casper quiet autoinstall ds=nocloud;s=/cdrom/preseed/ ---
当我设置 bios 传统启动模式时,一切都正常。此命令被考虑在内,我的方案运行良好。但是,当设置 uefi 模式时,系统以手动模式安装,好像我的更改不存在。开始调试后,我可以看到启动命令实际上已更改,并且在 /var/log/kern.log 中我可以看到该字符串:
Command line: BOOT_IMAGE=/casper/vmlinuz boot=casper quiet autoinstall ds=nocloud
所以缺少这部分:;s=/cdrom/preseed/
我该如何解决这个问题,以便我的设置在 uefi 模式下也能正常运行?
答案1
看起来数据源参数可以转义。单引号可以解决这个问题:
ds='nocloud;s=/cdrom/preseed/'
这样,即使使用 uefi 模式,自动安装配置文件的路径也会被正确选择。遗憾的是,任何文档中都没有提到这一点,因为“;”后面的部分是一个令人困惑的问题。