用Vmware安装一台MacOS虚拟机

1. 前言

最近在开发一个 Tauri 桌面应用, 由于 Tauri 应用的跨平台编译特性还不是特别完善, 比如打包 macos 桌面应用程序, 需要在 Macos 上进行. 于是想到了是否能安装一台 macos 虚拟机用于打包, 并兼顾 Macos 上的测试. 于是就有了这篇文章. 当然安装 macos 虚拟机的好处远不指这些.

原创不易, 本文原文位于如何安装一台 MacOS 虚拟机 | 鹏叔的技术博客 , 原文下面有打赏按钮, 希望得到您的支持, 您的支持是持续输出更多好文的动力!

2. 了解 macOS 的版本

在安装 macOS 之前我们需要了解一下, macOS 都有哪些版本, 以及对虚拟机平台的硬件要求.

  • macOS Sonoma
macOS发布时间版本
macOS Sonoma2024 年 03 月 26 日14.4.1 (23E224)
macOS Sonoma2023 年 10 月 25 日14.1 (23B74)
macOS Sonoma2023 年 09 月 26 日14 (23A344)
macOS Sonoma2023 年 08 月 30 日14.0 Beta 7 (23A5328b)
  • macOS Ventura
macOS发布时间版本
macOS Ventura2023 年 09 月 21 日13.6 (22G120)
macOS Ventura2023 年 09 月 07 日13.5.2 (22G91)
macOS Ventura2023 年 08 月 17 日13.5.1 (22G90)
macOS Ventura2023 年 07 月 24 日13.5(22G74)
macOS Ventura2023 年 06 月 21 日13.4.1 (22F82)
macOS Ventura2023 年 05 月 18 日13.4 (22F66)
macOS Ventura2023 年 04 月 07 日13.3.1(22E261)
macOS Ventura2023 年 03 月 27 日13.3 (22E252)
macOS Ventura2023 年 02 月 13 日13.2.1 (22D68)
macOS Ventura2023 年 01 月 23 日13.2 (22D49)
macOS Ventura2022 年 12 月 13 日13.1 (22C65)
macOS Ventura2022 年 11 月 10 日13.0.1 (22A400)
macOS Ventura2022 年 10 月 25 日13.0 (22A380)
  • macOS Monterey
macOS发布时间版本
macOS Monterey2023 年 09 月 21 日12.7
macOS Monterey2023 年 07 月 28 日12.6.8
macOS Monterey2023 年 06 月 22 日12.6.7
macOS Monterey2023 年 05 月 18 日12.6.6
macOS Monterey2023 年 04 月 10 日12.6.5
macOS Monterey2023 年 03 月 27 日12.6.4
macOS Monterey2023 年 01 月 26 日12.6.3
macOS Monterey2022 年 12 月 16 日12.6.2
macOS Monterey2022 年 10 月 24 日12.6.1
macOS Monterey2022 年 09 月 13 日12.6
macOS Monterey2022 年 08 月 17 日12.5.1
macOS Monterey2022 年 07 月 25 日12.5
macOS Monterey2022 年 05 月 18 日12.4
macOS Monterey2022 年 03 月 31 日12.3.1
macOS Monterey2022 年 03 月 14 日12.3
macOS Monterey2022 年 02 月 10 日12.2.1
macOS Monterey2022 年 01 月 27 日12.2
macOS Monterey2021 年 12 月 14 日12.1
macOS Monterey2021 年 10 月 26 日12.0.1
  • macOS Big Sur (macOS 11.x) 首次发布时间 2020 年 11 月 12 日
  • macOS Catalina (macOS 10.15.x) 首次发布时间 2019 年 10 月 7 日
  • macOS Mojave (macOS 10.14.x) 首次发布时间 2018 年 9 月 24 日
  • macOS High Sierra (macOS 10.13.x) 首次发布时间 2017 年 10 月 5 日
  • 其他 macOS
macOS发布时间版本
macOS Sierra2017 年 7 月 19 日10.12.6
OS X El Capitan2016 年 7 月 18 日10.11.6
OS X Yosemite2015 年 8 月 13 日10.10.5
OS X Mavericks2014 年 9 月 17 日10.9.5
OS X Mountain Lion2013 年 9 月 12 日10.8.5
OS X Lion2012 年 10 月 4 日10.7.5
Mac OS X Snow Leopard2011 年 7 月 25 日10.6.8
Mac OS X Leopard2007 年10.5.8
Mac OS X Tiger2005 年10.4.11
Mac OS X Panther2003 年10.3.9
Mac OS X Jaguar2002 年10.2.8
Mac OS X Puma2001 年10.1.5
Mac OS X Cheetah2001 年10.0.4

更多 Macos 版本信息可以参考macOS 系统各版本发布日期时间及 Mac 系统下载集合

3. 了解 macos 的安装包格式

macos 的安装包有两种格式: PKG 和 DMG.

PKG 文件格式通常被苹果公司用于其移动和桌面设备。它受到 macOS 和 iOS 的支持。不过,这并不是苹果设备独有的,因为索尼也使用 PKG 在 PlayStation 设备上安装软件包。

DMG 是磁盘映像文件的缩写。DMG 是 Apple 磁盘映像文件的扩展名。它是一个磁盘映像,可以用于分发软件或其他文件,甚至可以用于存储(如可移动媒体)

DMG 又分为两个版本: 一个是基于 Apple Silicon cpu 架构的也就是 ARM 架构的, 一个是 Intel cpu 也就是 x86 和 x64 架构的.

以下是本教程使用的 DMG 版本: macOS High Sierra 10.13.6 (DMG 格式) 下载地址

DMG 格式的安装文件下载后需要转换为 ISO 格式才能在虚拟机上使用, 下面是转换好的格式.

macOS High Sierra 10.13.6 (ISO 格式) 下载地址 密码:1t3e

无论选择哪种格式下载过程会很久, 请耐心等待.

update on 2024-4-26:

关于如何制作ISO文件,可以参考我近期的博客如何制作 macOS Sonoma ISO 文件 | 鹏叔的技术博客

4. 安装 macos Unlocker

macos Unlocker 最新版是一个用于电脑安装 mac 虚拟机的破解工具,用户可以使用此工具来解锁系统权限,让你可以选择 macos 等其他系统的安装。允许您使用 VMware 或 VirtualBox 将 Mac OS X 安装到任何计算机上以创建苹果虚拟机。

针对不同的虚拟平台下载不同的 macos Unlocker.

本教程针对 vmware esxi 6.7 和 vmware player 17.5.0 进行了测试,两者安装 VMware Unlocker 的过程稍有不同,下面分别介绍如何安装 VMware Unlocker.

For Vmare esxi

针对 Vmare esxi 所以使用的是 VMware Unlocker for esxi.

首先下载VMware Unlocker for esxi

上传至 ESXi 服务器, 解压并执行解锁程序.

1
2
3
4
5
6
7
8
9
10
11

unzip unlocker302.zip

# 执行Unlocker补丁

./esxi-install.sh

# 安装完成后检测一下, 当输出smcPresent = true表示解锁成功

./esxi-smctest.sh

For vmware player

对于 vmware player, 本文测试使用的版本为 17.5.0 , 如果不是该版本,需要了解 vmware 与 vmare unlocker 的版本兼容性进行调整。

首先下载Unlocker 4.2.7, 保存到 tmp 目录

1
2
3
4
5
6
7

## 下载Unlocker,并保存到tmp目录
wget -O /tmp/unlocker427.zip https://github.com/DrDonk/unlocker/releases/download/v4.2.7/unlocker427.zip
## 或者
# 如果操作系统上安装了curl命令, 可以使用curl下载
curl --output /tmp/unlocker427.zip https://github.com/DrDonk/unlocker/releases/download/v4.2.7/unlocker427.zip

解压并执行解锁程序.

1
2
3
4
5
6
7
8
9
10
11
12

unzip /tmp/unlocker427.zip -d /tmp/unlocker


# 执行Unlocker补丁, 执行unlock之前需要确保vmware已经关闭
cd /tmp/unlocker/linux
sudo ./unlock

# 安装完成后检测一下

sudo ./unlock

5. 创建 MacOS 虚拟机

如果下载的是 DMG 格式需要使用工具例如 UltraISO 将其转换为 ISO 格式.

这里使用的虚拟化平台是 VMWARE ESXI, 安装步骤也适用于 VMWare 系列产品.

将 ISO 或者 PKG 文件上传至 ESXi 存储盘.

创建 Macos 虚拟机:

  • 在 ESXi web 界面点击”创建/注册虚拟机”
  • 选择”创建类型” => “创建新虚拟机”
  • 输入虚拟机名称 => 兼容性选择 “ESXi 6.5 虚拟机” => 客户操作系统系列 选择”Mac OS” => 客户机操作系统版本 选择”Apple Mac OS X 10.13(64 位)”
  • 选择存储
  • 自定义设置, 在内存和 CPU 足够的情况下尽量多给一些. 经测试 8vCPU, 32G 内存够用但是依然有点卡顿.
  • CD/DVD 驱动器, 选择 ISO 镜像, 并确保光驱在开机时自动连接.

等待虚拟机创建完成.

6. 安装操作系统

虚拟机创建完成后, 点击打开电源. 如果看到白苹果界面, 表示虚拟机创建成功.

接下来的工作即是按照安装指引进行, 这里不做截图.

需要说明的几点:

  1. 在跳过语言选择界面后, 需要点击上方工具栏, 磁盘工具, 进行手动的磁盘格式化, 这一步容易被忽略, 导致后续步骤找不到磁盘, 实际原因是漏掉磁盘格式化步骤. 也许苹果是出于对于苹果电脑数据安全性考虑, 没有自动引导至磁盘格式化步骤, 但是对于虚拟机其实这种这种安全考虑不是太重要.

  2. 在登录 Apple 账号的时候, 在客户隐私政策和 Game Center 条款和条件界面, 同意按钮始终不能点击. 不要登录苹果 ID 就可以了, 可跳过这一步.

安装完成后, 对系统做一次升级, 将其升级到 10.13.6

参考https://www.maczd.com/post/macos-high-sierra-10-13-6.html

7. 安装 VMWare Tools

VMWare Tools 允许允许在虚拟机管理系统上显示虚拟机的详细信息, 比如 IP 地址, 内存使用情况, CPU 使用情况等. 并允许在虚拟机上执行操作, 例如正常关闭, 重新引导. 这里建议 VMWare Tools 还有一个最主要的原因, 是可以调整 Macos 的分辨率, 默认的分辨率只有一个, 不适合远程连接时全屏显示, 全屏时屏幕不能完全占满, 总是有大片的黑边. 当然 Macos 上也有调整分辨率的软件可以使用, 试过几款都不是很好用.

由于 ESXi 6.7 上没有自带 Macos 的 VMTools, 需要到 vmware 官网去下载.

VMware Tools 一直在更新,最新版本为 13.0.2,可以在这个网站上下载.

我选择的是最新的版本 13.0.2, 下载后解压缩, 将 payload\VMware Fusion.app\Contents\Library\isoimages\x86_x64\darwin.iso 上传到 ESXi server 的存储路径. 在虚拟机开启的状态下, 先弹出光驱, 在挂载 darwin.iso 至光驱, 这时候 macos 应该能感知到光驱重新插入, 提示安装 VMware Tools.

然后按照安装指引进行安装, 安装过程中需要注意的地方是, 即将开始安装时, 系统会弹出系统扩展已被阻止, 此时打开系统安全偏好设置, 允许来自开发者”VMWare Inc.”的系统软件.

安装完 VMWare Tools 后关机, 将虚拟机的显存调大到例如 32M, VMware 虚拟机默认的显存太小. 会导致后续设置分辨率时 Requested resolution 和 Effective resolution 分辨率不一致.

然后重启 macos 虚拟机, 设置分辨率.

1
2
3
4
5
6
7

sudo /Library/Application\ Support/VMware\ Tools/vmware-resolutionSet 1920 1080

Password:
Requested resolution: 1920x1080
Effective resolution: 1920x1080

注意: 如果这里 Requested resolution 和 Effective resolution 可能是显存不足, 可以加大显存再试.

关联阅读

Macos 开发环境配置

如何使用 VMware ESXi 安装一台 Windows 虚拟机

安装 Ubuntu 虚拟机

8. 参考文档

在虚拟机中安装 macOS 系统全套图文教程,附工具与镜像

macOS 虚拟机安装全过程(VMware)(非常详细)从零基础入门到精通,看完这一篇就够了

How To Run Mac OS X In Windows 10 With VMware Unlocker

ESXi6.7 上安装 MAC 系统(苹果系统

Installing macOS High Sierra 10.13.5 with VMware Virtualization Software.md

Bootable Mac ISO with Linux.md

Create a bootable installer for macOS

Download/Create macOS Sonoma ISO for VMware or VirtualBox