在iOS上运行带有虚拟机软件的Windows或Linux,其实并不是什么新鲜事。早在2017年,某小众团体就有文章介绍过。但那时候只是为了怀旧和打游戏。现在,苹果赋予了iPad越来越多的生
在iOS上运行带有虚拟机软件的Windows或Linux,其实并不是什么新鲜事。早在2017年,某小众团体就有文章介绍过。但那时候只是为了怀旧和打游戏。现在,苹果赋予了iPad越来越多的生产力元素,运行在iOS/iPadOS上的虚拟机就有了更大的意义。
UTM是一款开源的虚拟机软件,将QEMU移植到了iOS上。通过完全模拟整个计算机硬件系统,我们可以在iOS设备上运行Windows、Linux和Android。甚至,Twitter上的用户展示了在iPad上通过UTM运行旧版macOS,然后使用Xcode开发iOS的梦幻操作。
iPad上的IOS开发
安装UTM主程序如果您有自己安装ipa文件的方法,可以跳过这一节,直接进入虚拟机创建一节。或者你可以先看看体验部分,再看看有没有必要安装UTM。
由于其特殊性,UTM错过了应用商店。因此,我们需要下载ipa文件并手动安装。UTM官方建议使用AltStore进行安装。Ipa文件可以比作Android下的apk文件,是iOS的应用安装包。不同的是,ipa文件需要苹果开发者账号签名才能安装到iOS设备上。正常情况下,这个过程应该由Xcode来完成。AltStore简化了这个过程,不需要Xcode就可以安装ipa文件,为管理提供了便利。
先去GitHub获取UTM最新的ipa文件,再去AltStore官网获取AltStore的电脑端依赖软件AltServer的安装包。然后,在计算机上安装AltServer。安装完成后,在AltServer中登录我们的Apple ID,在菜单中安装邮箱插件。
然后,运行相应的邮件应用程序1。邮件应用必须登录我们Apple ID的绑定邮箱,并在设置中启用AltServer插件。最后用数据线把iOS设备连接到电脑上,在AltServer的菜单里把AltStore安装到目标设备上。稍等片刻,iOS设备主屏幕上会出现AltStore。
安装AltStore后,保持邮件应用和AltServer在电脑端运行,并确保iOS设备与电脑在同一个局域网上。将UTM的ipa文件传输到iOS设备,启动AltStore,在底部导航栏中选择我的应用程序,触摸左上角的加号,然后选择UTM的ipa文件。很快,UTM将出现在我们的主屏幕上。
回到AltStore的我的应用页面,我们会发现,在应用之后,提示应用将在7天之后过期。这是因为我们的Apple ID不购买苹果公司99美元的年度付费开发者账户,我们需要每7天重新签署一次应用程序。在应用即将到期的前一天,AltStore会发通知提醒我们,可以在电脑端启动AltServer和mail应用,点击AltStore的我的应用页面中的全部刷新字样,手动重新登录。
在UTM创建一个虚拟机UTM有一个友好的交互界面,并提供中文支持。但必须注意的是,由于iOS系统的一个bug,在退出UTM时,必须使用主界面左上角的分叉按钮或者虚拟机运行工具栏上的关闭按钮。你不能直接在应用切换器中滑动UTM卡来强制关闭它。否则,UTM可能无法启动或崩溃,设备需要重启才能恢复正常。
在创建虚拟机之前,我们需要下载要安装的系统映像,并将其导入iOS设备。触摸主界面右上角的加号按钮,调出创建虚拟机界面。我们可以看到,UTM支持多种架构和CPU的虚拟化,但是如果你不知道这些选项的实际意义,请保持默认的架构和CPU。
内存储器IOS的机制会强制关闭任何占用内存超过40%的应用,所以内存设置需要谨慎。UTM官方建议我们将虚拟机内存设置为设备可用内存的25%。这是因为UTM应用本身需要占用内存,而虚拟机运行时,为了提高运行效率,UTM还会生成JIT cache 2,默认值为虚拟机内存的四分之一。
如果不知道设备的可用内存,可以在虚拟创建后进入虚拟机的配置界面。在CPU和内存选项中,UTM会为我们列出设备的可用内存,然后进行设置。UTM将在检测到设置的内存过大时警告我们,如果虚拟机正在运行,UTM将保存虚拟机当前状态的快照以避免出现问题。
硬盘镜像接下来,我们需要加载图像。这里的镜像其实指的是虚拟机的硬盘。我们点击“加载图像”选项,然后触摸右上角的加号,继续点击“文件路径”。还有一个加号,摸一下就好。
我们第一次选择了“创建”,不考虑扩展名,只给图片起个名字,然后设置大小。如果要安装Windows,至少需要10 GB的硬盘,类似于真正的电脑。这一步相当于用数据线把硬盘连接到电脑上。
接下来,让我们返回并选择我们刚刚创建的映像,并确保映像类型是磁盘,这类似于真实的计算机。这一步相当于挂载硬盘。最后一次回去,我们的镜子就创建好了。我们可以创建多个镜像,类似于一台真实的计算机,相当于多个物理硬盘。
接下来,我们重复刚才的动作。只是这一次,我们选择“导入”我们导入的系统安装盘,将镜像类型改为CD/DVD镜像,相当于插入了系统安装盘。
UTM将保存我们的虚拟机。文件应用程序中utm文件夹下的UTM文件。我们也可以通过转移的方式快速导入别人创建的虚拟机。utm文件到UTM文件夹。在我们创建映像之后,utm不会立即占用设备上这么多的空空间,而是。UTM文件将逐渐增加使用,直到它达到我们设置的图像大小。
接下来,返回UTM主界面,启动虚拟机,我们将吸引经典的系统安装向导。听听小娜的诗歌。停止后,我们可以看到虚拟机的系统桌面。此时,单击工具栏3上的暂停按钮,UTM将为我们保存虚拟机当前状态的快照。
然后点击工具栏上的关闭按钮,返回iOS桌面,重新打开UTM。触摸虚拟机卡下的按钮,在虚拟机配置中输入驱动器,删除导入的系统安装映像。
UTM主界面
虚拟机系统优化为了充分发挥虚拟机的性能,我们可以在虚拟机系统中安装一些工具,但这不是必须的。
QXL Driver:提供了更快的渲染速度,以及 retina 高清显示支持。Spice WebDAV daemon:提供了虚拟机和宿主机的文件共享,使虚拟机系统可读改「文件」应用中的 UTM 文件夹中除 .utm 文件外的其它文件。SPICE guest agent:提供了剪贴板同步等实用性功能。
以上工具的安装包可以在这里获得。值得注意的是,你可以直接下载访客客户端,UTM有内置的服务器。以上工具只在少数系统上工作,比如Windows和Debian。
此时,我们的虚拟机已经完全配置好了。
使用UTM在iPad Pro上安装Windows 7
经验我安装UTM的设备是11英寸的第二代蜂窝数据版iPad Pro,配有12X处理器。storage 空 room为256 GB,UTM显示我的设备可用内存为3057 MB。在清空空的后台后,我给每个虚拟机分配了1024 MB的内存,没有触发报警,也没有强制关机。
表演说到虚拟机,大家最关心的就是性能。如上所述,UTM实现虚拟机的方法是模拟整个计算机硬件系统。另外,苹果不提供A系列芯片的虚拟化接口,导致整个虚拟机的运行效率并不理想。我安装Windows 10和Android 9失败了。两个都能正确安装,但是我进不了桌面。最后成功安装了Windows 7和Android 4.4.4。在Android 4.4.4中,我用Geekbench 3跑了一下成绩,结果供大家参考。
Android 4.4.4 Geekbench 3运行结果
这个跑分是什么水平?我大概翻遍了历年的安卓旗舰,最接近的是2011年发布的三星Galaxy S II。当然,这只是旗舰机。未来几年发布的非旗舰平板中,比如2015年发布的华为T1-701U,就接近这个跑分。
跑分这么低的一个重要原因是UTM不支持虚拟多核处理器。虽然提供了相关设置,但官方表示尽量不要更改。在运行Android 4的过程中,帧率很低,一些拖拽操作也没有跟上。
在Windows 7的体验过程中,IE浏览器可以正常使用。众所周知,IE浏览器最大的意义就是下载其他浏览器。所以我试着装了Chrome。在运行安装的过程中,UTM崩溃了,导致我的iPad也崩溃了。但是在运行Windows 7的过程中,并没有出现可见的卡顿,操作非常流畅。也许UTM对Windows的支持更加友好。
投入UTM拥有完美的输入体验。UTM支持两种类型的输入,一种是“触摸屏模式”,将触摸屏模拟成触摸板,另一种是“平板模式”,顾名思义,与直接在平板电脑上运行的系统效果相同。这里值得注意的是平板电脑模式。在平板模式下,可以完美触摸Android 4。就像直接用安卓平板一样简单。我相信如果我装了Android 2,没有流畅度的困扰,体验可能真的可以媲美真正的Android平板。
在Windows 7下,可以完美使用Windows的笔和触摸相关功能。在性能更好的iPad设备上,如果能成功安装Windows 10,应该能完美使用Windows 10平板模式的相关功能。可惜流畅度估计还是不行(Surface用户叹气)。
我通过蓝牙把Magic Mouse连接到我的iPad上,这让我非常惊讶。我可以用Magic Mouse直接控制虚拟机里的鼠标,辅以iPad上连接键盘的智能双面文件夹,体验和真电脑没什么区别。但仍有两点令人遗憾:
UTM 无法输入 Apple Pencil 的压力传感数据。我的键盘式智能双面夹是日语的 JIS 布局,这似乎无法正确在虚拟机中映射。
可能性依我拙见,生产是一个开启创造力的过程,生产力设备应该为我们提供开启创造力的条件,为我们的创造力提供尽可能多的自由发挥的可能性。一个优秀的生产力设备应该在“可能性”和“可用性”之间取得平衡。UTM的出现无疑扩大了iPad的可能性及其生产力。
对于Linux系统,UTM提供了命令行模式,允许我们使用UTM的内置终端连接虚拟机、发送命令和进行操作。UTM还为虚拟机提供良好的网络设置。也就是说,我们可以在UTM上运行Linux作为一个小型服务器。这可能对一些开发者有些用处。在Windows上,我们也可以运行Office套件来满足一些办公需求。别忘了这篇文章的开头。iPad上的iOS开发已经成为现实。
今年的WWDC公布了arm处理器的Mac信息。这扩大了UTM的意义。X86和arm是两个完全不同的平台。在arm Mac上,Parallels Desktop等旧Mac虚拟机软件能否工作可能是个问题。在这一点上,UTM有优势。据UTM官方消息,UTM 2.0正在开发中,UI优化和对macOS Big Sur的支持已经完成。
大苏尔马科斯的UTM新闻
UTM的出现扩大了iPad的生产力。也许在ARM Mac上,苹果可以放开一些虚拟化的界面。那时,提高了易用性的UTM可能会引起轰动。
虽然本文重点介绍了UTM在iPad上的体验,但是UTM在iPhone上也可以正常运行。如果你对UTM感兴趣,可以去它的官网了解更多关于UTM的信息,它的源代码也是在GitHub开源的。