macos-guest-virtualbox.sh是一個BASH腳本,它在VirtualBox上創建MacOS虛擬機訪客,並使用未修改的MacOS安裝文件直接從Apple服務器下載。
默認安裝僅要求用戶耐心地坐著,不到十次,在由腳本提示時按Enter,而無需與虛擬機交互。
在Cygwin上的bash和zsh進行了測試。使用VT-X或AMD-V上的MacOS,CentOS 7和Windows上的X86 CPU上工作。應該在大多數現代Linux發行版中工作。
Macos Catalina(10.15),Mojave(10.14)和High Sierra(10.13)當前支持。
如果您想成為此存儲庫的維護者,請參閱第645期 - 維護者想要。
可以通過執行命令./macos-guest-virtualbox.sh documentation來查看文檔
腳本的大部分是文檔,註釋或可操作的錯誤消息,它們應該使腳本直接進行檢查和理解。
iCloud,iMessage和其他連接的Apple服務需要有效的設備名稱和序列號,板ID和序列號,以及其他真實的(或類似於真正的)Apple參數。這些可以通過編輯腳本在EFI和NVRAM中設置。有關更多信息,請參見文檔命令。
默認情況下,該腳本分配了一個目標虛擬磁盤存儲大小為80GB,在初始安裝時,在主機上填充了約25GB。安裝完成後,可以增加存儲尺寸。有關更多信息,請參見文檔命令。
MacOS在VirtualBox 640x480支持以下主要顯示分辨率: 5120x2880 2880x1800 2560x1600 2560x1440 1920x1200 1600x1200 1680x1050 1280x800 1024x768 1440x900有關更多信息,請參見文檔命令。
腳本的範圍正在在支持硬件上的VirtualBox上完成默認的MACOS安裝過程。 VirtualBox或MacOS的進一步運行順序超出了此腳本的範圍。某些功能可能會出乎意料地表現,例如USB設備支持,音頻支持,FileVault啟動密碼提示支持以及其他功能,包括關鍵功能。
該腳本是為X86 CPU MAC硬件設計的。 MacOS訪客在VirtualBox上通常與其他CPU型號不兼容。如果Guest MacOS啟動過程掛在“ Load Kernelfromstream”,“ Endrandomseed”或“ Exitbs”上,請參見有關VirtualBox CPU配置文件和CPUID設置的文檔命令。某些在2020年發布的CPU模型可能無法啟動或完成安裝程序,並且可能需要手動調整CPUID設置。
虛擬機可以通過軟件更新升級到最新的Macos Big Sur(11)和Macos Monterey(12)版本。大型SUR可能會在現場安裝。蒙特雷可能需要將另一卷附加到虛擬機上並選擇音量作為安裝目標,否則升級容易失敗並輸入引導循環。
成功創建工作的MacOS虛擬機後,考慮將其導入到更性能的虛擬化軟件中,或將其包裝以進行配置管理平台以進行自動部署。這些虛擬化和部署應用程序需要超出腳本範圍的其他配置。
帶有KVM的Qemu能夠提供虛擬機硬件傳遞以進行近乎本地的性能。 QEMU支持VMDK虛擬磁盤圖像存儲格式,可以配置為腳本創建。有關更多信息,請參見文檔命令。 QEMU和KVM需要超出腳本範圍的其他配置。
VirtualBox本機執行管理器(NEM)是一個實驗性虛擬盒功能。當訪問VT-X和AMD-V的訪問被虛擬化軟件或執行保護功能(例如Hyper-V,WSL2,WSLG,Windows Sandbox,Memory Integration Protection,Application Guard,憑證護罩,設備護罩以及其他功能和其他功能和其他功能和其他功能和其他功能和其他功能)時,VirtualBox使用NEM使用NEM。 MACOS和MACOS安裝程序在NEM虛擬化下具有內存損壞問題。如果檢測到錯誤消息,則腳本檢查NEM並帶有錯誤消息。
VirtualBox可以在WSL2和WSLG上使用一些內核模塊編譯,儘管性能非常低。在需要內核模塊彙編時,最好在WSL2和WSLG上使用QEMU/KVM,這比WSL2和WSLG上的VirtualBox快數量級。 WSL2,WSLG,QEMU和KVM需要超出腳本範圍的其他配置。
MacOS VirtualBox訪客無需額外的引導加載程序即可加載,但與OpenCore兼容。 OpenCore需要其他配置,這些配置超出了腳本的範圍。
MACOS可能不支持任何內置的VirtualBox音頻控制器。 Boot Loader OpenCore可能能夠在VirtualBox中加載開源或內置音頻驅動程序,從而提供STAC9221(Intel HD Audio)或Sigmatel STAC9700,83,84(ICH AC97)的配置。
VirtualBox不會為其虛擬顯示提供EDID,並且MACOS不會在沒有EDID的情況下啟用顯示縮放(高PPI)。 Boot Loader OpenCore可以注入一個EDID,該EDID啟用顯示縮放。
啟動時,VirtualBox EFI實現無法正確加載FileVault完整磁盤加密密碼提示。 Bootloader OpenCore能夠將密碼提示加載,並設置為true參數ProvideConsoleGop 。請參閱示例config.plist
以下依賴項應通過軟件包管理器可用:
bash coreutils gzip unzip wget xxd dmg2img virtualbox
以下可選軟件包提供了光學特徵識別,可減少與腳本所需的交互:
tesseract-ocr tesseract-ocr-eng
支持版本:
Bash ,窗戶通過cygwin或wsl“ 1”,請參見NEMcoreutils , gzip ,info- unzip , wget , xxddmg2img ,在cygwin上,該軟件包無法通過軟件包管理器獲得,因此腳本會自動下載。tesseract-ocr