我正在尝试使用 CentOS 5.2 上的 Xen 3.2.1 启动 Ubuntu Jaunty VM。
我跟着本指南为了设置虚拟机,我使用的 debootstrap 调用是:
debootstrap --arch amd64 --include=linux-image-server,grub --components=main,universe,multiverse jaunty /mnt/xenfs http://it.archive.ubuntu.com/ubuntu/
我的问题是,当我尝试启动虚拟机时,我可以看到 Grub 显示内核列表,但是当我选择一个时,启动停止并出现以下错误:
Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n')
以下是 VM 的 Xen 配置:
name = 'testvm'
bootloader = '/usr/bin/pygrub'
memory = '256'
vif = [ 'ip=192.168.1.216,mac=00:16:3E:21:C2:A1' ]
disk = [ 'phy:/dev/drbd22,xvda1,w',
'phy:/dev/drbd23,xvda2,w' ]
...以及 /boot/grub/menu.lst 中的相关部分:
title Ubuntu 9.04, kernel 2.6.28-11-server
root (hd0,0)
kernel /boot/vmlinuz-2.6.28-11-server root=/dev/xvda1 ro console=xvc0
initrd /boot/initrd.img-2.6.28-11-server
检查内核显示:
[root@server2 boot]# file vmlinuz-2.6.28-11-server
vmlinuz-2.6.28-11-server: Linux kernel x86 boot executable RO-rootFS, root_dev 0x801, swap_dev 0x3, Normal VGA
所以内核不是 gzip 文件。也许这是 Xen 3.2.1 无法理解的格式?我无法升级到 Xen 3.3... 有没有办法将该内核“转换”为 gzip 映像?我应该尝试另一个内核吗?
非常感谢!
答案1
在主机上运行 'uname -a' 的结果是什么?您是否在主机上加载了启用 Xen 的内核?结果应该是这样的:
2.6.18-92.1.10.el5xen
末尾带有 xen。如果您使用普通内核启动,请使用“yum install kernel-xen”安装 xen 包,然后使用这个新内核启动。