在 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 问题,转而解决内核问题。希望遇到同样问题的人会发现这个解决方案很有用!