VMware Fusion 10安装优化Windows 10

2017-10-20|Categories: macOS, Windows|Tags: |

软硬件规格

虚拟机对电脑的软硬件环境比较敏感,不同版本的虚拟机软件支持的硬件和操作系统有明显的差异,即使虚拟机软件版本相同,在不同的硬件平台(尤其是CPU)能实现的功能也不同。

硬件

  • MacBook Pro (Retina, 13-inch, Late 2013)
    • CPU:Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz
    • 内存:8 GB 1600 MHz DDR3
    • 显卡:Intel Iris 1536 MB

软件

  • VMware Fusion Pro 10.0.1 (6754183)
  • Windows 10 Version 1709 64位中文版(创意者更新)

安装

虚拟机的安装很简单:文件→新建→从光盘或映像中安装,一直按「继续」,在「集成」画面选择「更加独立」,不需要其它设置,安装完成会自动进入桌面。

注:Windows虚拟机与macOS主机共享文件等到安装完成之后再设置。

优化

通用虚拟机优化指南

HowToGeek网站上有一篇《The Complete Guide to Speeding Up Your Virtual Machines》,可用于优化所有虚拟机的性能,不管你用的虚拟机软件是VMware、Parallels、VirtualBox,都可以从中受益,原文较长,摘要翻译如下:

  • 使用固态硬盘
  • 启用硬件虚拟化:
    • Intel VT-x
    • AMD-V
  • 给虚拟机分配更多内存
  • 给虚拟机分配更多CPU核心
  • 调整显卡设定,启用2D/3D加速
  • 虚拟机硬盘使用固定尺寸(fixed-size),不要动态分配,这样可以减少磁盘碎片
  • 安装虚拟机软件自带的工具包:
  • 挂起(suspend)虚拟机,而非关闭(shutdown)
  • 禁止杀毒软件扫描虚拟机文件
  • 优化虚拟机操作系统,例如减少开机启动项、后台进程
  • 换用其它的虚拟机软件

简而言之,想要玩儿转虚拟机,必须要有强悍的硬件。

Windows 10虚拟机硬件优化

之前安装Win 10的时候,虚拟机硬件全部使用了VMware Fusion的默认设置,那是为了快速完成安装,但为了获得更好的性能、更多的便利,有必要优化虚拟硬件设置。

关闭运行中的虚拟机,然后点击菜单「虚拟机」→「设置……」:

然后依次调整以下图标包含的设置:

常规

勾选「关闭虚拟机后清理磁盘」。

在Windows虚拟机中删除文件之后,Fusion 不会向 Mac 返回空间。清理虚拟机会执行以下操作:

  • 压缩虚拟机并将释放的空间返回到 Mac。
  • 对虚拟机进行碎片整理。
  • 整合遗留在虚拟机上的所有未整合快照文件。

注:只有 Windows 虚拟机才能将释放的空间返回到 Mac。

共享

勾选「启用共享文件夹」,点击加号添加需要共享给Windows虚拟机的文件夹。

默认应用程序

  • 勾选「使用 Windows 应用程序打开 Mac 文件和 Web 链接」
    • 我安装Windows虚拟机最主要的原因就是使用Microsoft Office,虽然微软公司开发了Office for macOS版本,但即使是最新的2016版仍然bug一大堆,软件质量远远不如Windows版本。启用这个选项就可以用Windows原生的Office编辑存储在macOS的文档。
  • 勾选「从 Mac 的“应用程序”文件夹运行 Windows 应用程序」
    • 启用这个选项默认只会添加第三方软件到macOS的/Applications文件夹,Windows自带的软件不会被添加。
    • 如果需要添加Windows自带的软件,或者其它没有被默认添加的第三方软件,方法如下:
      • 在Windows虚拟机运行要添加的软件;
      • 点击菜单「显示」→「Unity」;
      • 软件的图标会显示在Dock上,右击图标,选择「添加到Mac应用程序文件夹」。

处理器和内存

点击「高级选项」,勾选「在此虚拟机中启用虚拟化管理程序」。开启这个选项之后,就可以在Windows虚拟机中安装另一个虚拟机软件。

Fusion的帮助文件对截图中的选项的说明:

这里的IOMMU(Intel对这个技术的实现叫做VT-d)通常用于服务器的虚拟化,普通用户不需要开启。开启这个技术的前提是:CPU、主板芯片组、系统固件(BIOS/UEFI)都要支持IOMMU。更多资料详见以下链接:

Intel对相关技术的解释如下:



检查CPU支持的虚拟化特性

在启用高级选项之前,有必要验证CPU是否支持相关技术。

第一步,找出CPU型号:

$ sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz

第二步,按照下面截图的说明到Intel官网查找CPU规格:

网络适配器

对于普通用户而言,只要虚拟机能上网就可以了,不需要更改。

默认是「与我的Mac共享」,也就是通常说的NAT模式:

  • 自动获取IP、DNS。
  • 虚拟机可以「单向」访问互联网,外网IP地址与Mac主机相同。
  • 虚拟机可以「单向」访问局域网其它真实主机。
  • 互联网、局域网的其它真实主机无法访问虚拟机。

而我需要用虚拟机搭建服务器集群,虚拟机彼此之间要能够通信,因此我改成「桥接模式(自动检测)」:

  • 可以手工配置IP、DNS,也可以自动获取。
  • 虚拟机拥有独立的外网IP地址。
  • 虚拟机可以和互联网、局域网的其它真实主机「双向」互访。

「仅供我的Mac专用」就是Host-only模式:

  • 自动获取IP、DNS。
  • 只能与Mac主机、其它虚拟机互访。
  • 不能访问互联网。

本小节内容来自《VMware中三种网络连接的区别》这篇图文并茂的文章。

VMware官网上也提供了相关文档:

兼容性

这个画面用于切换虚拟机的模拟硬件的版本,假设虚拟机是在老版本的Fusion 8创建的,但升级Fusion 10之后想使用所有的新功能,就可以选择最新的硬件版本。

反过来,假设虚拟机在最新的硬件版本上无法正常运行,就可以选择较老的硬件版本。

强制VMware Fusion识别USB HID设备

HID = Human Interface Devices,直译为「人类接口设备」,也常被称为「人体学输入设备」。

USB HID设备通常指的是键盘、鼠标、游戏控制器,网银认证常用的USBKey也属于这一类,VMware的虚拟机软件(Fusion/Workstation)默认不会识别这类USB设备,但可以强制其识别。(注:Parallels Desktop可以自动识别HID。)

强制识别USB HID设备步骤如下:

  • 关闭虚拟机。
  • 在「虚拟机资源库」右击虚拟机,点击「在Finder中显示配置文件」。
  • 右击vm_name.vmwarevm,点击「显示包内容」。
  • 右击vm_name.vmx,点击「打开方式」,用文本编辑器打开。
  • 添加一行:usb.generic.allowHID = "TRUE",保存退出。
  • 重启虚拟机,点击菜单「虚拟机」→「USB和蓝牙」→「连接USBKey」

Windows 10虚拟机软件优化

网络上充斥着优化Windows的文章和相关的软件,刚接触电脑的时候,我经常被它们所吹嘘的效果引诱,折腾良久之后才发现所谓的优化软件效果实在有限,反而很容易产生负面影响。花费无数精力优化各种选项带来的性能「提升」,远远不如加一根内存,或是换一块SSD硬盘简单有效。

HowToGeek上有一篇揭露所谓的优化技巧的文章:《戳穿10个Windows优化神话(英文)》

但确实有一些技巧可以让系统运行更流畅:

  • 关闭不必要的开机启动项目
  • 删除不需要的软件
  • 关闭不必要的后台程序,减少同时运行的程序数量

Windows 10可以通过「任务管理器」方便的关闭(禁用)开机启动项目:

Windows 10自带了大量的软件,虽然没有占用太多硬盘空间,但可能会自动在后台运行,对我而言,这些后台程序完全是浪费资源——我只需要Microsoft Office。可以通过「控制面板」→「程序」卸载不需要的软件,但某些自带软件是不允许卸载的,为了避免系统出现莫名其妙的问题,不建议使用CCleaner之类的软件强制卸载。

Windows 10对比Windows 7虚拟机

启动速度

  • Windows 7:启动非常快,从开机到进入桌面不到30秒。
  • Windows 10:启动非常慢,从开机到进入桌面接近2分钟,长时间停留在「欢迎」画面,CPU占用100%。
    • 有没有可能是我的显卡性能不足导致的?
    • 进入桌面之后,系统运行很流畅,打开Office也不会明显占用CPU。仅仅开机时间稍微长一些、开机CPU占用高一些,不是大问题,用挂起代替关机就可以避免。
    • VMware官方论坛上有一个帖子《VMware Tools cause slow Windows 10 boot》谈到同样的启动缓慢现象,但虚拟机软件是VMware Workstation Player 12.5.7,最终发现是VMware Tools自带的显卡驱动造成的,解决方法有两种:
      • 把虚拟硬件版本从12降到10
      • 修改vmx文件,添加以下两行:
        • mks.enableD3DRenderer = TRUE
        • mks.enableDX11Renderer = FALSE
      • 两种方案都不能完全解决问题,网友回帖说降低硬件版本可以解决「欢迎」画面的延迟,但CPU占用仍然是100%,GUI响应也变差。

占用硬盘空间

注:除了VMware Tools,不安装任何第三方软件。

  • Windows 7:8.38GB
  • Windows 10:10.34GB

高分辨率显示屏

  • Windows 7:不支持高分屏,虚拟机开启「使用Retina全分辨率显示」之后,字体全部挤成一个个蝇头小字,无法正常观看,必须关闭「全分辨率」使用普通分辨率。
  • Windows 10:支持高分屏,虚拟机开启「使用Retina全分辨率显示」之后,显示效果非常清晰。

USB 3.0

  • Windows 7:不支持,即使在虚拟机设置里把「USB兼容性」改为3.0,再安装Intel的驱动,插入3.0的U盘仍然会报错。
  • Windows 10:支持。

小结

  • Windows 7:系统更简洁,运行速度更快。
  • Windows 10:支持最新的硬件,消耗更多的系统资源。

克隆虚拟机

安装虚拟机和应用程序可能会非常耗时,使用克隆可以避免繁琐的重复工作。Fusion支持克隆虚拟机,一种是「完整克隆」,一种是「链接克隆」:

「克隆」就是把现有的虚拟机原样复制一份,被复制的虚拟机叫做「父虚拟机」:

  • 对克隆所做的更改不会影响父虚拟机。对父虚拟机所做的更改不会出现在克隆中。
  • 克隆的MAC地址和UUID与父虚拟机的MAC地址和UUID不同。

完整克隆

  • 完整克隆是一个完全独立的虚拟机,不需要与父虚拟机持续连接。
  • 完整克隆不与父虚拟机共享虚拟磁盘,所以完整克隆通常比链接克隆执行得更好。
  • 完整克隆比链接克隆需要更长的时间。如果涉及的文件很大,创建完整克隆可能需要几分钟的时间。

链接克隆

  • 链接克隆由父虚拟机的快照生成,可以节省磁盘空间。
  • 链接克隆的创建非常迅速。
  • 链接克隆必须访问父虚拟机。如果无法访问父虚拟机,链接克隆将被禁用。

克隆与快照

如果要保存虚拟机的当前状态,以防万一发生错误可以恢复到该状态,就拍摄快照。如果要制作虚拟机的副本以供单独使用,就创建克隆。

VMware Fusion、Parallels Desktop,哪个更好?

知乎上有人问《VMware Fusion和Parallels Desktop哪个更适合开发人员?》,其中一个回复是这样的:

先推荐一篇 2015 年的性能对比测试:VM Benchmarks: Parallels 11 vs. Fusion 8 vs. VirtualBox 5

VMware Fusion 曾经在 Mac 上运行效率不如 Parallels Desktop,特别是图形性能曾一直是 Parallels 家的强项,但最近 VMware 已经开始迎头赶上。从上面的性能对比也能看出,VMware 和 Parallels 各有输赢,但图形性能 VMware Fusion 8 比 Parallels Desktop 11 要好很多。

抛开运行效率不谈,Parallels 倾向于认为在 Mac 上运行虚拟机主要是为了弥补 Mac 系统的不足,特别是 Mac 平台缺少 Windows 独占的软件和特性,比如对域的支持。因此 Parallels 在 Windows 虚拟系统与 Mac 系统紧密结合上下了很大功夫,将虚拟机当作是主机的补充。所以如果你使用虚拟机是因为有些软件在 Mac 上没有,必须在 Windows 下运行,并希望虚拟机与主机系统互相配合的话,Parallels 家族的产品更加适合。

而 VMware 优势在于对企业级虚拟机的集中管理和分发,更倾向于将虚拟机系统与主机独立开来,并强调虚拟机的独立性和跨平台集中管理。例如对 VMware vCloud Air、vSphere 和 ESXi 的支持,以及 VMware Workstation Pro 12 创建的虚拟机可以在 Fusion 8 中直接打开,反之亦然。因此如果你主要用虚拟机进行软件在不同操作系统下的开发和测试,或是对新系统的升级或迁移进行评估,亦或是通过虚拟机对其他客户端提供服务的话,VMware 家的产品则更加适合。

我的经验是:

  • 对于安装Microsoft Office,需要与macOS紧密配合的Windows虚拟机,我用PD。
  • 其它所有虚拟机用VMware。

Leave A Comment