VMware 虚拟机中安装 macOS 一直更新镜像
声明:本文旨在学习研究,所使用的工具与资源完全来自互联网,并已于下载后 24 小时内删除。
体验几乎不可能获得非常流畅,并非追求日用
一、准备
第一步:安装 VMware Workstation Pro。
安装好后,还需要使用Unlocker 解锁 VMware 对 macOS 的支持。下载并解压后,进入windows 文件夹,关闭所有 VMware 进程后双击运行unlock.exe 即可。
在运行 Unlocker 前,除了关闭所有进程,你可能还需要前往任务管理器,关闭 VMware 的所有服务。


第二步:下载并导入 OC4VM 的虚拟机模板
OC4VM ,即 OpenCore for VMware,是OpenCore 这一开源 macOS Bootloader 的 VMware 特制版。OC4VM 提供了虚拟机模板文件,从而避免了 AMD 用户进行额外复杂的调整。
前往其 Release 界面下载并解压后,进入vmware 文件夹,根据自己的 CPU,复制对应的文件夹到一个新地方,例如C:\macOS\amd 。


笔者本人使用的是 AMD CPU,后文都将以此为例。
打开 VMware,将amd 文件夹中的macos.vmx 直接拖入 VMware 窗口,导入虚拟机。
你可以自行调整 CPU 数量、内存和硬盘大小等参数,通常情况下,它们与虚拟机运行的流畅程度近似呈对数曲线相关。

第三步:获取 macOS 镜像
OC4VM 压缩包中的tools\windows\recoveryOS.exe 工具可以自动下载 macOS 的.dmg 镜像并将其转换为.vmdk 文件直接供 VMware 使用,你可以参照文首提供的 Wiki 使用。
然而,该工具在笔者的电脑上无法正常运行,如果你也遇到了同样的问题,则需要手动下载并转换格式。
如果你可以正常使用 recoveryOS.exe 并获得了 .vmdk 文件,请直接跳转到第四步。
macos-iso-builder 允许你在没有 Mac 的情况下生成 macOS 镜像文件(尽管实际上它只是借助 GitHub Actions 使用 Azure 云上的 Mac Mini 构建)。镜像分为 Recovery 镜像和 Full Installer 镜像,前者体积小于 1GB,在安装过程中联网下载完整文件,仅以.iso 格式提供;后者体积较大,可以离线安装,有.iso 和.img 两种格式**(尽管 README 文件中称为** .dmg ,但实际上得到的是 .img 文件) 。
我们选择后者,即 Full Installer 的.img 文件。
你可以 Fork 后自行构建(并等待 10-60 分钟),也可以在 Release 界面找到其他 Fork 中现成的镜像文件。不同 Fork 中所构建的系统版本也不同,请自行选择,唯须注意:OC4VM 仅支持 Big Sur 至 Tahoe 版本。
不建议选择 Tahoe,一方面是因为 OC4VM 对 Tahoe 支持不全,另一方面是 Liquid Glass 效果非常消耗图形处理性能,对于性能羸弱的虚拟机来说更是雪上加霜。
按常理来说,较久的版本可能会有更好的性能表现,请自行取舍。
下载得到的应当是一个嵌套的.zip 文件,将其中的.img 文件解压出来,重命名为input.img ,保留备用。
第四步:转换镜像格式并装载到虚拟机中
这一步需要使用到qemu-img ,这是另一个知名虚拟机软件 qemu 所附带的工具,可以将不同格式的镜像文件和虚拟磁盘文件互转。前往其官网下载并解压后,将上一步得到的input.img 文件移动到同一文件夹,例如C:\qemu-img\input.img 。在该文件夹下打开终端(在资源管理器的路径栏直接输入 cmd 并回车即可),或将其路径加入系统path ,执行:
qemu-img.exe convert input.img -O vmdk output.vmdk
如果你在上一步中可以正常使用 recoveryOS.exe 并获得了 .vmdk 文件,可以忽略这一部分。
等待转换完成后,打开 VMware,选中刚刚导入的虚拟机(macOS AMD),编辑虚拟机设置 -> 添加硬件 -> 硬盘 -> SATA -> 使用现有虚拟磁盘 -> 选择刚刚生成的output.vmdk ,添加完成。



导入虚拟磁盘文件时,可能会询问是否转换虚拟磁盘格式。是否转换均可,并不影响使用。
到此为止,我们已经完成了所有准备工作。
二、安装
这一部分的图片来自 OC4VM 的 Wiki。
启动虚拟机,不出意外(并且你的电脑没有静音)的话,你将会听到那声经典的“duang”的启动音,并看到 OpenCore 的引导界面。选择第一项「macOS Base System」,等待读条完成后即可进入 Recovery 模式。


屏幕下方出现读条即说明系统能够正常启动,耐心等待即可。如果卡在此界面,则说明你的虚拟磁盘文件可能出现了问题。


这之后的操作不再赘述。安装过程中,虚拟机会多次重启,你可以先去喝杯咖啡,直到进入熟悉的 OOBE 界面。

一路下一步并跳过所有可以跳过的设置(包括迁移数据、登录 Apple ID、定位服务等等)。虚拟机的定位和时区默认为 Cupertino,你需要自行更改。
Apple 已经禁止了虚拟机登录 Apple ID,OC4VM 的最新版本也移除了对此的支持,请自行搜索解决方案。
请务必关闭自动更新。如果不慎开启,可以在 OOBE 结束后前往设置关闭。

刚进入系统时,壁纸可能会是一片空白。这是因为在没有安装 VMware Tools 的情况下,为虚拟机分配的显存仅有 3MB,macOS 的动态壁纸无法正常显示。前往系统设置,换用一张静态壁纸即可解决。

安装完成后,你可以前往虚拟机设置,删除添加的虚拟磁盘(并删除留存的.vmdk 文件),但虚拟机右上角的 OPENCORE 无法弹出。
三、优化
调整部分系统设置以提高流畅度
前往系统设置,搜索「扩展」,将「共享」和「访达」下的所有复选项关闭。

前往「辅助功能」-> 「显示」,打开「减弱动态效果」、「降低透明度」。你可以根据自己的偏好自行选择是否打开「增强对比度」和「无需用颜色区分」。

前往「桌面与程序坞」,将「最小化窗口时使用」从「神奇效果」切换成「缩放效果」,并关闭「弹跳打开应用程序」。

安装 VMware Tools
点击上方「虚拟机」菜单中的「安装 VMware Tools」,虚拟机桌面上将会自动弹出安装器,根据指示安装即可。

这里选项置灰是因为懒得启动虚拟机
如果你使用的不是最新 25H2 版本的 Workstation,可能会收到以下错误提示。你需要自行下载 VMware Tools。

当然,在安装过程中,你需要进入「隐私与安全性设置」允许安装。如果没能及时允许,安装器可能会因超时而报错,重新安装即可。
安装 VMware Tools 之后,系统显存将会从 3MB 上升到惊人的 128MB。虚拟机设置中的 3D 图形不出意料地无法生效,显存大小也完全与下方设置的图形内存无关。

由于笔者本人使用的是 AMD CPU + NVIDIA 显卡,关于开启显卡直通以实现 3D 加速,请自行搜索解决方案。
修改分辨率
不知为何,macOS 识别到的内建显示器分辨率可能与虚拟机设置中指定的分辨率并不相符,同时又不支持对内建显示器自定义分辨率。好在利用 VMware Tools 可以通过终端修改分辨率。打开终端,执行:
sudo /Library/Application\ Support/VMware\ Tools/vmware-resolutionSet 1920 1080
强烈建议将终端和其他常用应用固定在程序坞,因为开关启动台和文件夹消耗图形资源可能会让虚拟机直接卡死。
最后两个参数是分辨率的宽和高,你可以根据自己的需求自行修改。一般情况下,为了获得最好的点对点渲染效果,推荐设置成和主机显示器相同的分辨率。如果需要调整缩放比,请自行换算。
输入密码并回车后,屏幕会在闪烁后调整到指定的分辨率。然而,在非 HiDPI 分辨率下,可能会出现前面提到的网页渲染问题,切换到 HiDPI 分辨率下即可解决(同时,系统界面的缩放比例也会变成 200%)。


Enjoy!
(虽然这个流畅度也 enjoy 不起来就是了)