谁能告诉我为什么我的 EC2 AMI 无法启动?

谁能告诉我为什么我的 EC2 AMI 无法启动?

我正在尝试制作自己的 EC2 AMI。我使用 debootstrap 将软件包安装到分区上,从正在运行的 AMI(Amazon Linux)复制内核模块并重新启动。这是控制台输出的内容:

    Xen 最小操作系统!
  启动信息: 0xb10000(VA)
    页数:0x6a400
  共享信息: 0xbef32000(MA)
     pt_base: 0xb13000(VA)
帧数:0x9
    mfn_列表:0x967000(VA)
   mod_start:0x0(VA)
     mod_len: 0
       标志:0x0
    cmd_line:root=/dev/sda1 ro 4
  堆栈:0x946780-0x966780
MM:初始化
      _文本: 0x0(VA)
     _etext: 0x621f5(VA)
   _erodata: 0x76000(VA)
     _edata: 0x7b6d4(VA)
堆栈起始:0x946780(VA)
       _结束: 0x966d34(VA)
  启动_pfn: b1f
    最大pfn: 6a400
映射内存范围 0xc00000 - 0x6a400000
设置 0x0-0x76000 只读
跳过 0x1000
MM:为 e6c000(e6c000)-0(6a400000) 初始化页面分配器
MM:完成了
需求图 pfns 位于 6a401000-7a401000。
堆位于 7a402000-ba402000。
初始化定时器接口
初始化控制台...完成。
gnottab_table 映射到 0x6a401000。
初始化调度程序
线程“空闲”:指针:0x7a402008,堆栈:0x6a030000
初始化 xenbus
线程“xenstore”:指针:0x7a402478,堆栈:0x6a040000
虚拟主程序:start_info=0x966880
线程“main”:指针:0x7a4028e8,堆栈:0x6a050000
“主要” “root=/dev/sda1” “ro” “4”
vbd 2049 是 hd0
******************** BLKFRONT 用于设备/vbd/2049 **********


后端位于 /local/domain/0/backend/vbd/571/2049
无法读取 /local/domain/0/backend/vbd/571/2049/feature-barrier。
无法读取 /local/domain/0/backend/vbd/571/2049/feature-flush-cache。
10485760 个 0 字节扇区
****************************
vbd 2051 是 hd1
******************** BLKFRONT 用于设备/vbd/2051 **********


后端位于 /local/domain/0/backend/vbd/571/2051
无法读取 /local/domain/0/backend/vbd/571/2051/feature-barrier。
无法读取 /local/domain/0/backend/vbd/571/2051/feature-flush-cache。
1835008 个 0 字节扇区
****************************

    [H
    [日]

    GNU GRUB 版本 0.97(1740800K 下限/0K 上限内存)



       [ 支持最低限度的类似 BASH 的行编辑。对于

         第一个单词,TAB 列出可能的命令

         完成。其他任何地方的 TAB 都列出了可能的

         设备/文件名的完成。]




格鲁布多>                                                                       
    [9;10H

我不太明白到底是什么失败了。


更多信息:

所以我要做的是:我创建一个 GB 卷,启动一个 Amazon Linux AMI,将该卷挂载为 /dev/sdf,创建一个分区 /dev/sdf1,在 sdf1 上创建 mkfs.ext3 文件系统,将 Debian 启动到它,安装一个内核映像,创建 menu.lst 文件:

默认 0 超时 3 回退 1

标题 Debian 根目录 (hd0,0) 内核 /boot/vmlinuz-2.6.32-5-686 root=/dev/sda1 initrd /boot/initrd.img-2.6.32-5-686

然后我关闭 Amazon Linux AMI,创建 EBS 卷的快照,从中创建 AMI(使用 hd0 或 hd00,将根设备设置为 /dev/sda1 - 我在 fstab 中将根分区设置为从 /dev/sda1 挂载)并尝试启动它。但失败了。这是我看到的控制台输出:

Xen 最小操作系统!start_info:0xb10000(VA)nr_pages:0x6a400 shared_inf:0x00ba8000(MA)pt_base:0xb13000(VA)nr_pt_frames:0x9 mfn_list:0x967000(VA)mod_start:0x0(VA)mod_len:0 flags:0x0 cmd_line:root=/dev/sda1 ro 4 stack:0x946780-0x966780 MM:Init _text:0x0(VA)_etext:0x61e65(VA)_erodata:0x76000(VA)_edata:0x7b6d4(VA)堆栈开始:0x946780(VA)_end: 0x966d34(VA) start_pfn: b1f max_pfn: 6a400 映射内存范围 0xc00000 - 0x6a400000 设置 0x0-0x76000 只读跳过 0x1000 MM: 初始化 e6c000(e6c000)-0(6a400000) 的页面分配器 MM: 完成 需求映射 pfns 位于 6a401000-7a401000。堆位于 7a402000-ba402000。初始化计时器接口初始化控制台...完成。 gnttab_table 映射到 0x6a401000。初始化调度程序线程“空闲”:指针:0x7a402008,堆栈:0x6a030000 初始化 xenbus 线程“xenstore”:指针:0x7a402478,堆栈:0x6a040000 虚拟主线程:start_info=0x966880 线程“main”:指针:0x7a4028e8,堆栈:0x6a050000 “main” “root=/dev/sda1” “ro” “4” vbd 2049 是 hd0

                                                                        BLKFRONT for device/vbd/2049 **********

后端位于 /local/domain/0/backend/vbd/1784/2049 无法读取 /local/domain/0/backend/vbd/1784/2049/feature-barrier。无法读取 /local/domain/0/backend/vbd/1784/2049/feature-flush-cache。10485760 个 0 字节扇区


vbd 2051 是 hd1

                                                                        BLKFRONT for device/vbd/2051 **********

后端位于 /local/domain/0/backend/vbd/1784/2051 无法读取 /local/domain/0/backend/vbd/1784/2051/feature-barrier。无法读取 /local/domain/0/backend/vbd/1784/2051/feature-flush-cache。1835008 个 0 字节扇区


[H [J

GNU GRUB 版本 0.97(1740800K 下限/0K 上限内存)

[m[4;2H+-------------------------------------------- -----------------------------+ [5;2H| [5;76H| [6;2H| [6;76H| [7;2H| [7;76H| [8;2H| [8;76H| [9;2H| [9;76H| [10;2H| [10;76H| [11;2H| [11;76H| [12;2H| [12;76H| [13;2H| [13;76H| [14;2H| [14;76H| [15;2H| [15;76H| [16;2H| [16;76H| [17;2H+----------------------------------------------- ------------------------------+ [米

使用 ^ 和 v 键选择要突出显示的条目。

按 Enter 启动所选操作系统,按“e”编辑

命令,或使用 'c' 启动命令行。[5;78H [m [7m [5;3H Debian [5;75H [m [m [6;3H [6;75H [m [m [7;3H [7;75H [m [m [8;3H [8;75H [m [m [9;3H [9;75H [m [m [10;3H [10;75H [m [m [11;3H [11;75H [m [m [12;3H [12;75H [m [m [13;3H [13;75H [m [m [14;3H [14;75H [m [m [15;3H [15;75H [m [m [16;3H [16;75H [m [16;78H [5;75H

答案1

根据写上去:

  • 您可能选择了错误的内核,它正在尝试从不存在的分区启动。确保您使用的是正确的 pv-grub 内核 hd0 与 hd00。

  • 您忘记安装 grub 或将 grub 安装在错误的位置。请确保您有 /boot/grub/menu.lst 或 /boot/boot/grub/menu.lst

  • 您的 menu.lst 文件有问题。我犯的一个错误是给启动项的标题加上了空格。在启动之前,请尽量简化 menu.lst。

相关内容