前言

首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档。另外,还要感谢——互联网。

1.       环境介绍

Linux: CentOS 6.3

Xen: Xen 4.1.3

Windows: XP 或 2003

2.       安装CentOS

从官网下载CentOS 6.3镜像:

http://www.centos.org/

这里直接给出清华的链接:

http://mirrors.tuna.tsinghua.edu.cn/centos/6.3/isos/i386/CentOS-6.3-i386-LiveCD.iso

光盘或U盘引导,按照提示安装完成即可。若用U盘安装,这里推荐一个软件,可以将安装镜像写到U盘:UNetbootin,下载地址:http://unetbootin.sourceforge.net/,写入镜像前最好先将U盘格式化。

3.       安装所需的工具包

3.1.     开发包

在控制台执行下面命令安装:

yum groupinstall "Development Tools" yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-develyum install bridge-utils  libtool-ltdl xorg-x11-drv-evdev xorg-x11-drv-fbdevyum install xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-develyum install xorg-x11-server-sdk xorg-x11-xtrans-devel libuuid-develyum install readline-devel gcc gcc-gfortran gcc-c++ flex pcre-develyum install blas-devel lapack-devel curl-devel bison gperf gnuplotyum install texinfo-tex tetex-dvips

后面编译时会要求用到这两个包:

3.2.     dev86

到主页下载:http://www.debath.co.uk/dev86

这里直接给出bin包的下载链接:http://www.debath.co.uk/dev86/Dev86bin-0.16.19.tar.gz

解压:

tar zxvf Dev86bin-0.16.19.tar.gz

并将解压出来的文件放到/usr路径下

3.3.     Intel ACPI CA

到主页下载:http://acpica.org/downloads

下载源代码,解压,并安装:

tar zxvf acpica-unix-20120816.tar.gzcd acpica-unix-20120816makemake install

3.4.     libvirt

还要安装libvirt,这样在xen安装完后才会有桥接virbr0

yum install libvirt

3.5.     git

这里插一句,其实在CentOS6下不用手动装git,因为本身就有,但是在本人调研过程中也在CentOS 5.8下做过实验,CentOS 5.8需要手动装git,因此也记录下来。但本小节与本文无关,CentOS 6的朋友可以跳过。

wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

rpm -Uvh epel-release-5-4.noarch.rpmyum install git

4.       安装Xen

到主页下载Xen: http://www.xen.org/

这里直接给出下载链接:http://bits.xensource.com/oss-xen/release/4.1.3/xen-4.1.3.tar.gz

4.1.     解压、编译、安装

在此过程中会自动联网下载所需的东西,所以要保持网络可用。

tar zxvf xen-4.1.3.tar.gzcd xen-4.1.3make xen tools stubdommake install-xen install-tools install-stubdom

4.2.     添加启动项

/sbin/chkconfig --add xend/sbin/chkconfig --add xencommons/sbin/chkconfig --add xendomains/sbin/chkconfig xend on/sbin/chkconfig xendomains on/sbin/chkconfig xencommons on

5.       安装Linux内核

Xen需要更新Linux内核,目前测试时使用的是Linux 3.1.2版本,其它版本没试过。这里给出下载链接:http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2

下载并解压:

wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.2.tar.bz2tar jxvf linux-3.1.2.tar.bz2

在编译之前,修改内核参数:

make menuconfig

在修改界面中将以下位置的选项都选为“*”:

Processor type and features --- >     Paravirtualized Guest Support Device Drivers --->     Xen driver support --->     Network device support --->         Xen backend network device     Block devices --->         Xen block-device backend driver

配置好内核参数以后,保存并退出,开始编译 Linux 内核:

make -j4make -j4 modulesmake -j4 modules_installmake -j4 install/sbin/depmod 3.1.2

加了参数“-j4”后,会使用4个CPU核来并行处理,这样速度会快很多。若只有两核可以使用“-j2”。

6.       配置Grub

更新Grub,使用Xen来引导:

vim /boot/grub/grub.conf

在grub.conf中,已经自动添加了Linux 3.1.2的引导选项,手动添加一项引导选项,将kernel和initrd换成module,添加一行kernel /xen.gz,其它选项与Linux 3.1.2的引导选项一致即可:

...
title CentOS (3.1.2-xen)
root (hd0,0)
kernel /xen.gz
module /vmlinuz-3.1.2 ro root=/dev/mapper/vg_livecd-lv_root
module /initrd-3.1.2.img
...

重启,用Xen引导后,如果没问题,就会进入CentOS了,此时验证Xen:

xm list

若有类似如下输出,则Xen成功:

Name                             ID   Mem    VCPUs      State   Time(s)
Domain-0                           0   1886     2     r-----     79.6 

7.       安装Windows

7.1.     硬件支持验证

只有在全虚拟化下才能安装Windows,这就需要有硬件支持,并在BIOS中开启Virtualization Technology的选项。

在安装Xen之前,可以用以下命令检查是否支持全虚拟化:

Intel CPU:

grep vmx /proc/cpuinfo --color=always

AMD CPU:

grep svm /proc/cpuinfo --color=always

若有输出,说明支持全虚拟化。

在安装了Xen之后,以上命令不起作用,因为已经Xen屏蔽了。需要用以下命令:

grep hvm /sys/hypervisor/properties/capabilities --color=always

若有输出,则说明支持全虚拟化,可以安装Windows,以下是我电脑的输出:

xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p

7.2.     安装

参考网上的教程,将xenbr0改为virbr0即可:

http://www.virtuatopia.com/index.php/Installing_and_Running_Windows_XP_or_Vista_as_a_Xen_HVM_domainU_Guest

如果看E文不方便的话,这里给出相对应的教程。

首先,看看自己的网桥情况:

brctl show

这是我的输出:

bridge name          bridge_id                         STP enabled           interfacesvirbr0               8000.5254004d8e92                 yes                   virbr0-nic

说明你的网桥正常,网桥名是:virbr0,这在下面的配置文件中要用到。

将Windows的光盘镜像拷进来,假设文件是:winxp.iso

创建虚拟机文件,比如设为6G:

dd if=/dev/zero of=xenwin.img bs=1024k seek=6144 count=0

建立配置文件xenwin.cfg:

vim xenwin.cfg

在VI中输入以下内容:

import os, re
arch = os.uname()[4]
if re.search('64', arch):arch_libdir = 'lib64'
else:arch_libdir = 'lib'kernel = "/usr/lib/xen/boot/hvmloader"builder='hvm'memory = 512
shadow_memory = 8
name = "xenhvm"
vif = [ 'type=ioemu, bridge=virbr0' ]
disk = [ 'file:/home/xenwin.img,hda,w', 'file:/home/winxp.iso,hdc:cdrom,r' ]
device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
# boot on floppy (a), hard disk (c) or CD-ROM (d)
# default: hard disk, cd-rom, floppy
boot="dc"sdl=0
vnc=1
vncconsole=1
vncpasswd=''
stdvga=0
serial='pty'
usbdevice='tablet'

其中vif的网桥输入你电脑的网桥名;disk定位刚才创建的xenwin.img的路径,以及Windows光盘镜像的路径。

配置文件创建完后,就可以开启虚拟机了:

xm create xenwin.cfg

如果没有问题,会自动打开一个VNC的窗口,里面就是Windows的安装界面了。

在Windows的安装过程中会重启,重启造成VNC窗口关闭,但其实虚拟机正在后台运行,可以用以下命令打开VNC窗口:

xm vncviewer xenhvm

其中xenhvm是你虚拟机的名称,可以在xm list中看到。

到此,本教程结束,祝大家成功!

转载于:https://www.cnblogs.com/cxun/archive/2012/09/06/2673195.html

在CentOS下源码安装 Xen并搭建Windows虚拟机相关推荐

  1. Centos下源码安装git

    1.centos下git版本太久了,才1.8几,而官方更新的还是很活跃的,于是我就想源码安装一个新版本. 2.首先到: https://github.com/git/git/releases 下载最新 ...

  2. Centos下源码安装golang

    下载源码 标准官网:https://golang.org/ [需要墙] 镜像官网:https://golang.google.cn/dl/ [国内推荐] wget https://dl.google. ...

  3. 在 CentOS 7.0 上源码安装 Xen 4.5

    上周 CentOS 7.0 正式版发布了,Xen4CentOS 项目还没来得及更新支持 CentOS 7.0,所以目前要在 CentOS 7.0 上玩 Xen 的唯一办法只有编译源代码了.貌似这次 C ...

  4. linux系统下源码安装mysql5.6数据库

    linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...

  5. linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库

    linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...

  6. CentOS 7源码安装Apache

    CentOS 7源码安装Apache 一.官方安装手册http://httpd.apache.org/docs/2.4/install.html#customize 下载最新版http://httpd ...

  7. CentOs 7源码安装 Python3

    CentOs 7源码安装 Python3 1. 官网下载源码Python-3.8.3.tgz wget https://www.python.org/ftp/python/3.8.3/Python-3 ...

  8. CentOS 7 源码安装 apache 及配置

    CentOS 7 源码安装 apache 及调试 作者:闫涛 E-mail:coderyantao@qq.com 备注:实验环境为selinux关闭.firewalld已关闭.生产环境不得关闭fire ...

  9. Linux下源码安装CodeBlocks

    Linux下源码安装CodeBlocks qianghaohao(CodingNutter) 一. 安装平台说明: CentOs6.4-i686  gcc-4.4.7 二. 下载最新源码: http: ...

最新文章

  1. Android四大组之ContentProvider
  2. mysql 编译cpu数量_合适MySQL的Xeon 55XX系列CPU编译参数
  3. php与mysql同步_MySQL 同步(一)
  4. 【深度学习】循环神经网络(RNN)简易教程
  5. CVPR 2019 | 旷视研究院提出极轻量级年龄估计模型C3AE
  6. Cache-Control常用类型
  7. [链接]开方检验原理
  8. vue实例没有挂载到html上,VueJS-将数据发送到Vue实例以用于挂载()
  9. javascript window.open
  10. 啥是佩奇?爷爷,我用Python给你画一个
  11. matlab中if可以判断或语句吗,matlab中if 语句后面的判别式不能是算术表达式?或者说变量?...
  12. img src请求后台值值能判断_MVC中根据后台绝对路径读取图片并显示在IMG中
  13. 解决Mac电脑报错:You don‘t have permission to access that port.
  14. 信号复数及希尔伯特变换的理解
  15. 电脑网络经常掉线怎么办
  16. Ubuntu .desktop 文件编写
  17. Nginx + passenger安装
  18. 在线字典学习(Online dictionary learning for sparse coding)-机器学习
  19. 为什么使用use strict可以节约你的时间
  20. 计算机主机房的消防配置,计算机机房消防安全审核标准

热门文章

  1. Allegro改动shape网络节点
  2. 为PHP7安装Windows Server 2012 R2过程记录
  3. 【Qt】Qt之进程间通信(Windows消息)【转】
  4. java 文件的编码 问题
  5. oracle用户权限的管理
  6. (转)三层相关案例(及常见的错误)
  7. Android 设置view透明度,广告标题透明背景
  8. vscode设置折行字数
  9. mpvue 微信小程序 Image 图片实现宽度100%,高度自适应
  10. python 类和对象 有必要学吗_类与对象-python学习19