Ubuntu 仅具有适用于 Amazon 的 HVM 映像(https://cloud-images.ubuntu.com/locator/ec2/)
根据亚马逊的说法,如果您使用 grub v2 并从 HVM 启动,则根本无法创建 AMI:
“必须在您的实例上安装 GRUB Legacy(版本 0.9x 或更低版本)。”(https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-instance-store-ami.html#ubuntu_instructions)
但是 Ubuntu 当前版本不再具有低于 v2 的 grub(我相信从 bionic 开始?)。
这似乎是一个两难的局面,亚马逊坚持使用非常老的 grub(这让我很困惑),而 Ubuntu 只支持 HVM 基础镜像(这似乎是一个糟糕的决定,因为亚马逊正在阻止它们)。我该如何摆脱这种情况?:)
更新:亚马逊支持的回应是他们不再支持没有 EBS 的 AMI,所以没有人应该使用它(而且,我想,他们需要更新/删除解释如何操作的文档!)
答案1
根据文档,在这种情况下,解决方法是从 Ubuntu 实例存储支持的 AMI 开始,并安装兼容版本的 grub,详情如下:
安装grub
软件包并验证您正在使用 GRUB legacy 后,grub --version
您可以继续执行创建实例存储 AMI 的其余步骤。
您可以在此处按区域(和点版本)找到实例支持的 Ubuntu AMI 列表,以供您参考: https://cloud-images.ubuntu.com/locator/ec2/
答案2
亚马逊支持的回应是,他们不再支持没有 EBS 的 AMI,所以没有人应该使用它(而且,我想,他们需要更新/删除解释如何操作的文档!)。
进一步研究...亚马逊还删除了他们曾经提供的许多 EC2 硬件,因此如果不支付大幅增加的最低成本,您就无法实际使用实例存储 AMI(他们这有点鬼鬼祟祟...)。
因此,最终结果是:如果您曾经使用过实例存储,并且喜欢它们:那就不要了。亚马逊不希望人们再使用它,他们正在提高价格以防止它,同时通过不更新他们的工具和脚本来扼杀它,因此维护变得非常困难。
这很好,只是...如果他们在文档中提前提到这一点会更好:)。