在CentOS下源码安装 Xen并搭建Windows虚拟机
前言
首先要感谢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虚拟机相关推荐
- Centos下源码安装git
1.centos下git版本太久了,才1.8几,而官方更新的还是很活跃的,于是我就想源码安装一个新版本. 2.首先到: https://github.com/git/git/releases 下载最新 ...
- Centos下源码安装golang
下载源码 标准官网:https://golang.org/ [需要墙] 镜像官网:https://golang.google.cn/dl/ [国内推荐] wget https://dl.google. ...
- 在 CentOS 7.0 上源码安装 Xen 4.5
上周 CentOS 7.0 正式版发布了,Xen4CentOS 项目还没来得及更新支持 CentOS 7.0,所以目前要在 CentOS 7.0 上玩 Xen 的唯一办法只有编译源代码了.貌似这次 C ...
- linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- linux 自动安装mysql数据库_linux系统下源码安装mysql5.6数据库
linux系统下源码安装mysql5.6数据库 下载mysql数据库相关软件包(百度云盘:http://pan.baidu.com/s/1bnL31c7) 从mysql 5.5版本开始,mysql源码 ...
- CentOS 7源码安装Apache
CentOS 7源码安装Apache 一.官方安装手册http://httpd.apache.org/docs/2.4/install.html#customize 下载最新版http://httpd ...
- CentOs 7源码安装 Python3
CentOs 7源码安装 Python3 1. 官网下载源码Python-3.8.3.tgz wget https://www.python.org/ftp/python/3.8.3/Python-3 ...
- CentOS 7 源码安装 apache 及配置
CentOS 7 源码安装 apache 及调试 作者:闫涛 E-mail:coderyantao@qq.com 备注:实验环境为selinux关闭.firewalld已关闭.生产环境不得关闭fire ...
- Linux下源码安装CodeBlocks
Linux下源码安装CodeBlocks qianghaohao(CodingNutter) 一. 安装平台说明: CentOs6.4-i686 gcc-4.4.7 二. 下载最新源码: http: ...
最新文章
- Android四大组之ContentProvider
- mysql 编译cpu数量_合适MySQL的Xeon 55XX系列CPU编译参数
- php与mysql同步_MySQL 同步(一)
- 【深度学习】循环神经网络(RNN)简易教程
- CVPR 2019 | 旷视研究院提出极轻量级年龄估计模型C3AE
- Cache-Control常用类型
- [链接]开方检验原理
- vue实例没有挂载到html上,VueJS-将数据发送到Vue实例以用于挂载()
- javascript window.open
- 啥是佩奇?爷爷,我用Python给你画一个
- matlab中if可以判断或语句吗,matlab中if 语句后面的判别式不能是算术表达式?或者说变量?...
- img src请求后台值值能判断_MVC中根据后台绝对路径读取图片并显示在IMG中
- 解决Mac电脑报错:You don‘t have permission to access that port.
- 信号复数及希尔伯特变换的理解
- 电脑网络经常掉线怎么办
- Ubuntu .desktop 文件编写
- Nginx + passenger安装
- 在线字典学习(Online dictionary learning for sparse coding)-机器学习
- 为什么使用use strict可以节约你的时间
- 计算机主机房的消防配置,计算机机房消防安全审核标准