MacOS-Guest-Virtualbox.sh是一个Bash脚本,它使用直接从Apple服务器下载的未经修改的MacOS安装文件在VirtualBox上创建MacOS虚拟机来宾。在Cygwin身上测试过。可以在MacOS、Windows Subsystem for Linux和CentOS 7上运行。应该可以在大多数现代Linux发行版上运行。
默认安装只需要用户耐心地坐着,并且在脚本提示时按Enter键不到10次,而不需要与虚拟机交互。
iCloud、iMessage和其他连接的Apple服务需要有效的设备名称和序列号、主板ID和序列号以及其他正版(或正版)Apple参数。可以通过编辑脚本在NVRAM中设置这些参数。有关详细信息,请参阅文档。
默认情况下,该脚本分配80 GB的目标虚拟磁盘存储大小,该大小在初始安装时填充到主机上的约20 GB。安装完成后,可能会增加存储大小。有关详细信息,请参阅文档。
VirtualBox上的MacOS支持以下主要显示分辨率:5120x2880 2880x1800 2560x1600 2560x1440 1920x1200 1600x1200 1680x1050 1440x900 1280x800 1024x768 640x480。有关详细信息,请参阅文档。
开发和维护VirtualBox或MacOS功能超出了本脚本的范围。某些功能可能会出现意外行为,例如USB设备支持、音频支持、FileVault引导密码提示支持以及其他功能。
在成功创建一个正常工作的MacOS虚拟机之后,请考虑使用KVM将其导入到QEMU中,这样它就可以使用硬件直通来实现近乎本机的性能。要在VirtualBox和QEMU上使用相同的虚拟机磁盘映像,请在执行脚本之前选择VMDK虚拟磁盘映像存储格式,或在安装MacOS之后将VDI文件转换为VMDK文件。有关详细信息,请参阅文档。QEMU和KVM需要超出脚本范围的附加配置。
MacOS VirtualBox来宾无需额外的引导加载程序即可加载,但它与OpenCore兼容。OpenCore需要超出脚本范围的其他配置。
MacOS可能不支持任何内置VirtualBox音频控制器。如果STAC9221(英特尔高清音频)或Sigmatel STAC9700、83、84(ICH AC97)的配置可用,引导加载程序OpenCore可能能够在VirtualBox中加载开源或内置音频驱动程序。
VirtualBox EFI实现在引导时无法正确加载FileVault全磁盘加密密码提示。引导加载程序OpenCore能够在参数ProVideConsoleGop设置为true的情况下加载密码提示符。请参见示例config.plist。
所有依赖项都应该可以通过包管理器获得:bash coreutils gzip解压缩wget xxd dmg2img VirtualBox。
GNU coreutils≥8.22、GNU gzip≥1.5、Info-ZIP解压缩≥v6.0、GNU wget≥1.14、xxd≥1.7。
dmg2img≥1.6.5,在Cygwin上,包不能通过包管理器获得,所以脚本会自动下载它。