UTM虛擬機常見問題QA解答
時間:2023-06-25 15:51:01 | 來源:網(wǎng)站運營
時間:2023-06-25 15:51:01 來源:網(wǎng)站運營
UTM虛擬機常見問題QA解答:
寫在前面
在這篇文章之前,在互聯(lián)網(wǎng)上已經有了很多關于它的文章,本站也不例外。
其中熱度最高的是 @少數(shù)派 的這篇文章
以及由知友 @Ty-ty 所寫的一篇FAQ解答
這些內容都很詳細和實用,但是由于時間的問題,這些內容會過時,而且
可能會誤導新手,正因如此,本人打算參考UTM的GitHub倉庫(README)
、之前寫的一篇UTM安裝指南
、百度UTM虛擬機吧的一些網(wǎng)友提問
、JitterBug使用教程 等等資料寫一篇較為詳細的問題FAQ解答,本解答也將持續(xù)更新,如果這篇文章對你有幫助,請給我一個贊同、收藏或關注,謝謝你!
什么是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)的操作系統(tǒng),例如Windows、Linux、ReactOS等。
在iPad Pro上運行的UTM 2.0版本UTM一共有幾個版本?
截止目前,UTM一共有這幾個版本
- UTM (iOS平臺)
- UTM SE (iOS平臺)
- UTM for Mac (macOS平臺)
UTM SE是什么?和UTM又有那些區(qū)別?
UTM SE是UTM的“慢速版”(slow edition),UTM SE 使用“線程解釋器”(threaded interpreter),這樣它可以不需要UTM和QEMU所使用的“動態(tài)代碼生成”(JIT),這樣一來UTM SE可以作為常規(guī)應用程序安裝。
并且為了減小體積,UTM SE僅包含ARM、PPC(PowerPC)、RISC-V、X86以及X86_64的架構模擬。這是區(qū)別表格。
APP | 是否需要JIT | 支持架構 | 速度對比(使用Windows XP 64bit) |
---|
UTM | 是 | QEMU所支持的大多數(shù)架構(30+) | 啟動時間約21秒 |
UTM SE | 否,使用線程解釋器 | ARM、PPC、RISC-V、X86以及X86_64 | 啟動時間約為64秒 |
JIT是什么,為什么UTM要用它?
JIT(Just-In-Time Compiler)中文名為即時編譯器。
JIT是一種提高程序運行效率的方法。通常,程序有兩種運行方式:靜態(tài)編譯與動態(tài)解釋。靜態(tài)編譯的程序在執(zhí)行前全部被翻譯為機器碼,而動態(tài)解釋執(zhí)行的則是一句一句邊運行邊翻譯。
UTM以及其基于的QEMU需要JIT(dynamic code generation)來獲得更佳性能,
但遺憾的是并不是所有的iOS版本都支持此功能。所以有了使用線程解釋器(threaded interpreter)的UTM SE版本。
我該如何正確的安裝UTM(以及UTMSE)并使它正常的運行?
對此,最好的方式是參考UTM官方安裝指南(因為方法有點多),基本就是通過ALT JIT以及JitterBug配合進行。
也可以參考一下這篇安裝指南。
Ps. 之前單獨文章發(fā)這個鏈接被小管家誤刪了幾次,希望小管家看清楚一點。
安裝指南中提到的JitterBug是什么?我該怎么用?
在某些iOS版本中,JitterBug是一款可以在在iOS平臺啟動JIT應用的軟件,它使用libimobiledevice和WiF進行配對,這種“系留“(tethered)啟動可以在iOS設備上啟動支持JIT的應用程序。
使用方法也請參閱JitterBug倉庫最底部的README。
我啟動一個虛擬機,卻出現(xiàn)了黑屏/閃退該怎么辦?
這是因為UTM(非UTM SE)不支持在你的系統(tǒng)版本或環(huán)境上運行,請閱讀上面提到的兩篇安裝指南。或者你也可以通過AltStore等安裝渠道直接安裝UTM SE。
虛擬機啟動時出現(xiàn)“QEMU遇到錯誤退出: qemu-system: cannot set up guest memory '*.ram': Cannot allocate memory”錯誤該怎么辦?
這是由于虛擬機設置內存過大(大于iOS內存限制),請嘗試調小內存。
虛擬機安裝成功了,但提示No Boot Device該怎么辦?
因為這個問題出現(xiàn)的原因比較復雜,建議你先檢查自己掛載的cd(iso文件)是否選擇了正確的接口格式并且是啟動盤(一般的.gho等文件不支持直接啟動),以及啟動順序是否正確(位于虛擬機設置里)。
打開虛擬機時進入了一個EFI Shell是怎么一回事?
錯誤如圖由于UTM 2.2.4及以后版本修改了啟用EFI(UEFI)的條件:“默認為PC,Q35和virt機器創(chuàng)建的新VMS將啟用EFI”,因此會導致無法啟動不支持UEFI啟動的操作系統(tǒng),并進入EFI shell環(huán)境。解決方法:在虛擬機設置中的“系統(tǒng)”->“高級配置”->“UEFI引導”中手動關閉UEFI啟動。不過現(xiàn)有的PC和Q35虛擬機(或導入.utm存檔)將不會自動啟用UEFI,不受影響。
虛擬機中運行的安裝程序沒有/無法識別磁盤該怎么辦?
請確認你已經掛載了至少一塊能夠讀寫的虛擬硬盤,并且選擇了一個受操作系統(tǒng)安裝程序支持的接口(例如IDE/SATA)。
虛擬機啟動時藍屏錯誤:0x000000A5該怎么辦?
請在虛擬機設置中的系統(tǒng)選項卡 —》系統(tǒng)中將架構調為Standard PC (i440FX + PIIX, 1996)(defult)(pc-i440fx-5.2)。
我安裝好了/導入了別人的鏡像,但沒法使用鼠標該怎么辦?
請前往虛擬機設置 —》輸入 并打開 輸入(PS/2)模式。
虛擬機速度很慢?我該怎么辦?
首先不管是UTM或UTM SE,受限于iOS平臺的內存限制等原因導致了無法發(fā)揮較高的性能,所以幾乎無法用于辦公/玩游戲。
你可以嘗試使用別人精簡過的鏡像,或直接導入別人的.utm存檔文件(文件共享 —》選擇UTM)