早在 Windows 时代我就使用了 VMware server,一直视它为虚拟机软件的大哥大,本是迁移到 Fedora 11 后的首选虚拟化方案。可是,它在 Fedora 11 下的安装并不顺利,Fedora 11 发布了两周(Linux kernel 2.6.29 发布时间可能更早于 Fedora 11),VMware server 2.0.1 还有针对 Linux kernel 2.6.29 还未发布更新,得依靠一个非官方的补丁来完成安装。这过程本身就令人不快,况且,安装成功后,guest OS 启动到 95% 停滞的概率还是很高,只能通过重启 host OS 才能让 guest OS 重新跑起来。
我有点随遇而安,Fedora 11 集成了 qemu 本来是我在 VMware server 后的首选,网上他人对 qemu 速度的评论颇佳,可是它在我新买的 Q8200 PC 上就跑不动(qemu 在两年前买的Pentium 4, 3.0Ghz Dual Core 却跑得很好)。wikipedia 上介绍 AMD-V and/or Intel VT 提到多款虚拟化软件 support “both architectures (AMD-V and VT-x)”,但特别点到 kvm “requires one of them”,其他软件(没有提到 qemu)则没有用 require 一词。 kvm 是经过修改的 qemu,两者关系太密切了,我不晓得 Fedora 显示的 qemu 其实用的是 kvm? Anyway, 当我意识到我在 Virtualisation 碰到的种种疑难杂症可能是 qemu 特有的问题以后,我不得不关心起其他虚拟化软件。
这下挑中了 VirtualBox。主要是因为我在 Fedora 之外的次选 OS 是 ubuntu,而 VirtualBox 集成于 ubuntu,但也可以运行于其他主流 OS。另一个原因是 VirutalBox 可以显式关闭 VT-x/AMD-v support(Q8200 本来就不支持 VT-x/AMD-v support),据说 VirutalBox developers 建议关闭 VT-x/AMD-v support,而且第三方测试表明 VT-x/AMD-v support 开启与否对 VirtualBox guest OS 运行速度几乎没有影响,反而显著拖慢了 guest OS 启动速度。如此看来 VritualBox 简直是 Q8200 的最佳选择。
VirtualBox 已经做好了Fedora 11 的 rpm 包,安装 VirtualBox 非常简单、顺利,装好 VirtualBox 一看,原来这是 Sun 的产品(我事先不知道,大家都称它 VirtualBox,为什么不称之为 Sun VirtualBox 以提高市场占有率?),顿时有找到组织的感觉。Sun VirtualBox 的用户界面很友好,很精致,感觉略高 VMware Server 一筹,跟 qemu 更不是一个档次的软件。
Sun VirtualBox guest OS 感觉不到是运行在虚拟机里,比如 Win 键有效(VMware Server就做不到)、启动速度飞快,进入 Windows XP 不到20秒。唯一遗憾的是,64 bit guest OS 必须得有 hardware virtualisation 才行,但这怪不得 Sun VirtualBox(所有虚拟化软件都有这个要求),只怪 Intel 产个 Q8200 怪胎!