苹果迷苹果迷  2026-09-17 06:01 苹果家园 隐藏边栏 |   抢沙发  0 
文章评分 0 次,平均分 0.0
导语: Virtual Mac 是一个让 iPad 本地运行 macOS 的开源项目:不是投屏也不是远程桌面,而是用硬件虚拟化把 macOS 装进 iPad,Xcode、终端、Final Cut Pro 都能上机试。本文讲清它的三条门槛、能跑到什么程度、实现思路与风险边界。

Virtual Mac 是一个把 macOS 搬上 iPad 的开源项目。它不是投屏,也不是远程桌面,而是在 iPad 本地用硬件虚拟化把 macOS 跑起来——Xcode、终端、Final Cut Pro、Logic Pro、Pixelmator Pro 都能上机试。作者把这个做了十来年的念头写进了仓库首页:人们想在 iPad 上跑 macOS 想了十多年,今天这个想法成真了。门槛也很清楚:只支持部分 M 系列 iPad,只支持到 iPadOS 16.3.1,而且设备必须先越狱。用作者自己的话说,这是一个社区项目,与 Dopamine、UTM、VirtualBuddy 以及 Apple 都没有隶属关系。

Virtual Mac 是什么

它是一个装在 iPad 上的 App,本身做的事和 Mac 上的虚拟机软件同一类:建一台虚拟机、下载一份 macOS、装进去、然后开机。区别在于宿主设备换成了 iPad,而 iPadOS 原本并不提供 macOS 虚拟化所需的那一整套框架。运行起来之后,你可以把它当成一台装在 iPad 里的 Mac:跑 Xcode 编译、开终端、剪片子、做音频,都用 iPad 自身的芯片。

这和站内此前介绍过的两个工具方向相反。UTM 是在 Mac 上跑别的系统,Virtual Mac 则是在 iPad 上跑 macOS——有意思的是,作者在致谢里明确写了 UTM 为「在 iPad 上以完整 Hypervisor 性能运行 Windows 和 Linux 虚拟机」打下了基础。OpenDisplay 走的又是另一条路:把 iPhone 或 iPad 变成 Mac 的副屏,屏幕那头仍然是 Mac 自己。同样想给 iPad 加能力但避开越狱的,可以看看 LiveContainer,它主打不越狱突破 App 数量上限,代价与能力边界和本项目完全不是一回事。

三条门槛:机型、系统版本、越狱

在讨论「能跑什么」之前,先把能不能装上这件事说清楚,三条缺一不可:

  • 机型:仅限 iPad Pro(M1、M2)与 iPad Air(M1)。其中 1TB 与 2TB 版本的 iPad Pro 有 16GB 内存,作者特别点名这两档,说它们的体验更从容。
  • 系统版本:iPadOS 14 到 16.3.1。上限不是作者随口定的——iPadOS 16.4 起,Hypervisor 支持被从 iPadOS 的 XNU 内核里移除,这一层没了就没法做硬件虚拟化。这也是为什么一台系统更新过的 iPad 反而用不了它。
  • 越狱:这是最硬的一条。iPadOS 15 到 16.3.1 用 Dopamine,iPadOS 14 到 14.8.1 用 Taurine;官方给出的两份操作说明分别是 iPadOS 15–16.3.1 的安装指引iPadOS 14–14.8.1 的安装指引。如果越狱失败,可以在 Dopamine 或 Taurine 的设置里换一个漏洞再试。

另外两个补充:它不支持 Dopamine 的 roothide 环境(要用就得先在设置里移除 roothide 越狱,换回官方版 Dopamine);iPhone 14 Pro 与 iPhone 14 Pro Max 在 iOS 16 到 16.3.1 上也能跑,但 iPad 才是主要支持的平台。

能跑到什么程度

能装哪些 macOS

支持 macOS 12 Monterey 到 macOS 26 Tahoe,并对 macOS 27 Golden Gate 提供实验性支持;官方推荐装 macOS 15 Sequoia。想装 Xcode、Final Cut Pro 试用版、Logic Pro 试用版和 Pixelmator Pro 试用版,作者另做了一个兼容版本下载页

有一处要注意:不支持登录 iCloud 或 Apple 账户,安装过程中被问到时选「稍后设置」即可。也就是说,iCloud 同步、App Store 登录这类依赖账户的能力不在可用范围内。

Virtual Mac on iPad 官方主视觉:iPad 上运行 macOS 桌面
Virtual Mac on iPad 官方主视觉。图片来源:Virtual Mac on iPad 官方仓库

性能与图形加速

它用的是硬件 CPU 虚拟化,图形走半虚拟化加速,官方的说法是「日常使用表现优秀」。更具体一点:因为它用的是一份抽取并修改过的苹果 macOS 虚拟化栈,CPU 与 Metal 性能大致相当于在 M1 或 M2 Mac 上用 VirtualBuddy 或 UTM 虚拟化 macOS 的水平。

比同级别工具更进一步的是,它宣称自己是首个在虚拟化环境里跑通 Final Cut Pro、并支持 OpenGL/OpenCL 加速的项目,做法是修改过的 GLDRendererMetal。Metal 加速在所有受支持的 macOS 版本里都有,而 Final Cut Pro 与 OpenGL/OpenCL 加速要求 macOS 14 Sonoma 或更新。

没有妙控键盘也能用

触控操作是原生支持的:轻点等于单击,双指轻点是副击,双指滑动是滚动;点键盘图标可以调出虚拟键盘,觉得挡视线就长按右下角图标切到悬浮模式。悬浮在屏幕上的 HUD 可以挪到别的角,也能从「更多」菜单里隐藏——之后再想调出来,长按主屏幕上的 Virtual Mac 图标,选「显示 Virtual Mac 控制」。

想让它开机自启,先在虚拟机的系统设置里把「用户与群组 › 自动登录」打开、把「锁定屏幕」设成永不,再到 Virtual Mac 的应用设置里把「启动时」从「显示资源库」改成你这台虚拟机的名字。如果你的妙控键盘没有硬件 Esc 键,用 ⌘ + . 代替,或者在「设置 › 通用 › 键盘 › 硬件键盘 › 修饰键」里把别的键映射成 Esc。

Virtual Mac on iPad 截图:iPad 屏幕上运行的 macOS 桌面
在 iPad 上跑起来的 macOS 桌面。图片来源:Virtual Mac on iPad 官方仓库

它是怎么做出来的

这件事难在 iPadOS 里根本没有 macOS 虚拟化所需的那套框架。作者的做法是从 macOS 里把 Hypervisor、Virtualization、ParavirtualizedGraphics 以及配套框架抽出来,再想办法让它们能在 iPadOS 上加载。

难点在于:dyld 共享缓存的构建过程是一次性的优化,抽出来的库是有损的,没法直接加载。仓库里的 uncache.py 负责把这件事补完——遍历缓存的 slide 信息、把镜像内的重定位和跨镜像绑定分开、解析它们的符号与来源镜像、重新排布 Mach-O 的段,并在保留指针认证元数据的前提下生成新的链式指针修正。接下来还要重建 GOT 与认证 GOT 槽位、重写跨段的 PC 相对引用、修复 Objective-C 的选择器、协议、相对方法列表与导出符号,加一条新的 chained fixups 加载命令,把平台标记改写成 iOS,最后再为这些框架缺的 API 补上一批 shim。

装系统那一步还有个坑:macOS 平时是通过 AppleUSBUserHCI 这个内核服务连上虚拟机的 DFU 设备的,而 iPadOS 里没有它。作者用 installation_usb_shim.m 在用户态重建了这条控制器通路,把虚拟 USB 端点的流量转发给对应的 MobileDevice 与 usbmuxd 组件。

仓库的致谢里列了一长串铺垫这个结果的前人工作:dsce、DyldExtractor、MacWSBootingGuide、iOS-run-macOS-executables-tools、HvDecompile、UTM、reims-vgpu、ipsw,以及被当作苹果虚拟化与恢复接口参考的 VirtualBuddy。

Virtual Mac on iPad 创建虚拟机的界面:设置名称与配置
新建一台虚拟机的界面。图片来源:Virtual Mac on iPad 官方仓库

怎么装

  1. 先把符合条件的 iPad 越狱(iPadOS 15–16.3.1 用 Dopamine,iPadOS 14–14.8.1 用 Taurine)。
  2. 在 Sileo 里添加官方源 https://nfzerox.github.io/cydia/,搜索 Virtual Mac 并安装。
  3. 打开 App,新建一台虚拟机,选一份 macOS 版本下载并安装。

最新版本是 1.2.3(2026 年 8 月 27 日发布),安装包约 21MB,源码与版本号见 GitHub 仓库,安装包见 Releases 页面

Virtual Mac on iPad 下载 macOS 安装文件的界面
下载 macOS 安装文件的界面。图片来源:Virtual Mac on iPad 官方仓库

已知问题与排障

作者专门写了一节常见问题,其中几条实测最容易撞上:

  • 提示 install-launcher failed: Permission denied:先更新到最新版;仍不行就用 Filza 把 /var/root 的访问权限改成「读、执行」。
  • 提示设备处于 DFU 状态、预期是 RestoreOS:先更新;仍不行就在 Sileo 的包列表里搜索 usbmuxd 并临时卸载它。
  • 提示 launcher cannot become root: Operation not permitted 或「内部虚拟化错误,虚拟机启动失败」:如果装了 Choicy,到设置里把 Virtual Mac 的「禁用插件注入」关掉,或者直接卸载 Choicy。
  • 它还可能与其他越狱插件冲突,排查办法是一个一个卸掉别的插件缩小范围。

实在走不通,作者给的兜底顺序是:更新 → 用官方版 Dopamine 替换 roothide → 移除越狱重来 → 备份数据后抹掉设备。仓库的 排障章节有配图和更完整的清单。

风险与使用边界

把这个项目讲清楚,就不能不把代价摆出来:

  • 越狱本身有代价。它会关掉 iPadOS 的一部分安全机制,设备将失去苹果的官方保修与后续系统更新支持,银行、支付一类对设备完整性敏感的 App 也可能拒绝运行。请不要在存有重要数据的主力机上尝试。
  • 系统版本被钉死。能用它的 iPadOS 最高只到 16.3.1,也就是说这台 iPad 从此不再接收系统更新与安全补丁。
  • 只能在自己的设备上用。项目面向自有设备的学习与研究,请勿在他人设备上操作;同时遵守你所在地区对设备改装与软件使用的相关规定。
  • macOS 的许可条款仍需自行遵守。项目以 MIT 许可开源,但它抽取并修改的是苹果的虚拟化框架,这部分不在 MIT 的授权范围内。
  • 与苹果无关。作者明确声明这是社区项目,与 Dopamine、UTM、VirtualBuddy 以及 Apple 都没有隶属关系,也没有获得任何一方的背书。

合起来看,这是个典型的「没需求别折腾,有闲置老设备可以研究一下」的项目:它把一件被认为做不到的事做成了,但你为此要付出的是一台停更且越狱的 iPad。

常见问题

我的 iPad 能装吗?

三个条件同时满足才行:机型是 iPad Pro(M1、M2)或 iPad Air(M1);系统是 iPadOS 14 到 16.3.1;设备已经越狱。1TB 或 2TB 的 iPad Pro 有 16GB 内存,作者更推荐这两档。

为什么不支持更新的 iPadOS?

因为 iPadOS 16.4 起 Hypervisor 支持被从 iPadOS 的 XNU 内核里移除了,没有这一层就没法做硬件虚拟化。作者在仓库里直接引用了 UTM 对此的说明,并表示欢迎有人继续攻克。

它不是投屏或远程桌面吗?

不是。macOS 是跑在 iPad 本地的:用的是 iPad 自己的芯片做硬件虚拟化,图形走半虚拟化加速,也不需要另一台 Mac 在场。作者说它的 CPU 与 Metal 表现大致相当于在 M1 或 M2 Mac 上用 VirtualBuddy 或 UTM 虚拟化 macOS。

一定要配妙控键盘吗?

不必。可以用触控屏和虚拟键盘:轻点是单击,双指轻点是副击,双指滑动滚动。没有硬件 Esc 键的妙控键盘用 ⌘ + . 代替,也可以在键盘设置里把别的键映射成 Esc。

声明:本文来自投稿,不代表苹果家园立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论

表情 格式 链接 私密 签到

友情链接

    扫一扫二维码分享