要在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
即可看见安装界面。
sgx 于 2007-09-05 16:07:37发表:
楼主好像有半虚拟化和完全虚拟化之分:0L