15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > UTM虚拟机常见问题QA解答

UTM虚拟机常见问题QA解答

时间:2023-06-25 15:51:01 | 来源:网站运营

时间:2023-06-25 15:51:01 来源:网站运营

UTM虚拟机常见问题QA解答:

写在前面

在这篇文章之前,在互联网上已经有了很多关于它的文章,本站也不例外。

其中热度最高的是 @少数派 的这篇文章

以及由知友 @Ty-ty 所写的一篇FAQ解答

这些内容都很详细和实用,但是由于时间的问题,这些内容会过时,而且可能会误导新手,正因如此,本人打算参考UTM的GitHub仓库(README)之前写的一篇UTM安装指南百度UTM虚拟机吧的一些网友提问JitterBug使用教程 等等资料写一篇较为详细的问题FAQ解答,本解答也将持续更新,如果这篇文章对你有帮助,请给我一个赞同、收藏或关注,谢谢你!

什么是UTM?

它的GIthub仓库上有这样一句话向我们介绍它。

UTM is a full featured system emulator and virtual machine host for iOS and macOS. It is based off of QEMU. In short, it allows you to run Windows, Linux, and more on your Mac, iPhone, and iPad. More information at https://getutm.app/ and https://mac.getutm.app/
UTM是一个基于QEMU的虚拟机,因此它可以在基于arm64、x8664的iPhone、iPad、Mac上运行其他架构(例如x86_64, ARM64, RISC-V)的操作系统,例如Windows、Linux、ReactOS等。

在iPad Pro上运行的UTM 2.0版本

UTM一共有几个版本?

截止目前,UTM一共有这几个版本

UTM SE是什么?和UTM又有那些区别?

UTM SE是UTM的“慢速版”(slow edition),UTM SE 使用“线程解释器”(threaded interpreter),这样它可以不需要UTM和QEMU所使用的“动态代码生成”(JIT),这样一来UTM SE可以作为常规应用程序安装。

并且为了减小体积,UTM SE仅包含ARM、PPC(PowerPC)、RISC-V、X86以及X86_64的架构模拟。这是区别表格。

APP是否需要JIT支持架构速度对比(使用Windows XP 64bit)
UTMQEMU所支持的大多数架构(30+)启动时间约21秒
UTM SE否,使用线程解释器ARM、PPC、RISC-V、X86以及X86_64启动时间约为64秒

JIT是什么,为什么UTM要用它?

JIT(Just-In-Time Compiler)中文名为即时编译器。

JIT是一种提高程序运行效率的方法。通常,程序有两种运行方式:静态编译与动态解释。静态编译的程序在执行前全部被翻译为机器码,而动态解释执行的则是一句一句边运行边翻译。
UTM以及其基于的QEMU需要JIT(dynamic code generation)来获得更佳性能,但遗憾的是并不是所有的iOS版本都支持此功能。所以有了使用线程解释器(threaded interpreter)的UTM SE版本。

我该如何正确的安装UTM(以及UTMSE)并使它正常的运行?

对此,最好的方式是参考UTM官方安装指南(因为方法有点多),基本就是通过ALT JIT以及JitterBug配合进行。

也可以参考一下这篇安装指南。

Ps. 之前单独文章发这个链接被小管家误删了几次,希望小管家看清楚一点。

安装指南中提到的JitterBug是什么?我该怎么用?

在某些iOS版本中,JitterBug是一款可以在在iOS平台启动JIT应用的软件,它使用libimobiledevice和WiF进行配对,这种“系留“(tethered)启动可以在iOS设备上启动支持JIT的应用程序。

使用方法也请参阅JitterBug仓库最底部的README。

我启动一个虚拟机,却出现了黑屏/闪退该怎么办?

这是因为UTM(非UTM SE)不支持在你的系统版本或环境上运行,请阅读上面提到的两篇安装指南。或者你也可以通过AltStore等安装渠道直接安装UTM SE。

虚拟机启动时出现“QEMU遇到错误退出: qemu-system: cannot set up guest memory '*.ram': Cannot allocate memory”错误该怎么办?

这是由于虚拟机设置内存过大(大于iOS内存限制),请尝试调小内存。

虚拟机安装成功了,但提示No Boot Device该怎么办?

因为这个问题出现的原因比较复杂,建议你先检查自己挂载的cd(iso文件)是否选择了正确的接口格式并且是启动盘(一般的.gho等文件不支持直接启动),以及启动顺序是否正确(位于虚拟机设置里)。

打开虚拟机时进入了一个EFI Shell是怎么一回事?

错误如图
由于UTM 2.2.4及以后版本修改了启用EFI(UEFI)的条件:“默认为PC,Q35和virt机器创建的新VMS将启用EFI”,因此会导致无法启动不支持UEFI启动的操作系统,并进入EFI shell环境。解决方法:在虚拟机设置中的“系统”->“高级配置”->“UEFI引导”中手动关闭UEFI启动。不过现有的PC和Q35虚拟机(或导入.utm存档)将不会自动启用UEFI,不受影响。

虚拟机中运行的安装程序没有/无法识别磁盘该怎么办?

请确认你已经挂载了至少一块能够读写的虚拟硬盘,并且选择了一个受操作系统安装程序支持的接口(例如IDE/SATA)。

虚拟机启动时蓝屏错误:0x000000A5该怎么办?

请在虚拟机设置中的系统选项卡 —》系统中将架构调为Standard PC (i440FX + PIIX, 1996)(defult)(pc-i440fx-5.2)。

我安装好了/导入了别人的镜像,但没法使用鼠标该怎么办?

请前往虚拟机设置 —》输入 并打开 输入(PS/2)模式。

虚拟机速度很慢?我该怎么办?

首先不管是UTM或UTM SE,受限于iOS平台的内存限制等原因导致了无法发挥较高的性能,所以几乎无法用于办公/玩游戏。

你可以尝试使用别人精简过的镜像,或直接导入别人的.utm存档文件(文件共享 —》选择UTM)

关键词:解答,虚拟

74
73
25
news

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

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