此README.md
记录了创建Virtual Hackintosh
系统的过程。
注意:此存储库中包含的所有 blob 和资源都是可重新派生的(包含所有指令!)。
正在寻找这些东西的商业支持?我可以通过电子邮件与我进行聊天,仅提供商业支持选项。注意:项目发起人可以访问Private OSX-KVM
存储库并获得直接支持。
还在为Content Caching
烦恼吗?我们可以提供帮助。
使用Proxmox
和 macOS?请参阅尼克的博客。
是的,我们现在支持离线 macOS 安装 - 请参阅此文档?
这个项目总是需要您的帮助、时间和注意力。我正在寻求有关以下工作项目的帮助(拉请求!):
有关在流行云提供商(Hetzner、GCP、AWS)上运行 macOS 的文档。请参阅Is This Legal?
部分和相关参考文献。
记录(分享)您如何使用此项目来构建+测试开源项目/完成您的工作。
记录如何使用该项目进行 XNU 内核调试和开发。
记录启动一堆无头 macOS 虚拟机(构建农场)的过程。
记录使用 munki 将软件部署到此类build farm
情况。
开箱即用或更轻松地启用 VNC + SSH 支持。
鲁棒性的改进总是受欢迎的!
(不是)疯狂的想法 - 通过 OpenCV 自动安装 macOS。
现代 Linux 发行版。例如 Ubuntu 24.04 LTS 64 位或更高版本。
QEMU >= 8.2.2
需要支持 Intel VT-x / AMD SVM 的 CPU ( grep -e vmx -e svm /proc/cpuinfo
)
>= macOS Sierra 需要支持 SSE4.1 的 CPU
>= macOS Ventura 需要支持 AVX2 的 CPU
注意:众所周知,较旧的 AMD CPU 存在问题,但现代 AMD Ryzen 处理器工作得很好(即使对于 macOS Sonoma)。
安装 QEMU 和其他软件包。
sudo apt-get install qemu-system uml-utilities virt-manager git
wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr
tesseract-ocr-eng genisoimage vim net-tools screen -y
此步骤可能需要针对您的 Linux 发行版进行调整。
在您的 QEMU 系统上克隆此存储库。以下步骤将使用此存储库中的文件。
cd ~
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
可以通过以下命令拉取存储库更新:
git pull --rebase
该存储库大量使用基于变基的工作流程。
KVM 可能需要在主机上进行以下调整才能工作。
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
要使此更改永久生效,您可以使用以下命令。
sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes only
sudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf # for amd boxes only
将用户添加到kvm
和libvirt
组(可能需要)。
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
注意:执行该命令后需重新登录。
获取 macOS 安装程序。
./fetch-macOS-v2.py
您可以在此处选择所需的 macOS 版本。执行此步骤后,当前文件夹中应该有BaseSystem.dmg
文件。
注意:如果速度缓慢,请让>= Big Sur
设置在Country Selection
屏幕和其他类似位置停留一段时间。初始 macOS 设置向导最终会成功。
示例运行:
$ ./fetch-macOS-v2.py
1. High Sierra (10.13)
2. Mojave (10.14)
3. Catalina (10.15)
4. Big Sur (11.7)
5. Monterey (12.6)
6. Ventura (13) - RECOMMENDED
7. Sonoma (14)
8. Sequoia (15)
Choose a product to download (1-8): 6
注意:HighSierra 支持现代 NVIDIA GPU,但更高版本的 macOS 不支持。
将下载的BaseSystem.dmg
文件转换为BaseSystem.img
文件。
dmg2img -i BaseSystem.dmg BaseSystem.img
创建将安装 macOS 的虚拟 HDD 映像。如果将磁盘映像的名称从mac_hdd_ng.img
更改为其他名称,则需要更新引导脚本以指向新的映像名称。
qemu-img create -f qcow2 mac_hdd_ng.img 256G
注意:在快速 SSD/NVMe 磁盘上创建此 HDD 映像文件以获得最佳效果。
现在您已准备好安装 macOS
CLI 方法(主要)。只需运行OpenCore-Boot.sh
脚本即可开始安装过程。
./OpenCore-Boot.sh
注意:此相同的脚本适用于所有最新的 macOS 版本。
使用 macOS 安装程序中的Disk Utility
工具对附加到 macOS VM 的虚拟磁盘进行分区和格式化。对于现代 macOS 版本,使用APFS
(默认)。
继续,安装 macOS 吗?
(可选)将此 macOS VM 磁盘与 libvirt(virt-manager / virsh 内容)结合使用。
编辑macOS-libvirt-Catalina.xml
文件并更改各种文件路径(在该文件中搜索CHANGEME
字符串)。以下命令通常可以解决问题。
sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
virt-xml-validate macOS.xml
通过运行以下命令创建虚拟机。
virsh --connect qemu:///system define macOS.xml
如果需要,请向 libvirt-qemu 用户授予必要的权限,
sudo setfacl -m u:libvirt-qemu:rx /home/$USER
sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
启动virt-manager
并启动macOS
虚拟机。
使用提供的 boot-macOS-headless.sh 脚本。
./boot-macOS-headless.sh
设置Virtual Hackintosh
系统干得好!这样的系统可用于多种目的(例如软件构建、测试、逆向工作),它可能就是您所需要的,以及此存储库中记录的一些调整。
然而,这样的系统缺乏图形加速、可靠的声音子系统、USB 3 功能和其他类似的东西。要启用这些功能,请查看我们的注释。我们希望恢复围绕该领域的测试和文档工作。如果您有能力资助该领域的工作,请与我们联系。
拥有“超越本机苹果硬件”的性能是可能的,但它确实需要工作、耐心和一点运气(也许?)。
请参阅网络说明,了解如何在虚拟机中设置网络、出站和入站网络,以便通过 SSH、VNC 等远程访问虚拟机。
要直通 GPU 和其他设备,请参阅这些说明。
需要不同的分辨率吗?查看此存储库中包含的注释。
iMessage 有问题吗?查看此存储库中包含的注释。
强烈推荐 macOS 调整 - https://github.com/sickcodes/osx-optimizer
“秘密”Apple OSK 字符串在 Internet 上随处可见。它也包含在此处提供的公开法庭文件中。我不是律师,但苹果将 OSK 字符串视为商业秘密的尝试似乎没有成功。由于这些原因,OSK 字符串免费包含在该存储库中。
请查看 Dortania 的 OpenCore 安装指南中的“黑客攻击的合法性”文档部分。
Gabriel Somlo 对于在 QEMU/KVM 下运行 macOS 所涉及的法律问题也有一些想法。
您可能还会发现这篇“宣布推出适用于 macOS 的 Amazon EC2 Mac 实例”文章很有趣。
注意:您有责任理解并接受(或不接受)Apple EULA。
注意:这不是法律建议,因此请自行做出适当的评估,如果您有任何疑问,请与您的律师讨论(文本来源:Dortania)
我的目标是以一种简单、可重复的方式实现基于 macOS 的教育任务、构建+测试、内核调试、逆向和 macOS 安全研究,而无需对 Apple 的封闭生态系统进行“投资”(过多)。
这些Virtual Hackintosh
系统无意取代真正的物理 macOS 系统。
就我个人而言,这个存储库是我“退出”Apple 生态系统的一种方式。它帮助我测试和比较了Canon CanoScan LiDE 120
扫描仪和Brother HL-2250DN
激光打印机的互操作性。这些设备现在可以在现代版本的 Ubuntu 上正常工作(自由软件是的)。另外,很久以前,我不得不彻底擦除我的(当时)全新的MacBook Pro (Retina, 15-inch, Late 2013)
并在其上安装 Xubuntu - 因为OS X
内核不断崩溃!
背景故事:我前世是加拿大的一名(贫困)学生,苹果让我破解苹果钥匙串的工作变得比需要的困难得多。这就是我对 Hackintosh 系统感兴趣的原因。