61 评论

扫盲操作系统虚拟机[3]:虚拟机软件的选择

  最近10年来,虚拟化技术发展很快,市面上也冒出了一大堆(至少几十种)的虚拟机软件。所以,在介绍了虚拟机的应用场景之后,俺再来介绍一下“如何选择虚拟机软件”。

★根据知名度筛选


  为啥把知名度作为第一筛选标准捏?因为知名度高的软件,用的人通常也比较多。当你使用该软件碰到问题/困难时,也就更容易从网上找到相关的资料。如果是商业软件的话,用的人越多,也就越容易找到破解或者注册码 :-)
  如今的虚拟机软件,名气比较大的有如下几款(按字母序排列):
KVM、Parallels、VirtualBox、Virtual PC 系列、VMware 系列、Xen

★根据支持的 OS 来选择


  接下来再看虚拟机软件支持哪些操作系统。
  对操作系统的支持包括两个层面:第一个层面是支持哪些 Host OS,第二个层面是支持哪些 Guest OS。关于 Host OS 和 Guest OS 的概念,本系列第一篇已经介绍过,这里就不再啰嗦了。
  当今的桌面操作系统,最流行的分别是 Windows、Mac OS X、Linux。考虑到俺博客的读者群,这三种系统的用户都有。所以,本系列推荐的虚拟机最好能在 Host OS 层面和 Guest OS 层面同时支持这三款操作系统。根据这个标准,就排除掉了 KVM、Xen、Virtual PC——因为 KVM 和 Xen 不支持 Windows 作为 Host OS;而 Virtual PC 不支持 Linux 做 Host OS。

★三个候选者


  两轮淘汰下来,剩下三个候选软件:VMware、VirtualBox、Parallels。下面简单介绍一下这三个候选者。

◇VMware


  VMware 的官网链接在“这里”。
  所谓的 VMware 虚拟机软件,其实是一个很大的家族,成员比较复杂。在这个家族中,面向桌面用户的产品有 VMware Workstation、VMware Fusion、VMware Player。
  其中的 VMware Workstation 面向 Windows/Linux 用户,VMware Fusion 面向 Mac OS X 用户。至于 VMware Player 要特别说一下:这款软件虽然免费,但功能实在太弱了(连快照都不支持)。不支持“快照”的虚拟机软件,简直形同废物。所以俺就不考虑 VMware Player 了。本文后续部分提到的 VMware,均指 VMware Workstation 和 VMware Fusion。

◇VirtualBox


  VirtualBox 的官网在“这里”。
  在这三个候选者中,VirtualBox 是仅有的开源软件(而且免费)。如果用它的话,你既不用花钱,也不用盗版。别看是免费,功能完全【不】逊色(具体细节后面会介绍)。

◇Parallels


  Parallels 的官网在“这里”。
  Parallels 包括两款软件:Parallels Desktop 面向 Mac OS X 用户;Parallels Workstation 面向 Windows/Linux 用户。
  这玩意儿的知名度可能不如前两个,但在苹果社区的口碑还是不错滴。据说 Parallels 公司把研发的重点放在 Parallels Desktop,导致 Parallels Desktop 在版本更新、功能、稳定性方面,都比 Parallels Workstation 要好。
  俺个人觉得,用 Mac OS X 的同学可以考虑试试 Parallels Desktop,至于用 Windows/Linux 的同学,就甭考虑 Parallels Workstation 了。

★功能对比


◇快照


  快照是基本功能,这三款软件自然都支持。而且都支持多层次的树形快照。
  点评:三者持平

◇数据交换


  这是指在 Host OS 和 Guest OS 之间交换数据。常见的方式有三种:共享目录、共享剪贴板、鼠标拖放。
  这三款软件同时都支持上述三种方式。提醒一下:VirtualBox 的拖放功能迟至 4.2.0 版本才加入,可能还不太完善。
  除了上述三种方式,VMware 还支持把 Guest OS 的硬盘文件映射到 Host OS的某个盘符。通过此功能,即使 Guest OS 没有运行,你也可以方便地访问 Guest OS 里面的文件。
  点评:VMware 占优

◇CPU VT


  所谓“CPU VT”就是在 CPU 硬件层面提供虚拟化相关的指令。利用这些指令,虚拟机软件可以更好、更快地实现虚拟化的功能。更多介绍请看维基百科“这里”。
  目前 x86 芯片的 VT 技术主要是 AMD-V 和 Intel-VT,这三款软件都支持。
  点评:三者持平

◇磁盘文件格式


  VMware 只支持自家的 VMDK 格式。
  Parallels 除了支持自家的 HDD 格式,还支持 VMware 的 VMDK 格式。
  VirtualBox 除了支持自家的 VDI 格式,还支持如下几种:
VMDK(VMware 虚拟机的格式)
VHD, VHDX(VirtualPC 虚拟机的格式)
HDD(Parallels 虚拟机的格式)
QCOW, QED(QEMU 虚拟机的格式)
  点评:VirtualBox 占优
  备注:因为 VirtualBox 支持的格式多,其它虚拟机软件制作的 VM 要迁移到 VirtualBox 会比较容易。

◇光盘镜像映射


  这个功能就是把 Host OS 上的光盘镜像文件映射到 Guest OS 的光驱,让 Guest OS 以为这是一张真实的光盘。
  这三款软件都支持光盘镜像映射。
VMware 支持 ISO 格式
Parallels 支持ISO, DMG, CUE, CCD 格式
VirtualBox 支持 ISO, DMG, CDR 格式
  点评:ISO 格式属于光盘镜像的事实标准,其它格式用的少。所以三者基本持平

◇USB 支持


  “USB 支持”是指虚拟机软件把 Host OS 上的 USB 设备映射到 Guest OS 中。
  这三款软件都支持 USB,差别在于 USB 的协议。(截至本文发布时)VirtualBox 最新的 4.2.x 版本仅支持到 USB 2.0;而 Parallels Desktop 从今年的 8 版本刚刚开始支持 USB 3.0;VMware 也是在今年发布的 9.0 版本刚刚支持 USB 3.0
  点评:VirtualBox 落后

◇界面中文化


  对于 VMware,在 Workstation 10 之前都没有提供原生的中文版(要靠汉化补丁)。Parallels 有中文版,VirtualBox 的界面内置多种语言,可以动态切换。
  点评:VirtualBox 占优,VMware 落后。

◇显示模式


  虚拟机软件常用的显示模式有三种:窗口模式、全屏模式、无缝模式。
  这三款软件同时都支持上述三种模式。

  1. 窗口模式
  窗口模式是最基本的显示模式。在这种模式下,整个 Guest OS 桌面显示为 Host OS 桌面上的一个窗口。所有 Guest OS 软件的界面都在这个窗口中。

  2. 全屏模式
  全屏模式就是让 Guest OS 独占整个显示器。在全屏模式下,你看不到 Host OS 的桌面。

  3. 无缝模式
  所谓“无缝模式”就是:让 Guest OS 里面的软件界面从虚拟机的窗口中“跑”出来,直接融合在 Host OS 的桌面里。这种效果是很酷滴!
  这三款软件对“无缝模式”的叫法不同——VMware 称之为“Unity”,Parallels 称之为“Coherence”,VirtualBox 称之为“Seamless”。

  点评:三者持平

◇3D 加速


  这三款软件都有 3D 加速,它们都支持了 OpenGL 2.0(或更高)和 DirectX 9(或更高)。
  点评:三者持平

◇截屏/录像


  VMware Workstation 几年前就具有“截屏”和“录像”功能;
  VirtualBox 只有“截屏”,没有“录像”;Parallels 貌似也没录像功能。
  点评:VMware 占优

◇远程操作


  所谓远程管理就是:虚拟机软件提供某种方式,让用户可以通过网络远程操作 Guest OS。提醒一下:这种远程操作能力是由虚拟机软件提供的,跟 Guest OS 没有关系。举个例子:你甚至可以远程操作一个 DOS 的虚拟系统。
  VMware 支持基于 VNC 的远程操作;VirtualBox 支持基于 RDP(远程桌面协议)的远程操作;Parallels 貌似不支持远程操作。
  点评:考虑到 RDP 比 VNC 普及,所以 VirtualBox 占优

★性能对比


  从刚才的“功能对比”,大伙儿应该可以看出,这三个候选者的功能,有些小差异,但没有实质性的差异。所以俺再来比较一下性能方面的高低。
  要测性能,必须在同一台电脑里面,使用相同的 Host OS 环境进行测试,才有可比性。所以俺根据三种主流的桌面操作系统,分别介绍。
  免责声明:下面列举的性能测评是网上找来的,未必全面,仅供参考。

◇Windows


  “这里”有一篇台湾同胞做的测评。Host OS 用 Windows Server 2012,Guest OS 用 Windows Server 2008 R2。
  该测评针对三种虚拟机软件:VMware Workstation 9、VirtualBox 4.2.0、Hyper-V(这里的 Hyper-V 用的是 Windows 2012内置的)
  测试结果是:Hyper-V 明显好于 VMware Workstation 9,VMware Workstation 9 好于 VirtualBox 4.2.0
  考虑到 Hyper-V 是 Windows Server 2012 内置的,而且测试方法是 Windows 虚拟 Windows,所以 Hyper-V 的结果未必能说明问题。
  不过捏,VMware Workstation 9 比 VirtualBox 4.2.0 快,倒是可以说明一定的问题。

◇Mac OS X


  “这里”有一篇很全面的测评,使用 Parallels Desktop 8, VMware Fusion 5, VirtualBox 4 这三款虚拟机软件,在苹果系统中虚拟 Windows。为了提供参照,还特意测试了 Windows 系统直接运行在 Mac 硬件上的性能指标,作为虚拟机性能的对比。
  从这篇测评的发布时间看(Sep 17 2012)算是比较新鲜的。从测评的综合结果看,Parallels Desktop > VMware Fusion 5 > VirtualBox 4。而且 VirtualBox 4 落后较多。

◇Linux


  “这里”有一篇去年(Sep 09 2011)的测评,基于 Linux Mint,测试了 VirtualBox 和 VMware。该测试中,至少有6项指标,VMware 明显好于 VirtualBox;只有一项指标是 VirtualBox 明显好于 VMware。
  “这里”还有一篇半年前(May 01 2012)的测评,对比了4款虚拟机(Hyper-V, ESXi, KVM, VirtualBox),其中的 ESXi 属于 VMware 家族。从这篇测评的结论看,VirtualBox 比 KVM 略好,不如 Hyper-V 和 ESXi。

★总结


  功能上,三个候选者各有胜负,但差别不大。
  性能上,VirtualBox 在三种系统都不如 VMware;苹果系统上,Parallels 明显占优。虽然 VirtualBox 性能不够好,但它是开源软件,无需花银子。
  俺的建议是:
Windows 的用户,在 VMware Workstation 和 VirtualBox 二选一(Parallels Workstation 用的人太少,明显不给力,不予考虑)。
Mac OS X 的用户,在 Parallels Desktop 和 VirtualBox 二选一(苹果系统的 Parallels Desktop 比 VMware Fusion 好,价格还便宜,于是排除掉 VMware Fusion)。
Linux 的用户,在 VMware Workstation 和 VirtualBox 二选一(如果你是铁杆 Linux 用户,这辈子铁定不用其它 OS 做宿主,或许也可以考虑 KVM 或 Xen)。

回到本系列的目录
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2012/11/system-vm-3.html

61 条评论

  1. 神奇的博主:

    XenServer vs VMWare ESXi。guest基本是Linux,也会有Windows。对network I/O和disk I/O需求都大。您怎么看?

    回复删除
    回复
    1. TO 祥子
      XenServer 俺没有用过,不好评价。
      这里有一篇文章(发布日期是 March 7, 2012),你参考一下。
      [url]http://petersenna.com/files/peters-top4-virtualization-benchmark-1.28.pdf[/url]

      里面对比了如下4款产品:
      VMWare ESXi 5 + vSphere 5
      Microsoft Hyper-V Windows 2008 R2 SP1
      Citrix XenServer 6
      Red Hat Enterprise Virtualization 2.2

      删除
    2. 蛮有用的 十分感谢

      删除
  2. 我勒个去…睡前上个推第一条就是楼主的更新推。虚拟机终于千呼万唤始出来了!

    回复删除
  3. Xen和KVM根本就不应该跟VBox之类的比较……毫无可比性,定位完全不同。
    个人用户使用当然是VMWare和VBox比较方便了。
    另外虽然KVM貌似没Windows版但是QEMU可以在Windows里玩吧……Android模拟器就是QEMU搞得。

    回复删除
    回复
    1. 多谢批评 :)
      因为本文是扫盲系列,针对的是无技术背景的网友。
      所以俺在本文开头写了“根据知名度筛选”和“根据支持的OS来选择”
      这样比较通俗易懂。
      对于IT外行的网友,不容易解释明白 KVM/Xen 同 VirtualBox 在定位上的差异。

      关于 QEMU,俺之前也想过要不要介绍一下(毕竟它也是同时支持 Windows、Mac OS X、Linux 的)。
      但是感觉 QEMU 的人气还是不够,所以就只介绍了 VMware 和 VirtualBox

      删除
  4. 這個盲掃的!有點初級了。
    我覺得這些東西不了解的人看了也是白看,不會去實踐的。
    而對此有部分了解的人看過後會略覺得淺顯。隨想你說呢?
    這樣什麼時候能寫完呢,減少些篇幅,指著VM用就得了。

    回复删除
    回复
    1. TO AC
      多谢提意见 :)

      本系列是扫盲,面向的是那些不懂技术的网友。
      在懂行的人看来,就显得初级了 :)

      因为之前有若干网友通过博客留言和来信,希望俺能够写比较傻瓜化的虚拟机教材。
      感觉这个扫盲还是有很多人想看的。

      另外,俺也会针对“虚拟机”这个话题,写一些稍微高级点的内容。比如“利用双虚拟机来隐匿真实IP”

      删除
    2. 其实很实用。比如我自觉是个经验比较丰富的用户,但对今年兴起的vm也不太了解。简单看一遍,觉得很实用!谢谢楼主。

      删除
    3. 其实很实用。比如我自觉是个经验比较丰富的用户,但对今年兴起的vm也不太了解。简单看一遍,觉得很实用!谢谢楼主。----今年兴起?N年了好不好?看版本好就知道

      删除
  5. 额 望楼主赶紧出那种B虚拟机连接A虚拟机的。。。

    回复删除
    回复
    1. +1.非常同意。这是基础教材的写法吧?还是爱那种一针见血 直击要害的多一点。

      另外,能不能提供最新评论的rss订阅?相信很多人都喜欢的。

      删除
    2. 多谢6楼网友的提醒 :)

      本系列侧重于“虚拟机扫盲”,谈的都是比较菜鸟的话题。
      至于“双虚拟机”的教程,俺会放到[url=http://program-think.blogspot.com/2010/04/howto-cover-your-tracks-0.html]《如何隐藏你的踪迹,避免跨省追捕》系列[/url]

      删除
    3. TO 1单元的网友
      非常感谢提建议 :)
      “最新评论的rss订阅”,俺已经添加了一个链接(在右侧栏的“最新评论”标题边上,有一个 RSS 的动画图标)

      删除
  6. 神奇!
    在洋葱为绿的情况下,全局代理,居然打不开任何网页。但赛风打开,并设置为tor的代理,tor可以工作。
    但绿色的tor貌似正常。
    神奇!
    vpn+tor不能正常工作,打不开网页。单独的vpn可以使用。

    再报告个情况。
    这几天,goagent极不稳定。看个youtube几乎不行,比木大期间还夸张。

    回复删除
    回复
    1. 这就说明 你的VPN有问题,说不定 .................

      删除
  7. 昨天使用中级网桥,TOR也可以连通了,不知为何?

    回复删除
    回复
    1. 大概是你运气好吧 :)

      TOR 的网桥中继,大部分都被 GFW 列入 IP 黑名单了。你用的可能是 GFW 漏网的
      俺觉得:用网桥中继还不如用 TOR+公共代理

      删除
  8. 编程兄都说了是扫盲嘛,对我这种完全不懂虚拟机的还是很有用的。就等下一篇具体操作的了。

    回复删除
    回复
    1. TO 沦陷区居民
      3小时前,俺发了《扫盲操作系统虚拟机[4]:虚拟系统的安装(多图)》,是讲具体操作的。

      删除
  9. 楼主没有介绍 Windows Virtual PC 与其它虚拟机软件的差异,至少有一部分人在用这款软件。

    回复删除
  10. 哈哈哈,终于来了,期盼已久啊,哈哈哈

    回复删除
    回复
    1. 有点可惜的是,好像没什么应用手册和指南呀。。。

      删除
    2. TO 1单元的网友
      3小时前,俺发了《扫盲操作系统虚拟机[4]:虚拟系统的安装(多图)》
      傻瓜化教程,内含多张截图,比软件自带的用户手册还管用 :)

      删除
    3. 谢谢随想,我昨晚实在无法忍受虚拟机的诱惑,自己摸索成功安装了,我要帮你做普及工作啦。哈哈哈

      删除
  11. 无界可以正常使用,自由门不能,而且一旦打开自由门,一段时间内无界也无法使用

    回复删除
    回复
    1. 最近一个月,自由门很不给力。
      无界最近的两个版本(12.07、12.08)开始逐步恢复了。

      删除
    2. 无界昨天上午还行,下午又失效了

      删除
  12. 虚拟机的教程网上一大堆,相关的论坛也很多,,搜一下就有了,,goagent最近老是断断续续的,,看个网页还要刷几遍,,更别提youtube了,,为了youtube,,只好用收费的openvpn了

    回复删除
    回复
    1. GoAgent 之前很稳定好用,是因为还没被 GFW 盯上。
      如今用 GAE 翻墙的人多了之后,GFW 开始关注了,开始封 GAE 的服务器 IP,所以 GoAgent 就开始出问题了。

      老实说,俺不太看好 GAE 翻墙的方式。
      Google 的 GAE 服务器毕竟有限,而且 IP 相对固定。GFW 真的想封,其实不难。

      删除
  13. 还是要看打算使用什么虚拟机内系统。。VMWare 对 Windows 友好,而 Virtual Box 对 Linux 友好。。而且在 Linux 下,VMWare 貌似没有发行版本。。

    回复删除
    回复
    1. TO weihao liang
      纠正一下:
      VMware Workstation 有 Linux 版本的。
      到 VMware 官网能找到下载。

      删除
  14. 博主,我有个问题,可是一直没得到解决,请问,如果我想把自己系统备份的ghost文件虚拟化成一台虚拟机,该如何操作了?我试了很多种方法,但一直没成功,不知博主有什么好的建议?感谢

    回复删除
    回复
    1. 把 Ghost 转化为虚拟机,俺没这么干过。
      如下操作,你可以尝试一下,看看是否可行。

      先建一个空白的(无系统的)VM,把虚拟硬盘分配好。
      然后做一个可引导的 USB 盘,要能加载 DOS 系统或 WinPE 系统。
      把 Ghost 软件和你的 GHO 文件放到 USB 盘上。
      用这个 USB 盘来启动建好的空白 VM。
      然后运行 Ghost 软件,把 GHO 覆盖到虚拟硬盘的主分区。

      提醒一下。
      如果你的 GHO 是从物理系统制作的,那么,里面包含的驱动可能跟 VM 里面的虚拟硬件不匹配。
      这么做出来的 VM,可能需要重新配置一下硬件驱动。

      删除
    2. 表示自己曾经自制过XP的Ghost,通用版本需要在封装前将驱动全部卸载,才能够做到在多种硬件平台上的通用
      至于是否能匹配识别虚拟机模拟的硬件平台就不了解了

      另外不太理解为啥要将自己的系统备份Ghost做成虚拟机
      至少现阶段,win xp/7/8的MSDN版本和相应激活方式还是比较容易获取的
      何不用一个干净的ISO装一台虚拟机呢..

      删除
    3. TO 萩原悠介
      俺猜测,这位网友可能是因为 Ghost 系统里面装的软件太多。
      如果直接把 GHO 转为虚拟系统,就省去重装软件的麻烦

      删除
  15. 有这么多好文章,太爱你了。

    回复删除
  16. 第一次接触虚拟机知识,打开下载页面看到
    VMware-workstation-7.1.6-744570.exe
    VMware-workstation-full-7.1.6-744570.exe
    一般大家下载哪个?怎么不能直接下载?

    回复删除
    回复
    1. 其实两个都能用,不过用那个full版的功能更多一点.
      要下载的话得在官网上注册的.

      删除
    2. 多谢,还是下载full版吧,不过VMware需要注册码有点难搞

      删除
    3. 当初就是因为搞不到注册码,所以我只好用VirtualBox了,呵呵,不过现在VirtualBox也挺好用的。当然,你喜欢用什么就用什么。

      删除
    4. TO 消灭苏联第二
      多谢替俺回答问题 :)

      TO 2单元的网友
      VMware 的注册码,在 Google 搜一下,应该不难找到。

      删除
  17. 怎么不介绍一下Hyper-V呢

    回复删除
    回复
    1. 作为微软的产品,Hyper-V 跟 Windows 绑定太紧密。
      比如说,它只能用 某些版本的 Windows 做 Host OS
      如此一来,应用的场合就比较受限了。

      而 VMware 和 VirtualBox 就没有这方面的限制。

      删除
  18. 虚拟机在如下环境使用是否安全呢?(VMware)
    主机中装有一些可能的监控软件,如360、电脑管家等。
    那么在虚拟机中的操作是否会被记录?
    在虚拟机中上网会被主机中的软件记录吗?

    回复删除
    回复
    1. TO 19楼的网友
      如果 Host OS 中的监控软件比较完善,同样可以监控 Guest OS 的键盘和网卡。
      因为 Guest OS 的虚拟硬件最终还是需要依靠 Host OS 的物理硬件的驱动。

      所以,安全的做法是反过来:
      在虚拟系统中安装危险的软件(比如 QQ),保持 Host OS 的纯洁性。

      删除
  19. Vmware Workstation 10 已经原生支持中文了.....

    回复删除
    回复
    1. TO 张金涛
      多谢提醒 :)
      这篇博文写于一年前,当时 Workstation 10 还没发布。
      刚才已经在博文中补充说明了 VMware 的中文界面支持情况。

      删除
  20. 性能比较的一个疑问:
    假设在同一台电脑就是说硬件条件固定的情况下,同一个虚拟系统加载在哪个宿主os里性能最好?

    回复删除
    回复
    1. TO 21楼的网友
      近期留言太多,抱歉这么久才回复 :(

      如果不考虑硬件差异和虚拟化软件的差异(相同硬件、相同虚拟化软件),要想获得更好的性能,主要看如下两点:
      1、Host OS 的可定制程度如何(可定制程度越高,就能充分发挥硬件性能)
      2、硬件驱动在该 Host OS 下是否能充分发挥硬件性能。

      删除
    2. 一般来说类unix作宿主系统性能要优于微软视窗,而视窗里服务器版又比其他版本稳定一些。

      删除
  21. 下了几个小时硬是下不了VirtualBox,博主知道这是为什么吗?各种翻墙,各大国外软件网站都试过.

    回复删除
  22. 不翻墙倒是能下载,可hash值不对.

    回复删除
  23. 官网SHA256为:f931ce41b2cc9500dc43aba004630cf7bb7050ba737eae38827e91062f072d1f,而我下载的virtualbox-4.3.12-93733-win SHA为d1c4f76ef80db122b28ab8f5bdf28b4e1338ce0764a81f4ac56a038e5d4478db

    回复删除
  24. VirtualBox官網好簡陋

    回复删除
  25. 台灣同胞 編程隨想表示自己是中華民國大陸地區人民

    回复删除
  26. 请问 1.怎样保证宿主系统的纯洁性呢?
    2.完全不使用宿主系统的东西,不在宿宿主系统储存文件?
    那宿主系统自己联网呢?宿主系统自己联网进行的数据交换传输呢,怎么抑制?虚拟系统是和宿主系统使用的统一个网络通道吧。。
    3.打开宿主系统后就立即进入虚拟系统,怎样保护虚拟机软件本身不被侵害呢?

    回复删除
  27. 楼主出来冒个泡,证明自己还安然无恙

    回复删除