博通收购老牌虚拟化解决方案提供商 VMware 后,欧博abg尽管许多企业都抱怨它对商用产品的定价调整,但年中时,个人用户却迎来了一个好消息:我们终于能名正言顺地免费使用 Workstation Pro 和 Fusion Pro 了。 当时的我正巧要负责一个用户规模颇大的开源项目的维护工作,面对着来自 macOS、Ubuntu 等各类系统、各种版本的反馈和求助,主力使用 Windows 的我抱着尝试的心态,选择了 Workstation Pro 作为虚拟机测试平台。 半年来,我用它装了各个版本的 Linux 发行版,装了各种 Windows,甚至还有 macOS,它协助我解决了数百个议题。它绝对是我用过的最可靠的 Windows 端通用虚拟机管理应用。 这篇文章中,我会全面介绍 Windows 端 Workstation Pro 的基本情况、使用步骤和虚拟机的维护要点,帮助刚接触此应用的你快速入门。 优势实际上在当下,可堪重用的家用级 Windows 平台通用虚拟机管理应用只有三个:多平台开源的 Oracle VirtualBox;由微软开发、Windows 独占的 Hyper-V 以及本文的主角——博通旗下的 VMware Workstation Pro。 相较于前两者,目前已经 25 岁 Workstation Pro 在虚拟化领域耕耘最久,在很多方便都有明显的优势: 具有直观、完善的图形界面:Hyper-V 的 GUI 比较简陋且稳定性较差,一些操作甚至必须在 CLI 中完成;至于 VirtualBox,你大可以用对开源产品 UI 的刻板印象去评价它的界面; 开箱即用的 GPU 加速:特别是相较于 Hyper-V 而言,Workstation Pro 更能胜任运行带桌面环境的 Linux 发行版,用它来装老个老系统玩怀旧游戏也体验更好; 便于多平台迁移:VMware 在三大桌面系统均有虚拟化产品,这意味着你的虚拟机可以无缝迁移到其他系统,乃至于云平台。 当然,它较之 Hyper-V 硬件资源消耗更大,暂时无法实现闲时自动释放 CPU、内存资源的功能;它也不如 VirtualBox 公开透明,特别在博通收购案后,很多人都担心其前景。 其实,将第一版免费版本 15.2 算在内,半年来,Workstation Pro 已经更新了三个版本来到 16.2,对 Windows 11 24H2 等新系统的支持也足够及时,短期内应当不需要考虑它停止维护的可能性。事实上,即便 VMware 真的停止更新,当下的版本仍然可以继续服役数年,并在很多方面保持领先。 至于 Hyper-V 的问题就更不用操心了。从第十五个大版本开始,Workstation Pro 可以在 Hyper-V 开启时正常使用,这意味着你完全可以将它安全地塞进应用列表,和其他虚拟机管理平台一同使用。 个人认为,VMware Workstation Pro 非常适用于体验或者测试各种 Linux 发行版,用于装旧系统游玩怀旧游戏或者是作为虚拟机平台的入门选择。 应用的安装和基本介绍像其他所有虚拟机管理平台一样,我们需要先在电脑 BIOS 中将虚拟化功能。之后,前往 博通官网(需要提前注册博通账号)获取安装包,跟随提示走完安装流程。记得在最后的界面中,点选个人用途以免费使用。 一般来说,安装程序会注册一些服务和开机启动项,并要求你重启计算机。如果你使用时碰到了无法启动主界面、无法捕获按键或者虚拟机无网络等情况,大概率就是这些 VMware 服务项没有启动,此时需要在服务(service.msc)界面确认 VMware 相关服务的状态。 安装程序创建的四个快捷方式中,VMware Workstation 17 Player 是 Workstation Pro 的轻量版本,有很多功能限制,之前用于供用户免费试用,可能是出于历史原因被保留下来,无需在意。「虚拟网络编辑器」是创建、管理虚拟交换机的,在之后的维护章节中我们要用到。 安装和配置虚拟机搜索并打开 VMware Workstation Pro 快捷方式,虚拟机的创建、安装、维护大多需要在此应用界面下完成。 安装不同系统虚拟机的流程大同小异。在这一个章节中,我以相对复杂的 Arch Linux 为例,假设我需要安装一个 Arch 系统用于测试某应用,借此展示其中的要点。如果某个系统在某一个步骤有明显差异的话,我会穿插着讲述。 选择系统和准备镜像VMware Workstation Pro 支持市面上绝大部分系统的虚拟化,macOS 也可以通过特殊的软件解锁支持。 我们需要前往对应系统的官网或者可信的第三方网站获取虚拟机的镜像文件,本例中我需要前往 Arch Linux 官网 获取 iso 文件。 这里特别要提一下 Linux:由于其发行版非常之多,其中某些系统可能无法在虚拟机平台上弹出其 GUI 安装引导,此前我在新版 Fedora 就遇到了这种情况,但它并非 Workstation Pro 独有的问题,此时只能另选系统,或者使用 CLI 手动操作。 VMware 官方对部分系统做了安装流程上的调优简化,比如 Windows LTSC 和 Ubuntu,欧博官网选择这些系统可以大大减少配置虚拟机的操作量。而如果是 macOS,除了要准备镜像,还需要借第三方软件为 Workstation Pro 打补丁,例如 auto-unlocker 或者 unlocker。 尽管如此,这并非官方支持的做法,且运行 macOS 时无法虚拟 GPU,加之 macOS 比较繁杂的视觉效果,虚拟机运行效果并不好。所以本文并不打算详述这个过程,仅会像上面这样,在特定步骤做简单提示。如果需要详细教程,可以结合本文参考下面的博客文章。 硬件分配和系统安装接下来我们需要参考系统最低要求和需求选择和分配硬件资源。 在应用主界面点击文件 -> 新建虚拟机,进入「新建虚拟机向导」界面,选择「典型」类型的配置,在之后的界面中,如需安装 Arch Linux,我会依次选择: 安装程序光盘映像文件:定位到 Arch Linux 的 iso 文件; 选择客户机操作系统:Linux -> 其他 Linux 6.x 内核 64 位。VMware 会尝试检测镜像文件的系统,如果像 Arch Linux 这样检测失败,就要自行选择。新近释出的系统版本如果没有在下拉列表中找到,可以检查 VMware 是否为最新,再不济尝试使用最为接近的选项:譬如没找到 Windows 11 25H1 就选 Windows 11 24H2; 命名虚拟机:依照喜好命名,考虑到之后可能有在 CLI 中操作的需求,不含空格会更好; 最大磁盘大小:我一般会给普通 Linux 30 GB的空间。同样,VMware 会自动选择一个它认为合适的值。很多情况下,这个值都是刚刚够用,例如它为 Arch Linux 分配的磁盘大小是 8 GB,我一般习惯设置的大一些。如其名称所暗示的那样,这里分配的空间并不会立刻从物理硬盘上划分出去,而是动态扩展的,因而分配的大一些更好; 根据安装系统的种类,上述界面会有一些变化。 如果是 Windows 11,应用还会自动添加 tpm 模块并要求用户输入密码。这个密码会存储在系统的凭据管理器,只需要输入一次,后续点进虚拟机界面会自动解锁。但如果有迁移虚拟机的需求,则务必记下此密码,否则整个虚拟机就再也无法使用了。 如果安装的是前面提到过的 Windows LTSC 和 Ubuntu 等做过特殊支持的系统,VMware 会进入名为「简易安装」的模式,要求你输入用户名、密码等一般在 OOBE 过程中才会用到的信息。理论上,VMware 会使用这些这些信息帮你在无人值守的情况下跑完系统安装进程。不过根据我的使用实际体验,「简易安装」并非完全可靠,某些步骤可能会卡住需要用户介入。 在向导的最后一页,应用会给出之前已经设置的总览,下方会有「自定义硬件」的按钮,点进去,我们可以进一步调整硬件分配: 调大内存和处理器:如上所述,默认给的值都是刚刚够的水平。由于目的是测试应用,我选择给 Arch 6 GB 的内存(本机 32 GB 内存),6 个处理器内核(1 个处理器 x 6 个处理器内核,本机 16 核); 声卡、USB 控制器:我会将这些全部移除,因为我并不需要此虚拟机发出声音和连接 USB 设备。不必担心,虚拟硬件可以在关机状态下随时添加删除; 显示:勾选「加速 3D 图形」,图形内存设置为 1 GB。这里就是 vGPU 的控制处,很多情况下都需要用户自己添加。勾选后虚拟机画面会流畅很多。如果仅需要虚拟机的 CLI 界面,则无须设置此项。 除了能在此处控制硬件资源外,虚拟机所在目录的 .vmx 文件还有更多可定制的选项,例如 CPUID、主板 ID 等等,macOS 虚拟机可以通过更改这些选项达到「洗白」的效果。 虚拟硬件资源分配完毕,接下来就能开机进入虚拟机的部署引导。值得注意的是,Windows 虚拟机需要用户在启动后有按键操作才会进入系统安装界面,我以前经常错过这个等待时间。现在,我一般会在启动 Windows 虚拟机电源后,立刻激活 VMware 窗口,然后不断点击某个按键,直到进入系统引导界面。 系统安装流程和在实体机上大同小异。如果是像本例一样安装 Linux 系统,还需要额外注意驱动问题。VMware 提供了 GPU、鼠标等驱动的开源版本和一些管理工具,对于 Debian、Ubuntu 等支持良好的客机而言,应用会在系统部署时中自动完成安装。对于 Arch 这样未做支持的客机,我需要自行处理: pacman -S open-vm-tools gtkmm3 xf86-input-vmmouse xf86-video-vmware mesa # 配置开机自启动 systemctl enable vmtoolsd vmware-vmblock-fuse这些驱动和工具可以让虚拟机能够自动调整分辨率、和主机共享剪贴板和拖拽文件。如果虚拟机在这些功能上有问题,一般都是由于缺少 open-vm-tools 等包。这些包还包含一些特殊的工具,我们之后还会提到。 Windows 客机上对应的工具名为 VMware tools,它会在进入系统后通过挂载 iso 镜像的方式弹出安装界面。如果没看到类似提示,则可以点击应用菜单的「虚拟机」->「安装 VMware tools」手动安装。一般来说,每一次 VMware 版本升级,所有虚拟机的 VMware tools 都要升级一次。 安装 VMware tools 并重启客机后,确认虚拟机可以实时填满 VMware 窗口,并且剪贴板可以共享。此时虚拟机的安装就算完成了。 虚拟机的进阶配置和维护虚拟机的玩法有很多:作为子系统部署本地服务、作为平台调试软件、尝鲜新系统 …… 一些玩法会对虚拟机和配置和维护有特殊要求。本章节以常见问题为导向,逐一解释 VMware 虚拟机的进阶配置和维护要点。 和 Hyper-V 的兼容如果想要在开启 Hyper-V 的 Windows 平台使用 VMware Workstation Pro,安装时不需要做特殊配置,但在启动虚拟机前,需要先打开虚拟机设置界面,定位到「处理器」栏,确保下图的「虚拟化引擎」内的三个选项被取消勾选: 接着,定位到「选项」->「高级」界面,勾选「为启用了 Hyper-V 的主机禁用侧通道缓解」,这样可以提升虚拟机的性能表现。 快速启动虚拟机一般来说,启动虚拟机都需要先打开 Workstation Pro 的主界面,然后在左侧面板双击对应的虚拟机条目。对于部分需求来说,这样的步骤一方面比较繁琐,另一方面也很难自动化。 对于一些运行自部署服务的虚拟机而言,我们想要的是它跟随物理机一同启动,始终运行。要实现这个需求,可以: 打开「服务」(搜索 services.msc),将 VMware Autostart Servic 的启动类型调整为「自动」; 在 VMware 主界面,选择「文件」->「配置自动启动虚拟机」,勾选需要自启的虚拟机。 如果是频繁启动的虚拟机但无须开机自启,则可以为它单独创建快捷方式,移动到桌面、固定到开始菜单或者是任务栏。此时我们需要借助 VMware 提供的 CLI 工具。 首先定位到 VMware 的安装目录,一般是 C:\Program Files (x86)\VMware\VMware Workstation,其中有一个 vmrun.exe 程序,它可以在终端中控制虚拟机,用它启动虚拟机的语法为: vmrun.exe start <path/to/.vmx/file> gui # 弹出虚拟机的显式窗口,或者是 vmrun.exe start <path/to/.vmx/file> nogui # 无界面的后台启动例如,上一个章节安装的 Arch 虚拟机目录在 D:/VMware/Arch,命名为 ArchLinux,那么绕过 VMware 图形界面直接启动此虚拟机的命令为: vmrun.exe start D:/VMware/Arch/ArchLinux.vmx gui确定了命令后,我们按住 alt 键,选中 vmrun.exe 程序,并将其拖动到桌面,这样可以为它创建一个快捷方式。右键此快捷方式,选择「属性」,将其目标栏的内容添加上前述命令的动作和参数部分,结果大致如下: "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe" start D:/VMware/Arch/ArchLinux.vmx gui如此这般,点击快捷方式即可快速启动指定虚拟机。 设定固定 IP在 VMware 中,想要让某个虚拟机有固定的内网 IP 地址,方便运行服务或者 SSH 连接,比较好的办法是直接修改 VMware 网络交换机的 DHCP 配置文件。 首先右键虚拟机条目,进入设置,导航到「网络适配器」选项,确定使用的是 NAT 网络模式。在右侧窗口的下方,点选高级,并从弹出的界面中复制记录下虚拟机的 MAC 地址: 接着,导航到 Windows 默认隐藏的配置文件夹,C:\ProgramData\VMware\,找到 vmnetdhcp.conf 文件。以管理员权限启动任意文本编辑器,编辑这个文件。我惯用的 VSCode 有针对此场景的特别优化,即便权限不够,VSCode 在保存时触发提权弹窗。 但如果实在不知道怎么做的话,也可以将这个文件复制到桌面等其他地方,修改后再复制替换掉原文件,此时系统会自动弹出 UAC 确认框。 该文件有几行对 NAT 交换机的设定: host VMnet8 { hardware ethernet 00:50:56:C0:00:08; fixed-address 192.168.77.1; option domain-name-servers 0.0.0.0; option domain-name ""; option routers 0.0.0.0; }仿照上面的格式给 vmnetdhcp.conf 添加两行配置项,我们就能为虚拟机也设定一个固定 IP,例如将前述 Arch 虚拟机内网 IP 固定为 192.168.77.99: # Arch host VMnet8 { hardware ethernet 00:0C:29:F0:7C:73; fixd-address 192.168.77.99; }hardware ethernet 之后写本小节复制的虚拟机 MAC 地址,fixd-address 之后写 IP 地址,在子网网段中选择一个容易记住的即可,如果想要修改子网 IP 段以及创建端口转发,可以借助之前提到的「虚拟网络编辑器」。最后别忘了保存文件。 修改了网络配置后,建议直接重启物理机让配置生效。如果不想重启电脑,也可以选择在 Windows 服务页面找到 VMware NAT Service 和 VMware DHCP Service 这两个条目,依次右键点击重新启动: 快照的创建和还原快照功能毫无疑问是虚拟机相对于实体机而言最大的优势之一,借助快照,我们能快速穿梭在虚拟机运行的时间线上。 VMware 支持树状快照管理,可以回到任意节点创建互不干扰的快照。点击「虚拟机」->「快照」->「创建快照」即可新建快照,如需还原到特定快照,可以按 Ctrl + M 快捷键打开快照管理界面,双击对应的快照。 快照管理器还提供了「自动保护」功能。它的作用是在虚拟机关机时自动创建快照,不过我一般不习惯打开,毕竟每一次快照都会占用较大的磁盘,而个人使用对虚拟机的数据安全要求并不高。 克隆与迁移和快照关系密切的是「克隆」,这也是个人比较喜欢的小功能之一。VMware 支持将虚拟机的任意快照节点独立出来,形成一个单独的虚拟机的条目。 右键虚拟机条目,点击「管理」->「克隆」,进入克隆虚拟机向导,选择需要的快照节点或者当前状态后,我们能选择两种克隆方式: 链接克隆:借用原有虚拟机的文件,占用空间更小,但此后不能删除原有的虚拟机和快照; 完整克隆:复制粘贴原有虚拟机的文件,此后两个虚拟机相互独立,互不影响,但占用空间更大。加密过的虚拟机仅支持这种克隆方法。 克隆功能让在本机内移动虚拟机变得更便捷,而要在不同的物理机间迁移虚拟机其实更简单:只需要将虚拟机所在目录整个复制粘贴到对应的地方即可。比如 A 计算机在 D:/VMware 有三个虚拟机条目,那么,将 D:/VMware 之内的所有文件夹全数复制到 B 计算机上的 VMware 虚拟机文件夹即可。 如果应用没有扫描到新复制的虚拟机,还可以点击「文件」->「扫描虚拟机」,手动扫描添加。 一般来说,同一个版本的 Workstation Pro 创建的虚拟机迁移不会有任何问题,如果是不同版本,则遵循着「高版本创建的虚拟机默认无法在低版本使用」的原则。不过也不用担心,VMware 提供了兼容性修改工具,右键虚拟机,选择「管理」->「更改硬件兼容性」,跟随向导就能升级或者降级虚拟机兼容版本。 磁盘清理前面提到过,VMware 预设使用动态磁盘,在虚拟机需要更大空间时,才会把物理磁盘的空间分配出来。但分配出来的空间默认并不会回收,长期以往,一份虚拟机占用的空间可能会越来越大。这时候我们可以执行磁盘清理以释放空间。 对于 Windows 客机而言,其实有自动清理的选项。我们要在虚拟机的高级设置界面导航到位于界面左上方的「选项」->「高级」,勾选设置中的「在关闭虚拟机后清理磁盘」条目。 如需手动清理,建议: 先删除虚拟机所有快照; 点击虚拟机设置的「硬件」->「磁盘」->「碎片整理」; 最后选择「压缩」功能。 不过上述操作对大部分 Linux 虚拟机来说并没有作用,这时候就要借助安装在 Linux 客机中的 open-vm-tools。仍以 Arch Linux 为例,启动 Arch 虚拟机,打开终端,执行: # 需要 root 权限 # 列出所有磁盘 vmware-toolbox-cmd disk list # 压缩指定路径(根目录) vmware-toolbox-cmd disk shrink /执行命令后,Linux 客机的磁盘会被逐渐占满,最后慢慢释放。进度条走完就标志着磁盘压缩的工作的完成。 结语多亏了博通,VMware 让我体验了一把虚拟机管理软件的成熟之美。它可靠、稳定,兼容性良好。经历了一次实体机的更换和两次系统升级后,我在刚接触 VMware 后安装的几个虚拟机至今仍在稳定服役。 虽然基本操作都比较直观,但我使用它的过程中还是遇到了不少疑难杂症,爬文、问 AI、发邮件多处求索才懂个大概。我已经将这些经验悉数放在文字中,但愿这篇事无巨细的文章能够帮你加速学习的进度,少走一些不必要的弯路。 (责任编辑:) |