Ubuntu 12.04中安装Xen问题解答

本人在Ubuntu 12.04安装xen过程中遇到很多奇怪的问题,由于网上资料确实很少所以希望提出供大家参考,少走弯路。

1.安装编译 Xen 和 Linux xen kernel 所需要的软件包:

sudo

apt-get install build-essential binutils python-dev libncurses5-dev  libcurl4-openssl-dev xorg-dev uuid-dev bridge-utils bison flex udev gettext bin86  bcc  iasl libgcrypt11-dev  libssl-dev pciutils libglib2.0-dev  gcc-multilib texinfo zlib1g-dev
$ sudo apt-get install gcc g++ make patch libssl-dev bzip2 gettext \

zlib1g-dev python libncurses5-dev libjpeg62-dev libx11-dev \

libgcrypt11-dev pkg-config bridge-utils bcc bin86 libpci-dev \

libsdl-dev python-dev texinfo libc6-dev uuid-dev bison flex fakeroot \

build-essential crash kexec-tools makedumpfile libncurses5 \

libncurses5-dev iasl gawk

以上软件包有些是重复的,没关系,重复了它自己会跳过不安装。安装软件包之前注意要选好源,163和cn.archive都是可以的。

第二步:安装xen vmm

32位和64位系统的区别也很重要。64位按下面步骤很简单,32位就不同,因为xen需要开启pae,默认是没有开启的,所以32位ubuntu首先得执行下面这个命令:

sudo apt-get install linux-image-server

sudo apt-get install xen-hypervisor-4.1-i386 xen-utils-4.1 xenwatch xen-tools xen-utils-common xenstore-utils

这里xen-hypervisor-4.1要分32位、64位,64位系统用xen-hypervisor-4.1-amd64,32位用xen-hypervisor-4.1-i386.


第三步:安装libvirt和Virtual Manager

sudo apt-get install virtinst python-libvirt virt-viewer virt-manager

第四步:重启机器,选择有xen的内核启动,进入系统之后,再检查一下 Xen 是否已经成功安装:

$ sudo xm list

到这里,我就出现了问题,就是在重启linux时不会出现grub启动选项,导致在输入xm list时会有

can‘t find hypervisor info、、、字样

网上给与的解答一般是这样

# mv /etc/grub.d/10_linux /etc/grub.d/50_linux
# update-grub2

我参考了一个外国网站解答是

# mv /etc/grub.d/10_linux /etc/grub.d/20_linux && mv /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen

基本的意思呢就是在grub.d文件夹中出现的文件就是linux 的启动顺序前面的标号就是顺序(如00,05,10等)越低越先启动,所以两种方法的基本意思就是将20_linux_xen提前(10_linux会被放到后面),所以都是有效的。

但可是也许你还会出现问题,还是出现

can‘t find hypervisor info、、、字样

不是网上的问题错误而是大家注意grub2,这个2说明用的是grub2启动,也许你的电脑是grub启动,这就是你改动失败的原因。我查过资料,说grub没有启动xen内核核心的引导项等等。从grub升级到grub2,这个不难就不啰嗦了。

grub2的配置文件为/boot/grub/grub.cfg。之前有网上说根据这个文件(grub。cfg)可以更改/etc/default/grub文件中grub_default=0(将0变成xen对应的数字)。其实时改动不了的,grub.cfg中不提供各个启动项的数字,所以一旦你瞎改default,那么你的电脑可能就蓝屏了。。。

改动完成后,观察grub。cfg内部的启动顺序20_xen被提前了就可以了。

reboot就ok

推荐阅读:

相关推荐