このREADME.md
には、 Virtual Hackintosh
システムの作成プロセスが記載されています。
注: このリポジトリに含まれるすべての BLOB とリソースは再派生可能です (すべての命令が含まれています)。
この製品に関する商用サポートをお探しですか?商用サポート オプションについてのみ、電子メールでチャットをご利用いただけます。注: プロジェクト スポンサーは、 Private OSX-KVM
リポジトリにアクセスし、直接サポートを得ることができます。
Content Caching
に問題がありますか?私たちがお手伝いできます。
Proxmox
と macOS を使用していますか? Nick のブログをぜひご覧ください。
はい、オフライン macOS インストールをサポートするようになりました。このドキュメントを参照してください。
このプロジェクトには、いつでもあなたの協力、時間、注意が必要です。次の作業項目に関するヘルプ (プルリクエスト!) を探しています。
一般的なクラウド プロバイダー (Hetzner、GCP、AWS) での macOS の実行に関するドキュメント。 「 Is This Legal?
参照してください。セクションと関連参照を参照してください。
このプロジェクトを使用してオープンソース プロジェクトを構築およびテストし、作業を完了する方法を文書化 (共有) します。
XNU カーネルのデバッグと開発にこのプロジェクトを使用する方法を文書化します。
多数のヘッドレス macOS VM を起動するプロセス (ファームの構築) を文書化します。
このようなbuild farm
にソフトウェアを展開するためのmunki の使用法を文書化します。
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
注: 最新の NVIDIA GPU は HighSierra ではサポートされていますが、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
メモ: 最良の結果を得るには、この HDD イメージ ファイルを高速 SSD/NVMe ディスク上に作成してください。
これで 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
次のコマンドを実行して VM を作成します。
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 機能などの機能が欠けています。これらを有効にするには、メモを参照してください。この分野に関するテストと文書化作業を再開したいと考えています。この分野の仕事に資金を提供できる場合は、ぜひご連絡ください。
「ネイティブ Apple-HW を超える」パフォーマンスを実現することは可能ですが、それには努力、忍耐、そして少しの運 (おそらく?) が必要です。
SSH、VNC などを介して VM にリモート アクセスするために、VM にアウトバウンドおよびインバウンドのネットワークをセットアップする方法については、ネットワークに関するメモを参照してください。
GPU およびその他のデバイスをパススルーするには、これらのメモを参照してください。
別の解像度が必要ですか?このリポジトリに含まれるメモを確認してください。
iMessage に問題がありますか?このリポジトリに含まれるメモを確認してください。
強く推奨される macOS の調整 - https://github.com/sickcodes/osx-optimizer
「秘密の」Apple OSK 文字列はインターネット上で広く入手可能です。これは、ここで入手できる公開法廷文書にも含まれています。私は弁護士ではありませんが、OSK 文字列を企業秘密として扱わせようとする Apple の試みは失敗に終わったようです。これらの理由により、OSK 文字列はこのリポジトリに自由に含まれています。
Dortania の OpenCore インストール ガイドの「ハッキングの合法性」ドキュメント部分を確認してください。
Gabriel Somlo は、QEMU/KVM で macOS を実行する際の法的側面についても考えています。
この「macOS 用 Amazon EC2 Mac インスタンスの発表」の記事も興味深いかもしれません。
注: Apple EULA を理解し、受け入れる (または受け入れない) のはあなたの責任です。
注: これは法的なアドバイスではないため、ご自身で適切な評価を行い、懸念がある場合は弁護士に相談してください (テキストクレジット: Dortania)
私の目標は、Apple の閉鎖的なエコシステムに (過度に) 「投資」 することなく、macOS ベースの教育タスク、ビルド + テスト、カーネルのデバッグ、リバース、macOS セキュリティ研究を簡単かつ再現可能な方法で実行できるようにすることです。
これらのVirtual Hackintosh
システムは、正規の物理 macOS システムを置き換えることを目的としたものではありません。
個人的に言えば、このリポジトリは私にとって Apple エコシステムから「抜け出す」ための手段でした。これは、 Canon CanoScan LiDE 120
スキャナーとBrother HL-2250DN
レーザー プリンターの相互運用性をテストして比較するのに役立ちました。そして、これらのデバイスは、最新バージョンの Ubuntu で十分に動作するようになりました (無料ソフトウェアならいいですね)。また、ずっと昔、 OS X
カーネルがクラッシュし続けたため、(当時) 新品のMacBook Pro (Retina, 15-inch, Late 2013)
完全に消去し、Xubuntu をインストールする必要がありました。
バックストーリー: 私は前世でカナダの (貧しい) 学生でしたが、Apple は私の Apple キーチェーンのクラック作業を必要以上に困難にしました。これが私が Hackintosh システムに興味を持ったきっかけです。