上午通过3个小时奋战,终于成功在Debian Etch上通过xen成功安装Windows XP!
这是安装界面:
安装成功后进入Windows的界面:
要在Linux上按装Windows,除了VMWare这种通过软件全虚拟的方式,还可以通过xen实现硬件支持的虚拟。现在,各主要发行版都内置了xen,原本打算在Redhat Enterprise 5上试试,不过配置太麻烦,最好是通过安装包一次搞定,最终决定用Debian Etch,几条apt-get就搞定了,非常方便。
安装Windows的必须条件:
CPU必须支持Intel VT或AMD PT虚拟化技术,没有的话就不用考虑了。要检查CPU是否支持,用命令:
grep vmx /proc/cpuinfo
如果是AMD的CPU用:
grep svm /proc/cpuinfo
我的硬件配置:Intel Core2 Duo T7200 2GHz,2G RAM
先安装好Debian Etch和Gnome桌面,第一步是安装xen支持的内核,注意版本要和当前Linux内核一致。用apt-get安装:
- xen-linux-system-2.6.18-5-xen-686
- xen-tools
- libc6-xen
- xen-ioemu-3.0.3-1
- xen-hypervisor-3.0.3-1-i386-pae
- bridge-utils
安装完毕后重启系统,在GRUB就可以看到带xen的内核,启动后发现无线网卡不工作,需要再安装一个ipw3945-modules-2.6.18-5-686,重启后网卡工作正常。
第二步是安装准备,先创建一个4G的文件作为Windows的虚拟硬盘:
dd if=/dev/zero of=/home/xuefeng/xen/winxp/winxp.img bs=1M count=4096
准备好Windows XP的ISO文件,我放在/home/xuefeng/xen/winxp/winxp.iso。
编写配置文件/home/xuefeng/xen/winxp/winxp.cfg,以下是我的配置文件:
name='winxp' kernel='/usr/lib/xen-3.0.3-1/boot/hvmloader' device_model='/usr/lib/xen-3.0.3-1/bin/qemu-dm' builder='hvm' # 内存大小: memory=1024 pae=1 # 配置一个硬盘和一个光盘: disk=['file:/home/xuefeng/xen/winxp/winxp.img,ioemu:hda,w', 'file:/home/xuefeng/xen/winxp/winxp.iso,hdc:cdrom,r'] # 网络启动失败,暂时注释掉: #vif=['type=ioemu,bridge=xenbr0'] # 先设置从d启动,等安装结束后改为c就可以直接从硬盘启动: boot='d' vcpus=2 # 设置VNC: vnc=1 vnclisten='127.0.0.1' vncviewer=1 on_poweroff='destroy' on_reboot='restart'
然后通过以下命令启动虚拟机:
sudo xm create /home/xuefeng/xen/winxp/winxp.cfg
启动完毕后,可以通过xm list查看当前所有的虚拟机。最后一步是通过VNC客户端连接到winxp的虚拟机,如果没有先安装xvncviewer,安装完毕后启动:
xvncviewer 127.0.0.1
即可看见安装界面。


