VMware安装macOS虚拟机全教程:从解锁到性能优化
把话说在前面在Windows里用虚拟机安装Mac OS系统这一套流程本身并不复杂但和装Windows、Linux虚拟机不一样它的坑大多数集中在前期的准备和“解锁”环节。VMware默认不提供macOS客户机选项也不会直接识别Mac系统镜像需要额外用一个解锁工具放开限制才能在新建虚拟机向导里看到Apple Mac OS X这个类型。这篇文章按我实际操作下来的流程写先准备什么文件再解锁VMware然后创建虚拟机并安装系统最后处理VMware Tools和性能优化每一步对应什么界面现象我都会讲清楚适合从没接触过虚拟机的新手参考也适合装到一半卡住的人按图索骥。1. 准备工作不能跳硬件门槛与三份关键文件1.1 先看机器配置再决定要不要继续在动手之前先花两分钟确认硬件条件。CPU方面Intel平台是最稳妥的选择我这一路安装下来几乎没有遇到硬件层面的阻碍AMD平台理论上也能装但安装器启动阶段容易出现内核报错需要额外加引导参数或者换定制引导镜像新手不建议一上来就挑战。内存建议16GB起步因为macOS虚拟机本身至少要分到4GB到8GB内存才不卡宿主机Windows这边还要留出3GB到4GB给系统自身和VMware后台进程。磁盘空间更别小看macOS系统镜像动辄12GB装完系统后虚拟磁盘占用大约20GB到30GB再留出后续安装软件和系统更新的余量虚拟机磁盘文件建议直接划到60GB以上。还有一个容易漏的硬件开关虚拟化。在BIOS/UEFI里确认Intel VT-x或AMD-V处于开启状态。Windows下打开任务管理器切到性能页点击CPU右下角能看到“虚拟化: 已启用”的字样如果显示已禁用需要进BIOS找到Intel Virtualization Technology或SVM Mode之类的选项打开。VMware开机时报“此主机支持Intel VT-x但Intel VT-x处于禁用状态”八成就是这个问题。1.2 VMware、解锁工具、macOS镜像三件套整个流程需要三个文件VMware Workstation安装包、macOS解锁工具、macOS系统镜像。三个文件各有讲究缺一个都会卡在半路。VMware Workstation建议直接上最新的17.x版本目前个人用户使用已经免费不需要找什么注册码去官网下载安装包即可。如果手头只有16.x也能用操作步骤基本一致只是个别菜单名称略有差异。装新版本前提一句设备上有旧版本的话先卸载干净避免两套VMware服务残留解锁脚本运行时容易定位到错误目录。macOS解锁工具我用的是社区里常见的unlocker系列解压后会看到win-install.cmd、win-update.cmd、win-unlock.cmd三个脚本。它做的事情不是破解系统授权而是修改VMware的配置和二进制文件把被隐藏的Apple Mac OS X客户机类型重新显示出来。这个工具分发的版本很多有些打包名带darwin字样核心功能是一样的。后面我会专门用一节讲操作细节这里先记住一个原则必须以管理员权限运行运行前务必完全退出VMware。macOS系统镜像建议优先从自己现有的Mac设备上获取用App Store下载完整安装器再用系统自带的createinstallmedia命令制作启动盘。如果没有Mac设备社区制作的ISO也可以作为选择但要注意两点文件大小通常在10GB以上文件名中会标注系统版本号比如macOS Monterey、macOS Ventura。我这次用的是Monterey版本的ISO文件名类似“macOS Monterey 12.x.iso”文件大小约12GB安装过程比较顺利。1.3 镜像格式的几个细节镜像文件格式方面常见的有ISO、CDR和DMG三种。DMG是Mac下原生的磁盘镜像格式VMware引导时不一定能直接识别需要转成ISO或CDR再用。CDR是Mac下的刻录镜像格式在Windows里也能被VMware读取但有些版本兼容性一般。最省心的是把镜像统一处理成ISO格式安装时在VMware的CD/DVD设置里直接挂载即可。下载完镜像后建议顺手核对一下文件大小和哈希值。很多安装中途失败的问题追到根上都是镜像文件不完整。Windows下可以用PowerShell的Get-FileHash命令计算SHA256和下载页面提供的值比对一下强烈建议不要跳过这一步。我刚开始折腾的时候就因为图省事跳过校验连续两次在安装进度条跑到一半时报错最后发现是镜像下载不完整白白浪费了几个小时。2. 解锁VMware这一步到底在解什么2.1 VMware为什么默认不显示macOS类型不少人的第一反应是“解锁等于破解”其实理解偏了。VMware Workstation在技术上完全有能力虚拟化macOS但苹果对macOS的授权协议有限制VMware出于合规考虑在商业产品里默认把macOS客户机类型隐藏了。换句话说这不是技术做不到而是产品策略上的取舍。解锁工具做的事情是修改VMware的vmware-vmx.exe等核心文件和配置文件把这个选项重新“放出来”。这里也提醒一句解锁工具不提供系统镜像也不破解任何软件功能安装完的macOS仍属于个人学习、开发测试这类合理使用场景边界自己把握好。2.2 解锁脚本三种模式怎么选解锁工具解压后目录中除了脚本之外还有tool、iso等子目录放着macOS安装时所需的引导文件和Tools相关组件。三个批处理脚本的分工如下脚本作用使用时机win-install.cmd首次解锁修改VMware配置和核心文件第一次装macOS前运行win-update.cmdVMware升级后重新解锁升级VMware导致解锁失效时运行win-unlock.cmd把文件恢复到解锁前的状态卸载VMware或不需要解锁时运行实际操作很简单第一步完全退出VMware包括右下角托盘的图标也要右键退出然后打开任务管理器确认进程列表里没有vmware.exe第二步找到win-install.cmd右键选择“以管理员身份运行”第三步等待命令行窗口输出信息并自行关闭。正常执行时窗口里会滚动出一批文件名和“OK”之类的字样说明文件在逐个替换。脚本跑完后打开VMware新建虚拟机向导的客户机操作系统选择页面里往下滚动就能看到Apple Mac OS X选项说明解锁成功。2.3 解锁失败的隐蔽原因和解决办法解锁脚本执行后如果向导里还是没有Apple选项最常见的原因是杀毒软件拦截。unlocker在修改VMware核心二进制文件时某些安全软件会静默回滚修改而且不一定弹窗提示。排查方法是临时退出第三方杀毒软件再关闭Windows Defender的实时保护重新运行一次win-install.cmd解锁成功后再把安全功能打开。另外如果VMware安装到了非默认目录脚本默认路径找不到文件也会失败需要手动修改脚本里的安装路径变量让脚本指向你实际的VMware安装目录。还有一个小概率情况脚本要求VMware的版本和当前版本匹配如果用的是预览版或绿色精简版VMware解锁脚本可能直接报错这种时候换成官方正式版最省事。3. 创建虚拟机的关键参数给多少硬件才不会卡3.1 选自定义配置不选典型在VMware主页点击“创建新的虚拟机”向导会问“典型推荐”还是“自定义高级”。这里建议选自定义虽然典型模式少点几下鼠标但它的默认参数对macOS不友好。典型模式不会帮你区分固件类型也不会提前暴露虚拟化选项和CPU核心配置而这些恰恰是影响macOS安装成败的关键。自定义向导虽然步骤多一页但每一步都能确认清楚后面省得反复返工。3.2 客户机操作系统和版本怎么匹配向导进行到“客户机操作系统安装”页面选择“Apple Mac OS X”然后在下拉菜单里选对应的版本。Monterey对应macOS 12Ventura对应macOS 13Sonoma对应macOS 14。版本选错是启动阶段卡Logo的常见原因。如果列表里没有你镜像对应的版本选相邻的旧版本可能也能引导但新系统的某些功能会受影响最稳妥还是镜像和版本严格对应。这里稍微展开一下原因macOS安装器启动时会对虚拟机的SMBIOS信息和系统版本做匹配校验两者对不上就直接停住或者弹错误框不会给你任何缓冲的余地。3.3 CPU核心数和内存的经验值处理器核心数建议4核如果宿主机的核心数比较少2核也能跑但安装过程会明显变慢。8核以上机器没必要贪多全给虚拟机反而可能让macOS的调度行为异常出现启动缓慢或内核不稳定。内存方面我现在用的这台机器是16GB内存给虚拟机分配8GBWindows宿主机保留8GB两边都流畅如果只有8GB内存建议给虚拟机分4GB再多宿主机就要开始频繁使用虚拟内存整体体验反而更差。内存分配有一个原则可以套用虚拟机分配上限等于宿主机总内存减去宿主机系统自身占用再减去VMware运行时需要的额外余量。按这个公式算16GB内存分8GB32GB内存可以分12GB到16GB。给虚拟机内存时不要一次性顶满留出几百MB余量给VMware的虚拟内存交换文件运行更稳定。3.4 磁盘、固件和显示参数虚拟磁盘大小设置为60GB到80GB格式选择“将虚拟磁盘存储为单个文件”对磁盘性能有一定帮助也方便以后复制迁移。如果选择拆分成多个文件某些版本VMware在macOS快照时会遇到无法合并快照的问题单文件格式能规避这个坑。硬盘控制器保持默认的NVMe就行macOS在虚拟机里对NVMe的支持已经很成熟SATA控制器也能用但性能略低。固件类型选择UEFI不要选BIOSmacOS安装器依赖UEFI引导选错会报找不到启动卷。完成向导后在虚拟机设置里检查显示选项确认“加速3D图形”已勾选显存设置不低于128MB。这一步很多教程不会提但直接影响macOS桌面动画的流畅度不勾选的话打开启动台、切换空间都会觉得明显卡顿。全部配置完成后把虚拟机的配置文件用记事本翻开看一眼确认保存了刚才的设置这一步我一般会做因为偶尔VMware界面显示的和VMX文件里的实际值不一致以文件内容为准。4. 从磁盘工具到安装向导macOS安装全流程4.1 需要先“抹掉”虚拟磁盘点击开启虚拟机确认虚拟机从ISO镜像引导屏幕上会进入两种界面之一要么直接出现语言选择要么先出现一个带“磁盘工具”“安装macOS”等选项的恢复界面。无论哪种都需要先对虚拟磁盘做初始化。点击“磁盘工具”点击“继续”在磁盘工具左侧选择VMware虚拟出的那块NVMe磁盘注意要选中磁盘本身而不是它下面的容器卷然后点击“抹掉”。弹出的窗口里“名称”填写macOS“格式”选择APFS“方案”选择GUID分区图。确认无误后点击抹掉几秒钟即可完成。磁盘工具的作用类似于Windows里的磁盘管理但macOS安装引导要求目标盘必须是GUID分区图的APFS卷一旦选错分区方案后续安装步骤会直接提示“无法安装到此磁盘”所以这一步千万不要跳。如果“抹掉”按钮是灰色的说明当前选中的是某个分区而不是整块磁盘重新在左侧点选磁盘根节点即可。4.2 安装过程中的“剩余时间”为什么反复跳抹掉完成后关闭磁盘工具回到实用工具列表选择“安装macOS”。同意许可协议选择刚才格式化好的磁盘点击安装。系统会自动重启数次屏幕出现进度条和剩余时间估算。“剩余大约16分钟”跳成“1分钟”再跳回“13分钟”都是正常现象不要因为这个反复按电源键重启虚拟机。这个过程实际上是安装器在展开系统文件、写入引导器、验证组件完整性耗时长是正常的。SSD宿主机全程大约20到30分钟机械硬盘可能要翻倍。安装阶段如果长时间黑屏但没有死机建议多等一会儿如果进度条超过30分钟完全不变再考虑是不是CPU核心数或镜像文件的问题。个别镜像在重启后会出现“准备安装时发生错误请尝试重新运行此应用程序”的提示遇到这种情况回到磁盘工具重新抹掉一次再跑安装向导多数能解决。我第二次安装时就遇到了这个报错排查发现是第一次抹盘时分区方案选错了重新抹掉后一路顺畅。4.3 首次启动的设置向导怎么选安装完成后虚拟机再次重启进入首次启动设置。语言选简体中文键盘布局选简体中文。网络连接界面建议选“不连接网络”或直接跳过因为虚拟机环境里登录苹果ID意义不大跳过能省掉很多网络认证失败的麻烦。创建本地账号时用户名和密码随意设置但建议用简单的英文用户名因为后续终端做sudo提权、安装VMware Tools时都会反复用到。电脑名称可以随意命名会显示在网络共享里。设置完成后进入桌面到这里macOS主体安装就算完成了。第一次进桌面时系统可能还会加载几分钟后台在做Spotlight索引和系统初始化看起来像卡住了其实是在忙。可以打开活动监视器看看负载如果CPU占用率很高但系统有响应就继续等它完成。5. 装完不是结束VMware Tools与三项体验优化5.1 VMware Tools必须装的两层原因刚进桌面时会发现分辨率固定在一个很小的值鼠标在虚拟机窗口边缘移动会被卡住文本无法从宿主机复制进虚拟机。这些体验问题的根源是虚拟机里缺少驱动。VMware Tools是VMware提供的一组驱动和系统服务负责显卡适配、鼠标进出、剪贴板和文件夹共享等功能。对于macOS客户机来说VMware Tools同样是必不可少的虽然装Tools并不会让macOS变成一台真正的Mac但没它连正常用鼠标都费劲。安装方法是点虚拟机菜单栏的“虚拟机”选择“安装VMware Tools”挂载Tools镜像后在桌面上打开挂载出来的卷双击里面的.pkg安装包按提示继续输入本地账号密码授权完成后重启虚拟机。重启后分辨率会随窗口大小自动调整鼠标可以自由进出虚拟机和宿主机剪贴板也能直接共享。有个细节要注意安装Tools包时如果系统提示“无法打开因为无法验证开发者”需要去“系统设置-隐私与安全性”里点“仍要打开”这是macOS对非签名包的常规拦截不是文件问题。5.2 影响流畅度的三个关键设置第一确认“加速3D图形”已勾选这个选项在虚拟机设置的“显示器”页面。如果之前没勾补上后需要重启虚拟机才生效。开启后Mission Control的缩放动画、文稿的翻页效果、地图的拖拽都会顺畅不少。第二在处理器设置里勾选虚拟化选项不同版本显示名称略有不同常见的是“虚拟化Intel VT-x/EPT或AMD-V/RVI”。这个选项开启后虚拟机的CPU指令执行少走一层模拟系统调用、磁盘IO、网络效率都会有肉眼可见的提升。如果这个选项灰色不可勾选回到第一章检查BIOS里的虚拟化开关是否开启。第三不建议开启VMware的“内存热添加”功能。这个热插拔能力对Windows客户机很友好但macOS对热加内存支持不完善可能导致虚拟机内识别不到新内存甚至系统不稳。要调内存关机状态下改配置再启动反而更稳。另外可以在VMware性能选项里把“虚拟机中的内存”设置为“预留所有客户机内存”这样macOS运行时不容易被宿主机回收内存导致卡顿代价是宿主机可用内存余额变少内存不足16GB的话慎开。5.3 网络模式和宿主机互传文件的办法VMware默认的NAT模式下虚拟机通过宿主机上网安装完macOS后Safari应该能直接访问外网。如果需要和宿主机互传大文件有人习惯用VMware的共享文件夹功能但这个功能对macOS的兼容性比Windows客户机差一些经常出现挂载不上或权限错误。更省心的方案是在macOS的“系统设置-通用-共享”里打开“文件共享”然后在Windows资源管理器地址栏输入虚拟机的局域网IP通过SMB协议互传文件大文件的传输速度比想象中稳定。需要网络调试的场景可以把虚拟机网络模式改为桥接让虚拟机直接获得局域网独立IP但这取决于所在网络是否允许按需切换即可。6. 安装过程中最常见的报错和排查思路6.1 Apple Mac OS X选项不出现新建虚拟机向导里找不到Apple选项基本可以断定解锁没有生效。按这个顺序排查先关闭VMware以管理员身份重新运行win-install.cmd确认脚本没有报错再检查杀毒软件和Windows Defender的实时保护是否拦截了脚本对vmware-vmx.exe的修改如果VMware是自定义安装路径查看脚本内的路径变量是否匹配。还有一个验证技巧去VMware安装目录里找有没有vmware.efi.bak这类备份文件存在说明脚本执行过问题多半在安全软件回滚或路径变量不匹配。6.2 启动卡在苹果Logo或进度条这类问题多半是镜像版本和虚拟机的系统类型不匹配比如镜像实际是Ventura创建虚拟机时却选了Monterey。排查时先在虚拟机设置里把客户机系统版本改对再尝试把CPU核心数从4核调成2核有时候是CPU配置导致的内核初始化失败。如果还是卡编辑虚拟机的VMX配置文件在文件末尾添加两行参数cpuid.0.eax 0000:0000:0000:0000:0000:0000:0000:1011 smc.version 0这两行的作用是绕过部分macOS版本对SMC芯片型号的检查很多社区里的卡Logo问题靠这个组合解决。修改前必须关闭虚拟机和VMware否则文件被占用保存不了。6.3 安装器提示“此版本的macOS不能安装在此电脑”这个报错同样和SMBIOS信息有关。macOS安装器会读取虚拟机报告的主板信息如果和版本匹配不上就拒绝安装。常见的解决办法是在VMX文件里固定机型和主板标识让安装器以为自己在苹果标准硬件上运行比如把VMX文件里已有的board-id和hw.model字段改成board-id Mac-7BA5B2D9E42DDD94 hw.model MacPro6,1保存后重新启动虚拟机再进安装器一般就能往下走。如果修改后安装器还是拒绝可以考虑更换镜像版本某些修改过的镜像本身集成了合适的引导参数能省掉这些手动操作。6.4 VMware Tools反复安装失败Tools安装包报错的常见原因是VMware版本太旧Tools的安装程序和你当前macOS版本不兼容。先把VMware Workstation升级到最新再重新挂载Tools镜像即可。至于装完Tools后剪贴板仍然不能共享检查虚拟机设置的“选项”页进入“客户机隔离”确保“启用复制粘贴”两个复选框处于勾选状态。顺带说一句如果之前从非官方渠道下载过“精简版”Tools也会出现各种奇怪问题建议一律用VMware自己的原版镜像。6.5 运行卡顿、风扇狂转和快照失败虚拟机运行卡顿先看资源分配。Windows任务管理器中如果虚拟机进程CPU占用常驻100%先检查CPU核心数是否给得太少再把处理器虚拟化选项打开如果内存占用一路顶到分配上限就该加内存或压缩虚拟机占用的内存缓存。还有一个经常被忽略的问题Windows的快速启动功能会让系统关机时锁定部分虚拟磁盘文件导致虚拟机IO性能严重下降按“控制面板-电源选项-选择电源按钮的功能”关闭快速启动重启Windows卡顿往往能得到明显改善。快照失败则通常和虚拟磁盘的分片策略有关创建虚拟机时如果选了“将虚拟磁盘拆分成多个文件”做快照时偶尔会报“无法创建快照”或“无法合并磁盘”。解决办法是把虚拟磁盘转为单文件格式需要在关闭虚拟机后用VMware自带的vmware-vdiskmanager工具把磁盘重新整理一遍或者直接重新建一台单文件磁盘的虚拟机再把旧虚拟机里的数据迁移过去。更简单的做法是从一开始创建虚拟机时就直接选“将虚拟磁盘存储为单个文件”一步到位省得后面折腾。最后分享一个我在多次安装之后得出的体会如果只是好奇想看看macOS长什么样那解锁、安装、进桌面就够了不用深究太多但如果你是要长期用它跑开发、测试或日常办公一定不要把VMware Tools和3D加速这些优化步骤跳过虚拟机的体验上限取决于你在细节上花了多少心思。安装过程中如果碰到这篇文章没覆盖到的报错建议把VMware版本、CPU平台、镜像文件版本和完整报错信息一起发到社区这样别人帮你判断根因会快很多。