VirtualBuddy
VirtualBuddy可以在Apple Silicon上虚拟化macOS 12及更高版本,旨在为需要在多个macOS版本(尤其是测试版)上测试应用程序的开发人员提供有用的功能。
系统要求
- Apple Silicon Mac
- macOS 12.3或更高版本
- 为了安装比主机运行版本更新的macOS版本(例如,在macOS 12上运行的VirtualBuddy中安装macOS 13虚拟机),需要Xcode;安装macOS测试版可能需要Xcode测试版(
FB11061314
) - 为了安装Linux发行版,需要macOS 13
下载
VirtualBuddy是免费和开源的。如果您想支持其开发,可以在Gumroad上购买。如果您只想下载最新版本,请前往GitHub releases。
功能清单
- 能够启动macOS 12或macOS 13的任何版本,包括测试版
- 能够启动一些基于ARM的Linux发行版(已测试Ubuntu Server和Ubuntu Desktop)
- 内置安装向导
- 从Apple服务器上可用的恢复镜像集合中选择
- 安装最新稳定版macOS
- 本地恢复镜像IPSW文件
- 自定义恢复镜像URL
- 从本地.iso文件安装Linux发行版
- 从Linux发行版集合中选择
- 从URL安装Linux
- 引导进入恢复模式(例如,为了禁用SIP)
- 网络和文件共享支持
- 剪贴板共享
- 自定义虚拟机硬件配置
- 编辑NVRAM变量
技巧和窍门
VirtualBuddyGuest应用程序
当您启动运行macOS的虚拟机时,VirtualBuddy会自动挂载包含VirtualBuddyGuest应用程序的磁盘镜像。要安装VirtualBuddyGuest应用程序,只需在Finder侧边栏中选择"Guest"磁盘,然后双击"VirtualBuddyGuest"应用程序图标。
VirtualBuddyGuest可以实现主机和客户机之间的剪贴板共享,并自动挂载为虚拟机配置的共享文件夹。
利用APFS的优势
有时在虚拟机中安装的操作系统中尝试某些操作时,可能会出现问题,需要重新安装客户操作系统,这是很麻烦的。
不过,由于APFS克隆的存在,您可以在库文件夹中复制虚拟机(在Finder中使用Command + D),复制几乎不会占用额外的磁盘空间。这样,您可以保留一个"干净"的虚拟机副本,对其副本进行任何操作,如果出现问题,可以删除该副本并重新复制干净的版本。
在主机和虚拟机之间共享文件夹
您可以使用在系统偏好设置/设置中配置的常规macOS文件共享,在Mac和虚拟机之间共享文件夹。
当虚拟机和主机都运行macOS 13或更高版本时,可以通过在启动虚拟机之前在VirtualBuddy中配置虚拟机设置来直接共享文件夹。
要在虚拟机中挂载共享文件夹,请在虚拟机的终端中运行以下命令:
mkdir -p ~/Desktop/VirtualBuddyShared && mount -t virtiofs VirtualBuddyShared ~/Desktop/VirtualBuddyShared
构建
构建main
分支需要Xcode 16¹。
- 打开
VirtualBuddy/Config/Signing.xcconfig
文件 - 将
VB_BUNDLE_ID_PREFIX
变量设置为唯一的值,如com.yourname.
- 在Xcode侧边栏中选择VirtualBuddy项目
- 在"Targets"下,选择"VirtualBuddy"
- 转到"Signing & Capabilities"选项卡,在Signing > Team下选择您的开发团队
- 对"VirtualBuddyGuest"目标重复相同的过程
- 构建
VirtualBuddy
方案(名称中不包含(Managed)
的那个)
¹ 如果您想在Xcode 16仍处于测试版时使用之前的Xcode版本进行构建,请查看此标签。