如何在Xen HVM 上安装 Windows 7

本文详细介绍了如何在Xen HVM 上安装和运行 Windows 7,使其作为 一个 Xen 虚拟客户机运行的详细步骤。
关键字:Xen HVM 虚拟机 Windows 7

Xen 虚拟 Windows 7 的必备条件

    本章假设主系统运行的内核可以跑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_windows_7_running
阅读更多
个人分类: Linux Xen
上一篇对XEN中HVM虚拟机的一些理解
下一篇How To Run Fully-Virtualized Guests (HVM) With Xen 3.2 On Debian Lenny (x86_64)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭