OSX-KVM - 在 QEMU/KVM上运行macOS


OSX-KVM 支持早 QEMU/KVM上运行macOS。现在支持OpenCore+Monterey+Ventura+Sonoma!

现在仅提供商业(付费)支持,以避免垃圾邮件问题。不需要Mac系统。


下述过程中,创建一个Virtual Hackintosh 系统。

注意:此存储库中包含的所有Blob和资源都是可重新派生的(包括所有说明!)。

使用Proxmox和macOS?请参阅Nick的博客

目前支持离线macOS安装-请参阅此文档🎉 : https://github.com/kholia/OSX-KVM/blob/master/run_offline.md)


依赖

  • 现代Linux分布。例如。Ubuntu 22.04 LTS 64位或更高版本。
  • QEMU >= 6.2.0
  • 需要支持 Intel VT-x/AMD SVM 的 CPU(grep -e vmx -e svm /proc/cpuinfo
  • >=macOS Sierra 需要支持SSE4.1的CPU
  • >=macOS Mojave 需要支持AVX2的CPU

注意:众所周知,较旧的AMD CPU存在问题,但现代AMD Ryzen处理器工作正常(即使对于macOS Sonoma)。


安装准备

  • 安装QEMU和其他软件包。
sudo apt-get install qemu 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

此存储库大量使用基于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

  • Add user to the kvm and libvirt groups (might be needed).
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)

Choose a product to download (1-6): 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的虚拟磁盘。使用APFS(默认) 对于现代macOS版本。
  • 继续,并安装macOS🙌
  • (可选) 和 libvirt (virt-manager / virsh stuff) 一起使用这个 macOS VM disk。
  • 编辑 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虚拟机。

Headless macOS

./boot-macOS-headless.sh

Setting Expectations Right

在建立Virtual Hackintosh系统方面做得很好!这样的系统可以用于各种目的(例如,软件构建、测试、反向工作),它可能是您所需要的全部,以及此存储库中记录的一些调整。

然而,这样的系统缺乏图形加速、可靠的声音子系统、 USB 3功能和其他类似的东西。要启用这些东西,请 看看我们的笔记。我们想继续我们的测试 留档工作请[联系我们](mailto:dhiru.kholia@gmail.com?subject=[GitHub] OSX-KVM Funding Support) 如果你能资助这个领域的工作。

有可能有“beyond-native-apple-hw”的表现,但这确实需要工作、耐心和一点运气(也许?)。


安装后


这合法吗?

“secret” 苹果OSK字符串 在公网上广泛可用。

它也包含在这里提供的公共法庭文件中。

我不是律师,但苹果试图将OSK字符串视为商业机密的尝试 似乎没有成功。由于这些原因,OSK字符串被自由地包含在这个存储库中。

请查看 ‘Legality of Hackintoshing’ documentation bits from Dortania’s OpenCore Install Guide

Gabriel Somlo对在QEMU/KVM下运行macOS所涉及的法律方面也有一些想法

您可能还会发现这篇“宣布适用于macOS的Amazon EC2 Mac实例”文章很有趣。

注意:您有责任理解和接受(或不接受)Apple EULA。

注意:这不是法律建议,因此如果您有任何疑虑,请自行进行适当的评估并与您的律师讨论(文字来源:Dortania)


动机

我的目标是以简单、可重现的方式启用基于macOS的教育任务、构建+测试、内核调试、逆转和macOS安全研究,而不会“投资”苹果封闭的生态系统(太多)。

这些Virtual Hackintosh系统并不打算取代真正的 物理macOS系统。

就个人而言,这个存储库一直是我“退出”苹果的一种方式 生态系统。它帮助我测试和比较了Canon CanoScan LiDE 120扫描仪和Brother HL-2250DN激光打印机的互操作性。还有这些 设备现在可以在现代版本的Ubuntu上正常工作(耶,免费 软件)。此外,很久以前,我不得不完全擦拭我(当时)全新的 MacBook Pro (Retina, 15-inch, Late 2013)并在上面安装徐邦图 OS X内核不断崩溃!

背景故事:我前世是加拿大的一个(贫穷的)学生,苹果让我破解苹果钥匙链的工作比它需要的要困难得多。这就是我对Hackintosh系统感兴趣的原因。


回馈贡献

这个项目总是需要你的帮助、时间和注意力。我正在寻找以下工作项目的帮助(拉-请求!):

  • 关于在流行的云提供商上运行macOS的文档(Hetzner,美东二机房, 请参阅Is This Legal?部分和相关参考资料。
  • 记录(分享)您如何使用此项目来构建+测试开源项目/完成您的工作。
  • 记录如何使用此项目进行XNU内核调试和开发。
  • 记录启动一堆无头macOS VM(构建场)的过程。
  • 文档使用munki部署软件 这样的build farm
  • 启用VNC+SSH支持开箱即用。
  • 鲁棒性改进始终受到欢迎!
  • (不是这样)疯狂的想法-通过OpenCV自动安装macOS。

2024-06-04(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程乐园

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值