15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > iOS UTM虚拟机安装使用教程

iOS UTM虚拟机安装使用教程

时间:2023-07-02 03:57:01 | 来源:网站运营

时间:2023-07-02 03:57:01 来源:网站运营

iOS UTM虚拟机安装使用教程:
官方文档内容已经齐全,此教程停更
官方文档:https://docs.getutm.app
此文章仅适用于 UTM 3.x 版本,部分内容已过时

UTM 介绍

UTM 是一个运行在 iOS11+ 或 macOS11+ 的基于 QEMU 的 iOS/iPadOS/macOS 平台的虚拟机,支持运行多种架构的 Linux、macOS、Windows 等多种操作系统

UTM有两个分支:UTM和UTM SE

相比 UTM 标准版本,UTM SE 使用“线程解释器”(threaded interpreter),性能优于“传统解释器”(traditional interpreter),比JIT慢,因此,UTM SE 不需要越狱或任何 JIT 实现方法,可以作为常规应用旁加载。

UTM SE 大约比 UTM 标准版本慢了60%以上。

UTM SE 可虚拟架构不全,包含以下架构:ARM、PPC、RISC-V 和 i386 以及 X86_64





在iOS平台的缺点

iPhone/iPad 使用的 CPU 是经过修改的 AArch64 架构。对于苹果 A 系列中从 A10 开始的使用 ARMv8.1-A 的 SoC 在理论上支持原生虚拟化,从 ARM Mac 诞生前的试验品——A12Z 的 Mac Mini DTK 可以使用虚拟化加速运行虚拟机可以大致验证这个结论。

以上部分内容来源于维基百科
https://en.wikipedia.org/wiki/Comparison_of_ARMv8-A_processors
https://en.wikipedia.org/wiki/AArch64



但在 iOS SDK 中,Apple 并没有提供像 macOS 平台的 hvf 那样的虚拟化接口,这意味着 UTM 在 iOS 平台面临着只能使用软件加速(TCG)的局面。没有硬件虚拟化的加速对虚拟机转换效率的影响巨大,仅使用软件加速的 QEMU 的效率相比起使用 KVM 等虚拟化技术的 QEMU 有着肉眼可见的差距,大致就是:一台接近宿主机性能的现代机器和一台二十一世纪初的古董级机器的差距




UTM 标准版本使用 JIT 加速软件模拟,需要开发者签名或像 AltStore 这样的自签,而不能使用企业签名。

AltStore 最显著的缺点就是只能生效7天,而付费开发者更是需要 688CNY,这对正常用户并不友好。

在 iOS 14.1~14.2 和 iOS 14.3+ 平台运行 UTM 需要 Xcode 调试,或是通过 Jitterbug 或 AltJIT 来启动。其中Xcode 调试与 AltJIT 都依赖 PC/Mac,使用起来并不方便。

虽然 Jitterbug 不需要持续连接 PC,但由于其需要通过 PC/Mac 生成配对文件,依然需要 PC/Mac 完成操作,并且因为需要利用 VPN 模拟 Xcode 调试,所以也是需要开发者签名的。




总结就是:在目前的 iOS 平台,几乎没有任何实用性,费时费精力,吃力不讨好。





iOS 平台安装要求

UTM 标准版使用 JIT 加速,但 iOS 并非所有版本都允许使用 JIT,这也是 UTM 系统版本的要求的原因

满足以下任意要求即可安装 UTM 标准版。

满足 iOS11+ 的所以设备均可运行 UTM SE。

关于安装方案的选择

UTM 标准版本不可以使用企业签名,Jitterbug 不可以使用 AltStore 自签或企业签名,使用了错误的签名会导致其不能正常运行。








iOS 安装 UTM / JitterbugLite

安装 UTM / JitterbugLite 需要注意签名方式,企业签名只适用于 UTM SE

UTM 标准版本可以进行自签或付费开发者签名,Jitterbug 需要签名证书的 provisioning profile 中具有 Network Extensions 和 Personal VPN 权限。

UTM可以通过 AltStore 自签、开发者签名、越狱安装。

下载 UTM.ipa 文件:GitHub下载链接



AltStore安装UTM

使用 AltStore 需要使用 AppleID 登录,单个 Apple 账号有签名数量限制,每一次签名生效7天,AltServer 端需要 macOS10.14+、Windows 10及以上或 Linux 设备。

官方链接:AltStore

AltServer端

安装iTunes:iTunes下载链接

安装ICloud:iCloud下载链接

注意:iTunes 和 iCloud 均从 Apple 官网下载而非 Microsoft Store。

  1. 下载 AltServer 安装程序:AltServer Installer下载链接
  2. 解压 ZIP 压缩包即可得到 setup.exe 文件,并运行其来进行安装。
  3. 安装后启动 AltServer,这时 AltServer 不会出现在前台,而是出现在“通知”和任务栏中。
  4. 连接 iPhone/iPad 设备,并信任该电脑。
  5. 右键 AltServer 在任务栏中的图标,选择 “Install AltStore”。
  6. 这时输入自己的 Apple ID 及密码,即可等待 AltStore 安装完成。
下载 AltServer 程序:AltServer下载链接

  1. 解压 ZIP 文件即可得到 AltStore.app,并将其复制到应用程序文件夹中。
  2. 启动 AltSever,这时 AltServer 不会出现在前台,而是在 Finder 菜单栏中出现 AltServer 图标。
  3. 连接iPhone/iPad设备,并信任该电脑。
对于 macOS10.14,需要打开 iTunes,为连接的设备启用 WIFI 同步。

对于 macOS10.15,需要打开 Finder,为连接的设备启用“在 WIFI 上显示此 iPhone/iPad ”。

4. 点击 Finder 菜单栏中的 AltServer 图标,点击 “Install AltStore”,随后选择需要安装 AltStore 的设备。

5. 输入 Apple ID 及密码。








第一次使用 AltServer 需要安装邮件插件:

  1. 单击 AltServer 菜单中的 “Install Mail Plug-in”。
  2. 输入 macOS 用户密码,并授予 AltServer 安装插件的权限。
  3. 打开“邮件” APP,如果已经运行则需要重启。
  4. 选择“首选项”,并点击“管理插件”。
  5. 开启 “AltPlugin.mailbundle” 。
  6. 点击应用并重启完成安装。



AltStore端

使用 AltStore 需要确保与 AltServer 设备在同一 WIFI 且已连接 AltServer 设备。

AltStore 签名无法授予 Jitterbug 完整的网络权限,不可以使用 AltStore 签名 Jitterbug。

下载 UTM.ipa 文件:GitHub下载链接

在 “My Apps” 中,点击右上角 “+” 按钮,随后选择 UTM.ipa 文件。

等待安装完成即可。




如果你拥有 AltStore 测试版,可以通过添加 UTM的 AltStore存储库来安装 UTM。

UTM AltStore 存储库:添加AltStore存储库




越狱安装UTM

UTM 的运行需要 AppSync Unified,可以在Karen的源中安装。




图形包管理器安装:

首先安装 AppSync Unified 确保 UTM 能够正常运行。

在你的包管理器比如 Cydia/Sileo/Zebra 中添加 Karen源 来安装 AppSync Unified,随后添加UTM源来安装UTM.








命令行dpkg/Filza安装:

UTM官方源在国内速度可能让人难以接受,可以通过 Github反代 或在 UTM官方QQ交流群 中快速下载。

UTM Deb下载链接:Releases · utmapp/UTM

将 UTM.deb “分享“到 Filza。 选择 UTM.deb,选择安装即可。

通过安装的终端或SSH来运行 dpkg 命令,终端可以选择安装 NewTerm。

# dpkg 需要 root 权限来安装 deb ,登陆到 root 用户,默认 root 密码为 alpine。$ su root​ 通过 dpkg 安装 UTM。

#dpkg -i /path/to/file






iOS 安装 Jitterbug

Jitterbug 需要 Network Extensions 和 Personal VPN 权限。

JitterbugLite 无特殊签名要求,但需要两台 iOS14+ 的设备。

可以通过在iSign签名网这样的开发者签名网站签名 Jitterbug。

可能还需要单独与签名站客服说明需要开启 Network Extensions 和 Personal VPN 权限。

iOS UTM 标准版启动方式

上文提到,UTM 标准版需要 JIT 权限,可以通过 AltJIT 和 Jitterbug 启动 UTM。

Github 上的 JitStreamer 项目也可以授予 UTM JIT 权限,由于其提供的服务器不包含大陆,暂时不做教程。 官方网站:JitStreamer GitHub 项目:Github

Jitterbug 启动 UTM

Jitterbug 第一次使用需要生成配对文件,此后皆可独立启动。




生成配对文件

Jitterbug 通过 Jitterbugpair 生成配对文件。

将设备连接到 PC 并信任此电脑。

Jitterbugpair 提供 Windows/Linux/macOS版本, 从Github Jitterbug中下载对应自己操作系统的 Jitterbugpair。




确保已经安装 iTunes,且能正确识别连接设备。

将下载的 jitterbugpair-win64.zip 解压得到 jitterbugpair.exe 和 libwinpthread-1.dll。

打开“CMD”,将 jitterbugpair.exe,拖入 “CMD“ 窗口内,即可快速输入其绝对路径。

回车运行,生成成功则返回 “SUCCESS:wrote to ‘UUID'”。

配对文件将生成在 Windows 用户目录,例如 “C:/Users/Administrator/ *.mobiledevicepairing"。




将下载的 jitterbugpair-macos.zip 解压得到 jitterbugpair。

打开终端,将解压得到的 jitterbugpair 从 Finder 拖入终端,即可快速输入其绝对路径。

回车运行,生成成功则返回 “SUCCESS:wrote to ‘UUID'”。

配对文件 “*.mobiledevicepairing” 将生成在 macOS用户目录中。




将下载的 ”jitterbugpair-linux.zip“ 解压

$ unzip /path/to/jitterbugpair-linux.zip得到 jitterbugpair。

$ unzip jitterbugpair-linux.zip Archive: jitterbugpair-linux.zip inflating: jitterbugpair生成配对文件前首先需要安装 usbmuxd。

#apt install usbmuxd //deb 系发行版#pacman -Sy usbmuxd //arch 系发行版#dnf install usbmuxd //多数 rpm 系发行版安装完成后运行 jitterbugpair。

#/path/to/jitterbugpair


完成生成配对文件后,将配对文件传输到 iPhone/iPad:

导入配对文件

正确在 iPhone/iPad 安装Jitterbug后,启动它。

点击 “配对文件” 选项。







点击右上角 “添加”,并选择传输到iPhone/iPad的 “*.mobiledevicepairing"配对文件。

导入开发者镜像

开发者镜像可以从 Github 或 iSign QQ 用户群下载。

Github链接:Xcode Developer Disk Images

将下载的 ZIP 压缩文件解压,得到“DeveloperDiskImage.dmg” 和 “DeveloperDiskImage.dmg.signature”

点击“支持文件”选项,导入 DeveloperDiskImage.dmg。

启动UTM

在“启动器“选项中,选择自己的设备。







完成后,在 APP 列表中点击UTM,即可正确启动 UTM。







可能会遇到的问题

Jitterbugpair 生成配对文件

1.提示 :“No device found ."

确保满足以下条件:

2.提示 “ERROR: You must set up a passcode to enable wireless pairing.”

确保满足以下条件:

Jitterbug App 运行

1.无法链接到被调试设备







确保满足以下条件:




2.无法导入开发者镜像

确保满足以下条件:




3.提示 “ImageMountFailed” 或“无法挂载镜像。”

确保以下事项:

需要使用多任务界面手动关闭 Jitterbug。








AltJIT 启动 UTM

需要确保 AltServer 及 AltStore 即为 Beta 版,Beta 版并不公开,获取方式是通过订阅 AltStore 项目。

Patreon 订阅链接:AltStore

iOS12.2~iOS14.5

确保 AltStore端 与AltServer端保持连接状态。

点击 AltServer 在 Windows 状态栏或 macOS Finder中的图标,点击 Enable JIT。

在 AltStore 中完成 UTM 签名后长按 UTM APP,点击 “Enable JIT”,等待启动 UTM 即可。




iOS14.6+

由于 AltServer 不包含 iOS14.6+ 的开发者镜像,启动时会出现 “The server name of address could not be resolved“ 的报错。




对于这个问题的解决方法是通过 libimobiledevice 手动挂载开发者镜像。

Windows

libimobiledevice-win32项目提供了 Windows、macOS 版本及 nupkg 包。

项目链接:Github/libimobiledevice-win32

  1. 解压 ZIP 文件将下载的 ZIP 压缩文件解压,得到 “idevice_id.exe”、“ideviceimagemounter.exe”和“idevicedebug.exe”。
  2. 打开 “CMD”,将 “idevice _id.exe” 拖入 “CMD” 窗口,回车运行,运行成功后会返回连接的 iOS 设备的UUID。
  3. 下载开发者镜像,Github 下载链接:Xcode Developer Disk Images
注意下载对应 iOS 版本的或接近的开发者镜像




将下载的 ZIP 压缩包解压,得到 DeveloperDiskImage.dmg 和 DeveloperDiskImage.dmg.signature

  1. 挂载开发者镜像 保持 iPhone处于亮屏已解锁状态,将 “ideviceimagemounter.exe” 拖入 “CMD” 窗口快速输入绝对路径,再将解压得到的 ”DeveloperDiskImage.dmg“ 拖入 ”CMD“ 窗口,回车运行。 返回 ”Status: Complete“ 即为成功。
  2. 开启JIT 保持连接,接下来在 AltServer 或 AltStore,选择 UTM,点击 Enable JIT 即可。

JitterbugLite 启动 UTM

JitterbugLite,即为没有 VPN 模拟 Xcode 调试的 Jitterbug 版本。

使用 JitterbugLite 需要一台辅助设备,来为需要启动 UTM 的设备进行调试

JitterbugLite 使用方式与 Jitterbug 基本保持一致,可以按照上文的 “Jitterbug 使用和启动 UTM“ 进行操作,主要有以下:

  1. 需要将 JitterbugLite 安装到辅助设备上,且两台设备必须在同一局域网内。
  2. 配对文件生成依然是生成需要启动 UTM 的设备的。







UTM/UTM SE 使用

这里以 iOS UTM 示例,macOS UTM选项与其保持一致。

虚拟机设置

这里以 iOS14+ 的新 UI 操作作为教程,UTM2.0-UTM3.1.5+ 保持一致

进入 UTM ,点击新建虚拟机。







保证虚拟机内操作系统的正常运行,一般只需要设置 “系统”、“驱动器”、“显示”、“网络”。

“系统” 选项

对于 x86 虚拟机,有 Q35 和 i440FX 可选,i440FX 机型是QEMU一直以来使用的模拟机型,其效率不如 2009 年新生的 Intel Q35 机型,支持的特性也已经十分落后

以下是对于常见操作系统的选择:

对于Windows7 及以下操作系统系统,使用 i440FX(pc)即可。

对于 Windows7 以上操作系统,使用 Q35(q35)即可。

对于运行着 Linux2.6.37 以上内核的 Linux 发行版,使用 Q35(q35)即可。

大多数完成安装后的镜像,一般都是 MBR+Legacy Boot 引导方式,开启 UEFI 后会导致虚拟机卡在 UEFI Shell 而无法继续。

部分对于 QEMU 制作的镜像是支持使用 UEFI 引导的,通常作者会单独说明。

安装 Windows 8及以上的原版镜像,可以开启 UEFI 支持。

UTM 3.1.4 更新将高级设置转移到了 “QEMU设置” 选项中。






“驱动器” 选项







在 UTM 3.0.0 更新中,UTM 支持使用外置存储。
开始设置”驱动器“,首先需要准备已安装完成的虚拟机镜像或安装镜像。

如果没有任何可用的镜像,可以通过在 UTM库 内下载已完成安装的 “UTM 虚拟机文件“,也可以下载这里提供的镜像库。

驱动器的创建可以是导入或创建新虚拟磁盘

导入镜像

点击驱动器右上角的

选项,接下来在文件 “APP“ 中,选择导入到镜像即可。

虚拟机镜像格式繁多,如果不知道下载的镜像应该如何设置,可以看下面列出的一些常见镜像的设置。







创建新虚拟磁盘

点击右上角 “+” ,创建新虚拟磁盘。







若新建的虚拟磁盘为 QCOW2 格式,其不会立即占用设备空间,而是根据虚拟机内使用量缓慢增加占用。

驱动器顺序

驱动器的顺序至关重要,错误的顺序会导致 QEMU 无法找到可引导设备,需要将可引导设备放置驱动器第一位。

“QEMU” 选项




UTM2.2.4 更新后,UTM 正式引入 UEFI 启动,且默认是开启的

大多数完成安装后的镜像,一般都是 MBR+Legacy Boot 引导方式,开启 UEFI 后会导致虚拟机卡在 UEFI Shell 而无法继续。

部分对于 QEMU 制作的镜像是支持使用 UEFI 引导的,通常作者会单独说明。

安装 Windows 8及以上的原版镜像,可以开启 UEFI 支持。

对于 UTM3.1.4 之前的版本,UEFI 启动选项在 “系统>高级设置” 中。




该选项可能会与 UTM 自动生成的启动参数冲突,一般不需要进行更改。




“显示” 选项







UTM VirtIO Windows 下载链接:GitHub

只是维持虚拟机正常运行,只需要保持默认,对于 virtio-gpu-pci 需要使用 UEFI 启动才能正确运行

“网络” 选项







RTL8139:小螃蟹 100Mbps 网卡。

E1000:Intel 系列 1000Mbps 网卡。

VirtIO:半虚拟化网卡,支持10Gbps以上速率,性能最佳。

Windwos E1000 网卡驱动:微云分享,分享码:b756a7

“共享” 选项







该选项需要虚拟机内正确安装 SPICE Tools。

该选项需要虚拟机内正确安装 SPICE WebDavd,在虚拟机内访问 “https://localhost:9843" 即可。

共享目录教程:https://zhuanlan.zhihu.com/p/511763274

UTM问题排错

你的iOS版本不支持无越狱运行UTM







原因: UTM 未拥有 JIT 权限,通常是未使用 AltJIT、Jitterbug 等工具或未能正确开启 JIT 权限。

解决方案:

Cannot find AltServer for JIT







使用 AltStore(1.5b2+)和AltServer(1.5b8+)安装UTM(2.4.1+)会自动触发AltJIT 集成的 AltKit。

原因:AltJIT 未能正确开启 JIT 权限或未使用工具授予 UTM JIT 权限

解决方法:

AltJIT Error:未能完成此操作







原因:

解决方法:

UTM 和 Jitterbug 无法导入文件

Jitterbug仅在尝试 “iOS UTM 标准版启动 > Jitterbug 使用和启动 UTM > 已知问题” 中所以解决方法无用时,在尝试按以下解决办法继续。

这个问题主要表现为在导入时,点击任何文件都没有反应

原因:

解决方法:

出现UEFI Shell(无法启动)







原因:使用的镜像不支持 UEFI 或未能正确设置驱动器。

解决方法:

启动虚拟机进入UEFI界面(无法启动)







问题:使用的镜像不支持 UEFI 或未能正确设置驱动器。

解决方法:

No Bootable device(无法启动)







原因:驱动器没有被正确配置

解决方法:

虚拟机启动后鼠标键盘无法输入

原因:对于一些老系统或精简过猛的系统,可能会不兼容 UTM 默认使用的 USB 设备。

解决方案:

Cannot allocate memoy(无法开启虚拟机)







原因:虚拟机设置的内存过大,超出iOS限制。

解决方法:在“系统"将内存减少,设置为本机内存的30%~40%。

Bus 'ide.0' not found







原因:这是UTM2.0.x带来的新问题,只能使用一个IDE驱动器。

解决方案:通过升级UTM3.0.0以上或降级UTM1.0解决。

启动虚拟机黑屏

原因:

解决方案:

启动虚拟机蓝屏

原因:对于老 Windows 以及精简 Windows ,不支持使用 Q35 机型。

解决方法:在 “UTM 设置 > 系统 > 系统” 中将 Q35 更改为 i440FX 。




原因:系统不含 AHCI / Nvme 驱动,或更换了驱动器的接口。

解决方法:

原因:通常是由于 UTM2.2.0-UTM3.0的 QEMU6.1.0 后端的一个BUG。




解决方法:

Linux虚拟机设备紫屏重启

原因:由于 iOS15 引入了导致 Kernel Panic 的 Kernel race,每当使用 GL 设备,则会引起 Kernel Panic,导致设备出现紫屏现象,通常出现在运行 Linux 虚拟机。

解决方案:在 “虚拟机设置 > ‘显示’ 选项” 中,切换不使用 GL 加速的虚拟显卡。


总的来说,UTM 虚拟机在 iOS 平台依然只是一个玩家们的玩具,“你的下一台电脑,何必是电脑” 仍未实现,我们依然无法在 iOS 平台进行更好的生产力活动。



关键词:使用,教程,安装,虚拟

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭