参考https://github.com/kholia/OSX-KVM
sudo apt-get update
sudo apt-get install qemu uml-utilities virt-manager git \
wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \
tesseract-ocr-eng genisoimage -y
cd ~
然后克隆仓库代码
国外(二选一)
git clone --depth 1 --recursive https://github.com/y141111/OSX-KVM.git
国内(二选一)
git clone --depth 1 --recursive https://gitee.com/y141111/OSX-KVM.git
进入克隆的代码目录
cd OSX-KVM
./fetch-macOS-v2.py
dmg2img -i BaseSystem.dmg BaseSystem.img
mac_hdd_ng.img
qemu-img create -f qcow2 mac_hdd_ng.img 128G
OpenCore-Boot.sh
./OpenCore-Boot.sh
注意:此脚本适用于所有最新的 macOS 版本。
使用 macOS 安装程序中的工具进行分区,以及 格式化附加到 macOS 虚拟机的虚拟磁盘。Disk Utility
继续,并安装 macOS 🙌
提示:建议使用非 APFS 文件系统。
(可选)将此macOS VM磁盘与libvirt(virt-manager / virsh stuff)一起使用。
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
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
Nice job on setting up a Virtual Hackintosh
system! Such a system can be used for a variety of purposes (e.g. software builds, testing, reversing work), and it may be all you need, along with some tweaks documented in this repository.
However, such a system lacks graphical acceleration, a reliable sound sub-system, USB 3 functionality and other similar things. To enable these things, take a look at our notes. We would like to resume our testing and documentation work around this area. Please reach out to us if you are able to fund this area of work.
It is possible to have ‘beyond-native-apple-hw’ performance but it does require work, patience, and a bit of luck (perhaps?).
See networking notes on how to setup networking in your VM, outbound and also inbound for remote access to your VM via SSH, VNC, etc.
To passthrough GPUs and other devices, see these notes.
Need a different resolution? Check out the notes included in this repository.
Trouble with iMessage? Check out the notes included in this repository.
Highly recommended macOS tweaks - https://github.com/sickcodes/osx-optimizer
The “secret” Apple OSK string is widely available on the Internet. It is also included in a public court document available here. I am not a lawyer but it seems that Apple’s attempt(s) to get the OSK string treated as a trade secret did not work out. Due to these reasons, the OSK string is freely included in this repository.
Please review the ‘Legality of Hackintoshing’ documentation bits from Dortania’s OpenCore Install Guide.
Gabriel Somlo also has some thoughts on the legal aspects involved in running macOS under QEMU/KVM.
You may also find this ‘Announcing Amazon EC2 Mac instances for macOS’ article interesting.
Note: It is your responsibility to understand, and accept (or not accept) the Apple EULA.
Note: This is not legal advice, so please make the proper assessments yourself and discuss with your lawyers if you have any concerns (Text credit: Dortania)
My aim is to enable macOS based educational tasks, builds + testing, kernel debugging, reversing, and macOS security research in an easy, reproducible manner without getting ‘invested’ in Apple’s closed ecosystem (too heavily).
These Virtual Hackintosh
systems are not intended to replace the genuine physical macOS systems.
Personally speaking, this repository has been a way for me to ‘exit’ the Apple ecosystem. It has helped me to test and compare the interoperability of Canon CanoScan LiDE 120
scanner, and Brother HL-2250DN
laser printer. And these devices now work decently enough on modern versions of Ubuntu (Yay for free software). Also, a long time back, I had to completely wipe my (then) brand new MacBook Pro (Retina, 15-inch, Late 2013)
and install Xubuntu on it - as the OS X kernel kept crashing on it!
Backstory: I was a (poor) student in Canada in a previous life and Apple made my work on cracking Apple Keychains a lot harder than it needed to be. This is how I got interested in Hackintosh systems.