因為想要用Xcode編譯一些東西,所以有了在Linux電腦裝MacOS虛擬機的念頭,趁蘋果全面轉向ARM前裝來用。
Github上有一個很受歡迎的解決方案kholia/OSX-KVM,簡單易用,目前支援到最新版macOS Ventura (13.2.1)。
不需要事先用Mac電腦製作ISO也能安裝虛擬機,利用Linux的KVM技術高效率執行虛擬機,還支援顯示卡直通。當然顯示卡要AMD才行,蘋果不喜歡Nvidia。
其實這就是虛擬機版的黑蘋果,作者宣稱Apple-OSK的字串網路上到處都是,因此不保證合法性。
1. 確認KVM核心模組狀況
- CPU為Intel i5-7400,電腦主機板要進入UEFI啟用CPU虛擬化支援。接著檢查CPU是否支援虛擬化,回傳值不為0。
|
|
- 接著用以下指令確認CPU是否支援KVM,還有KVM核心模組是否有載入:
|
|
2. 安裝前置依賴套件
首先你需要安裝QEMU和Virt Manager。Ubuntu 22.04參考這篇,Arch Linux則參考這篇
再安裝剩下的套件
|
|
將使用者加入KVM群組
|
|
3. 複製OSX-KVM儲存庫
- 複製OSX-KVM儲存庫
|
|
- 選擇macOS版本,輸入6,下載最新版macOS Ventura。此階段只會下載600MB的基本系統映像檔。
|
|
- 將DMG檔轉成IMG:
|
|
- 建立一個虛擬硬碟,建議至少128GB。
|
|
4. 開始安裝macOS虛擬機
- 用指令稿開機
|
|
點一下QEMU畫面,用方向鍵移動到Base System,按下Enter
點選磁碟工具(Disk Utility),Continue。
選取剛剛建立的虛擬硬碟,點選Erase開始格式化
給硬碟取名,Format選擇macOS Extended (Journal)
關閉磁碟工具,回到主畫面,點選"Reinstall macOS Ventura",按Continue。
接著按照螢幕指示完成安裝,下載檔案和安裝系統要2小時以上,慢慢等吧。
安裝期間可能需要反覆重開虛擬機才能順利裝完,之後會進到以下畫面。
設定好時間、語言、使用者帳號。進入桌面之後點選系統設定 → 系統更新,讓系統跑完更新。
調整螢幕解析度的其餘設定請看開發者的Note
5. 將macOS虛擬機加到Virt Manager
將macOS虛擬機資訊匯入到Virt Manager,方便編輯硬體參數。
安裝完虛擬機後,將macOS關機。
修改XML,並用virt-xml驗證
|
|
- 用macOS的XML建立虛擬機
|
|
- 設定目錄權限
|
|
這樣macOS就會出現在Virt Manager列表了,可以直接從這裡開機。
開發者有提到Ubuntu用戶需要自行新增開機啟動macOS的網路卡服務,編輯
/etc/rc.local
,新增以下內容。
|
|
- 賦予執行權限
|
|
- 如果系統是使用systemd,那麼還需要編輯
/etc/systemd/system/rc-local.service
,加入以下內容。(參考)
|
|
- 啟動rc.local服務
|
|