https://i.imgur.com/Dljry7i.jpeg
【本文目录】
前言:帮 iPad 跳出苹果帮你画的小框框
第一节:被苹果封杀后的仅剩唯一可行方案
第二节:运行再慢也有总比没有好
【前言:帮 iPad 跳出苹果帮你画的小框框】
2010 年,当年苹果帮 iPad 定义的使用环境是介于手机和电脑之间的第三种设备,
提供比手机更大的萤幕,但是使用方式比电脑简单,操作习惯主要以移动系统为主。
https://www.youtube.com/watch?v=eZ87BRCrh0w
也因此,iPad 是由 iPhoneOS 的基底改写,
延续了沙盒、单一使用者、单一程式的特性,提供了易于上手的使用方式。
但是随着 iPad 的性能逐渐增强,以及 Pro 产品线的开展,
能否让 iPad 改安装 MacOS 群众的声音日益增大,
苹果在拒绝之余,也做了一些努力来尽可能改善 iPad 的移动操作系统体验:
版本 9 - Slide Over、Split View、画中画
版本 11 - 档案 App、Dock 栏
版本 13 - 改名 iPadOS、外插 USB 随身碟、桌面布局改变、增加指标
版本 16 - 幕前调度、外接显示器独立桌面
即使做了这些改变,改装 MacOS 的声音没有缩小的主要原因有两个:
缺少桌面级的浏览器(如 Chromium)、缺少桌面级的专业生产力软件(如 Office、Coding
IDE)
而这次 UTM SE (应该)可以想办法解决第二个的问题:桌面级的专业生产力软件,
希望借由这一系列关于 UTM 的文章,能够一窥 iPad 这次能否成为你的下一台电脑?
以及探讨一些安装途中会遇到的一些困难点,
系统选择从 Windows 98 经过 Windows 2000 到 Windows XP,
如何处理个别系统可能遇到的问题,以及最重要的稳定档案传输。
今年苹果做了两个最大的历史性决定分别是让 Delta 与 UTM SE 上架 AppStore,
Delta 的上架让口袋游戏机模拟器成为了可能,
而 UTM SE 则是打破了苹果长期拒绝通用型PC模拟器的规则。
若你也好奇 UTM SE 对整个 iPad 会可能带来什么样的影响,
不如就一起来看看吧。
【第一节:被苹果封杀后的仅剩唯一可行方案】
UTM SE 的意思其实不是特别版(Special Edition),而是慢速版(Slow Edition),
根据 UTM 官方在 Github 的描述如下:
UTM SE(“慢版”)使用线程解释器,其效能比传统解释器好,但仍比 JIT 慢。
此技术与 iSH 在动态执行方面的做法类似。
因此,UTM SE 不需要 越狱或任何 JIT 变通,
而且可以像一般应用程式一样侧载应用程式。
UTM SE ("slow edition") uses a threaded interpreter which performs better
than a traditional interpreter but still slower than JIT. This technique is
similar to what iSH does for dynamic execution. As a result, UTM SE does not
require jailbreaking or any JIT workarounds and can be sideloaded as a
regular app.
https://i.imgur.com/FvYfG2J.png
若根据 UTM 运行速度大致排序的话,可以分为三个等级:
UTM Hypervisor > UTM JIT > UTM SE
UTM Hypervisor = 仅限模拟 Arm 作业系统
搭载 M 系列处理器或 A16 处理器,在系统版本 < 16.4 时,
可透过 TrollStore 或越狱或 Mac 系统上执行,CPU可以接近原生速度运行。
实际例子:M1 iPad Pro 可以顺畅执行 Windows 11 Office 365
非全萤幕开 Firefox 看 Youtube 串流影片
https://www.youtube.com/watch?v=lDZOjIGHka0
UTM JIT = 可以模拟各种处理器架构
可透过 TrollStore 或越狱或接电脑启用 JIT,CPU 执行速度中等,
实际例子:A12 iPad Mini 可以勉强执行 Windows 7 Office
UTM SE = 可以模拟各种处理器架构
可透过正常侧载或者现在有的 AppStore,CPU 执行速度大输 JIT
实际例子:M1 iPad Air 可以很勉强执行 Windows XP Office
原本当 M1 iPad Pro 发布的时候,
系统核心其实是有启用支援虚拟化相关的功能的,
只需要注记 com.apple.private.hypervisor 并加入解码的 Hypervisor 框架即可。
(有人甚至曾在 iOS 14 帮 iPhone 12 修改核心启用 Hypervisor)
https://worthdoingbadly.com/hv/
但苹果基于不明原因在 iOS/iPadOS 16.4 版本更新中,
把 XNU 核心里的 Hypervisor 相关程式码改写掉了。
https://x.com/UTMapp/status/1708907045314035986
坏消息: Apple 在 iOS 16.4 中移除 XNU 的 Hypervisor 支援。以下是 iOS 16.3.1
与 iOS 16.4 的差异。这意味着即使 iOS 16.6.1/17.0 出现越狱/TrollStore,也不会
有 UTM 虚拟化支援,即使在 M1/M2 ipad 上也是如此。
BAD NEWS: Apple removed Hypervisor support from XNU in iOS 16.4. Here is a
diff of iOS 16.3.1 and iOS 16.4. What this means is that even if a
jailbreak/TrollStore comes out for iOS 16.6.1/17.0, there will not be UTM
virtualization support, even on M1/M2 iPads.
故除非有办法去改写系统核心,才有机会让这个方法有办法再走,
截至目前,即使越狱过后也没有一个成功大量部属修改系统核心增加功能的案例。
(上面的实验有尝试修改 Flag,但是新系统之后架构更改就失效)
此外由于苹果 AppStore 政策的限制,
商店上的版本是不能带有 JIT(Just In Time) 编译功能,
且目前仅有浏览器可以带有 JIT 的功能,非浏览器的 App 基本上是禁止搭载。
JIT 是一种动态程式码生成技术,可以一边执行一边编译,
模拟器的内容因为不可能事先写好要执行的程式码,
所以必须要透过动态编译才能执行,
即使像是 SE 版的 Threaded Interpreter 也是逐行翻译指令集的指令。
这也让 UTM SE 其实是以一个转译开销非常大的方式在运行,
一方面速度非常慢,另外就是处理器本身其实耗费大量的运算资源,
算力投入很大(发热)但是产出却获得很少(执行慢)。
而上架商店审核的机器自动分析通常主要仰赖静态程式码分析,
这会让苹果审核 App 的时候无法得知是否有恶意功能,
便以安全性疑虑为由禁止这类型的 App 上架。
https://oatmealdome.me/blog/why-dolphin-isnt-coming-to-the-app-store/
也因此,短时间内可能 UTM SE 会是在苹果规范正常用法下的唯一方案。
【第二节:运行再慢也有总比没有好】
虽然前面列出了一大堆 UTM SE 的缺点,但他仍然是一个功能完整的通用型模拟器,
所以即使慢,但至少多了一条路可以让 iPad 执行桌面级作业系统,
那么在这些条件限制底下还能做点什么?
其实就是一开始提到的:桌面级专业生产力软件,比如 Windows 下的 Office,
很多功能在 Office iOS 行动版是缺少的,
还有就是桌面级档案管理,并且输入法输入逻辑也有不同。
这些诱因其实可让 UTM 的使用上与现有 iPadOS App 操作有所差异。(当然还有酷)
因此这次的目标主要就是能够稳定的使用 Windows 系统,
能够编辑一些 Office 档案,并且与 iPadOS 进行档案交流。
顺带一提,由于 SE 版本 CPU 算力的不足,
网页浏览的部分经过目前手边的实测恐怕可用性很低,
但是用一些当年的套装软件或者适合的工具来做点什么其实是可行的。