Linux

誰能告訴我為什麼我的 EC2 AMI 無法啟動?

  • December 13, 2012

我正在嘗試製作自己的 EC2 AMI。我使用 debootstrap 將軟體包安裝到分區上,從正在執行的 AMI(Amazon linux)複製核心模組並重新啟動。這是控制台輸出的內容:

Xen 極簡作業系統!
開始資訊:0xb10000(VA)
nr_pages:0x6a400
shared_inf: 0xbef32000(MA)
pt_base: 0xb13000 (VA)
nr_pt_frames: 0x9
mfn_list: 0x967000(VA)
mod_start:0x0(VA)
mod_len:0
標誌:0x0
cmd_line: root=/dev/sda1 ro 4
堆棧:0x946780-0x966780
MM:初始化
_文本:0x0(VA)
_etext:0x621f5(弗吉尼亞州)
_Draw: 0x76000 (VA)
_edata: 0x7b6d4 (VA)
堆棧開始:0x946780(VA)
_end: 0x966d34(VA)
start_pfn: b1f
最大 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
“主”“root=/dev/sda1”“ro”“4”
vbd 2049 是 hd0
******************* 設備/vbd/2049 的 BLKFRONT **********


後端位於 /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
******************* 設備/vbd/2051 的 BLKFRONT **********


後端位於 /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
[J

GNU GRUB 版本 0.97(1740800K 低 / 0K 高記憶體)



[ 支持最小的類似 BASH 的行編輯。為了

第一個詞,TAB 列出了可能的命令

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

設備/文件名的完成。]




垃圾> 
[9; 10H

我真的不明白什麼是失敗的。


更多資訊:

所以這就是我要做的:我創建一個 GB 卷,啟動一個 Amazon Linux AMI,將捲掛載為 /dev/sdf,創建一個分區 /dev/sdf1,mkfs.ext3 在 sdf1 上創建一個文件系統,debootstrap Debian 到它,安裝核心映像,創建 menu.lst 文件:

預設 0 超時 3 回退 1

標題 Debian root (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 - 我將根分區設置為從 /dev/ 掛載fstab 中的 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= ro 4 堆棧:0x946780-0x966780 MM:初始化_text:0x0(VA)_etext:0x61e65(VA)_erodata:0x76000(VA)_edata:0x7b6d4(VA)堆棧開始:0x946780(VA)_end:0x966d34(VA)start_pfn:b1 max_pfn:6a400 映射記憶體範圍 0xc00000 - 0x6a400000 設置 0x0-0x76000 只讀跳過 0x1000 MM:初始化 e6c000(e6c000)-0(6a400000) 的頁面分配器 MM:完成 6a401000-7a401000 處的需求映射 pfns。堆位於 7a402000-ba402000。初始化定時器界面 初始化控制台…完成。gnttab_table 映射在 0x6a401000。初始化調度程序執行緒“空閒”:指針:0x7a402008,堆棧:0x6a030000 初始化 xenbus 執行緒“

                                                                       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 [12;3H [12; 75H [m [m [13;3H [13;75H [m [m [14;3H [14;75H [m [m [15;3H [15;75H [m [16;3H [16;75H [米 [16;78H [5;75H

根據這篇文章:

  • 您可能選擇了錯誤的核心,它正在嘗試從不存在的分區引導。確保您使用的是正確的 pv-grub 核心 hd0 和 hd00。
  • 您忘記安裝 grub 或將 grub 安裝在錯誤的位置。確保您有 /boot/grub/menu.lst 或 /boot/boot/grub/menu.lst
  • 您有一個錯誤的 menu.lst 文件。我犯的一個錯誤是給一個引導項一個標題,裡面有一個空格。使 menu.lst 盡可能簡單,直到您啟動它。

引用自:https://serverfault.com/questions/312736