本章假设主系统运行的内核可以跑Xen并且安装了标准的Xen工具(如xm),另外,硬件虚拟化要求主系统的硬件支持Intel-VT 或 AMD-V 的虚拟化,为了验证这个可以在主系统中运行一下命令
对于 Intel CPU: grep vmx /proc/cpuinfo对于 AMD CPU: grep svm /proc/cpuinfo
如果以上命令执行后没有任何输出,那么说明你的硬件不支持这些特性,跑不起来Xen HVM客户机。
Windows 7 的安装方式
要在Xen HVM中安装window 7,首先需要windows
7的安装盘,或者从Microsoft的官方网站上下载ISO镜像也可以。然后就通过光盘或是镜像安装即可。
如要通过光盘制作一个镜像,请把光盘放入光驱,如果运行了自动加载请先卸载,然后执行以下命令(比如光驱是/dev/cdrom)
dd if=/dev/cdrom of=windows7.iso
为Windows 7 准备存储空间
在客户机安装Windows 7 *** 作系统当然需要为它准备空间了。这个空间可以是一个物理的磁盘驱动器,也可以是一个磁盘镜像文件。如果是一个磁盘驱动器,请注意它的设备名称。通常是 /dev/sd or /dev/hd,后面跟一个字母(如/dev/sdc or /dev/hdb) 生成一个磁盘镜像可用如下dd命令行工具:
dd if=/dev/zero of=xenwin7.img bs=1024k seek=10000 count=0
这条命令就创建了一个10Gb的镜像文件,名为xenwin7.img。
创建Xen Windows 7的配置文件
下一步就是创建Windows 7作为Xen客户机所必须的配置文件,下面就是一个Windows 7 Xen客户机的最小配置的例子:
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 = 1024
# Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
shadow_memory = 8
name = "xenwin7"
vif = [ 'type=ioemu, bridge=xenbr0' ]
acpi = 1
apic = 1
disk = [ 'file:/home/xen/xenwin7.img,hda,w', 'file:/home/xen/windows7.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=''
serial='pty'
usbdevice='tablet'
上面的例子是用Windows 7的ISO镜像文件安装,如果是用物理磁盘来安装,磁盘指示符应该改成下面这样(用物理设备名代替/dev/sdb):
disk = [ 'phy:/dev/sdb,hda,w', 'file:/home/xen/windows7.iso,hdc:cdrom,r' ]
所以,如果是用光盘安装,命令可以改成如下(/dev/cdrom是物理光驱的路径):
disk = [ 'phy:/dev/sdb,hda,w', 'phy:/dev/cdrom,hdc:cdrom.r' ]
上面的命令把主系统中物理上的磁盘驱动/dev/sdb映射到客户机的/dev/had,/dev/cdrom映射到客户机的CD/DVD 设备(请注意,主系统中的CD/DVD设备在不同linux的发行版本中是不同的)。
如果是用磁盘镜像文件来安装,命令行应换成:
disk = [ 'file:/home/xen/xenwin2008.img,hda,w', 'phy:/dev/cdrom,hdc:cdrom,r' ]
上面例子中展示的一系列配置的设定是为了给Windows 7客户机启动一个图形控制台。当客户机运行的时候,Xen可以提供VNC 或者 SDL的图形控制台。不如,下面的命令是选择VNC的控制台:
vnc = 1
sdl=0
而这下面的命令是选择 SDL控制台:
vnc = 0
sdl = 1
VNC
和 SDL都可一为Windows
7客户机提供良好的图像显示,并且VNC比SDL有更多的优点。首先,VNC在远程访问时比SDL更灵活,无论是在本地网络还是通过英特网,或是在不同的
系统上,都可以连接上客户机系统。其二,当你关掉VNC
viewer窗口时,客户机仍然在运行,你下次再连接的时候还是可以回到你上次离开时的状态。然而,关掉SDL窗口的时候,客户机会立刻关掉并有可能丢失
数据。
在默认情况下,当客户机启动的时候,Xen不会自动启动VNC控制台。如果想要自动启动,那么就要设置如下命令:
vncconsole=1
一些其他的配置选项也可以被设置,但上面的设置是运行一个Windows 7 客户机的最小配置。当一个配置文件写完之后可以把它保存为xenwin7.cfg。
启动Xen的Windows 7 HVM客户机
所有的配置完成之后,就可以启动Xen客户机了:
xm create xenwin7.cfg
Using config file "./xenwin7.cfg".
Started domain xenwin7
几秒钟之后,VNC 或是SDL(取决于你的配置)控制台会出现,并且会启动Windows 7 的安装程序,下图就是在VNC中Xen HVM 客户机Windows 7的一个实例:
xen我没用过。不过建议1、你看下xen中有没有设置网卡的选项。
2、另外win7中的网卡驱动对不对。
3、虚拟机里和ubuntu里的网络地址应该不在一个区域才对。
设置上去找。仔细下。反正linux系统就是让人折腾的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)