使用 PV-Grub 和自定义内核的 EC2 问题:错误 21 选定的磁盘不存在

使用 PV-Grub 和自定义内核的 EC2 问题:错误 21 选定的磁盘不存在

在 EC2 上,我尝试为 PLD-Linux 设置 AMI,使用新功能允许使用 PV-Grub 从 AMI 内部运行自定义内核。我之前已经多次设置自定义 AMI,但无法让内核运行。

基本上,我有一个 ebs 磁盘,上面有一个 grub 菜单文件和自定义 xenU 内核。注册它并将其作为实例启动会从 xen 主机启动 pv-grub,然后 pv-grub 会找到我的菜单文件并尝试启动在那里找到的配置。但是,无论我如何配置 grub 菜单项或磁盘分区,grub 总是会抛出错误“错误 21:所选磁盘不存在”。

我尝试了以下多种排列:

  • 原始卷作为具有文件系统的磁盘
  • 卷上的 1 个分区,其中包含文件系统
  • hd0 和 hd00 AKI(hd0 查找原始磁盘版本的菜单文件,hd00 查找单分区版本的菜单文件)
  • 使用 grub 菜单中的 no root 命令
  • 使用 root(hd0)
  • 使用 root(hd0,0)
  • 使用各种 rootnoverify()

我在所有情况下都使用 ext3。我没有系统/设备映射文件来妨碍我。任何错误的分区布局和 hd0/hd00 AKI 组合都会导致不同的错误,但如果我使用正确的组合并且它找到菜单文件,它总是会抛出上述错误。

我错过了什么?

从 EC2 论坛交叉发布因为那里没有答案,所以我会确保解决方案也交叉发布)

答案1

这很令人尴尬,但经过两天的苦思冥想,我想我自己解决了这个问题。

我的 grub 菜单文件有类似的命令,root(hd0,0)而不是root (hd0,0)空间至关重要,我所有的尝试都把它遗漏了!我发现了这一点,因为发现省略根行并指定完整路径有效kernel (hd0,0)/boot/vmlinuz....。空间不足并没有导致任何类型的解析错误,但它似乎被忽略了。因此,我给它什么值真的不重要,它只是按照默认值运行,因此完全省略该行也得到相同的结果。

我仍然没有启动系统,但现在已经解决了 grub 问题,转而解决内核问题。希望遇到同样问题的人会发现这个解决方案很有用!

相关内容