KVMでHackintosh!(Mac OS 10.15 Catalina)
追記
最近OSX-KVMをまた導入する機会があったのですが、手順は多少変わっていました。この情報は古いです。が、一応残しておきます。基本的にOSX-KVMのReadme通りにやれば大丈夫でした。
あと、これをベースにしたDocker-OSXのほうが導入が楽です。
https://github.com/sickcodes/Docker-OSX
概要
Ubuntu18.04上のKVMでHackintoshをしてみました。VNCを使う方法で試しました。
その時にちょっとつまづいたのでメモ。
これを使用しました。
https://github.com/kholia/OSX-KVM
手順
レポジトリをクローン
$ cd ~
$ git clone https://github.com/kholia/OSX-KVM.git
$ cd OSX-KVM
BaseSystem.dmg を入手
このコマンドを実行すればmacOSのインストーラーの中にあるBaseSystem.dmgを取得できるはずなのですが、こちらの環境だとなぜか出来ませんでした。
$ ./fetch-macOS.py
とりあえずインストーラーの中にあるBaseSystem.dmgが持ってこれればいいので、
ほかのMac(これもhackintoshだけど)からダウンロードして取ってきました。
どうにかしてBaseSyatem.dmgを取ってきたらimgに変換します。
$ dmg2img BaseSystem.dmg BaseSystem.img
BaseSystem.imgは、OSX-KVMフォルダの中に入れてください。
イメージファイルを作成
$ cd ~/OSX-KVM
$ qemu-img create -f qcow2 mac_hdd_ng.img 128G
仮想マシンの設定ファイル
パスを変更します。
$ sed -i "s/CHANGEME/$USER/g" macOS-libvirt-NG.xml
また、グラフィックの設定を変えてVNCで出力できるようにします。
144行目の
<graphics type='spice' autoport='yes'>
<listen type='address'/>
</graphics>
を
<graphics type='vnc' port='-1' autoport='yes'>
<listen type='address'/>
</graphics>
に書き換え。
CPUのコア数、メモリ、ブリッジの設定とかはお好みで変えてください。
仮想マシンを登録、起動
$ sudo virsh define macOS-libvirt-NG.xml
$ sudo virsh start macOS
VNCから接続してMacをインストール
適当なVNCクライアントで繋ぎます。初期設定でポートは5900, 5901…と仮想マシンを起動した順になっています。
ローカルホスト以外で繋ぎたいときは、/etc/libvirt/qemu.conf の vnc_listen = “0.0.0.0” って書いてある行をコメントアウトします。
繋げたらmacOSユーティリティーが出てるので普通にインストールします。

解像度の設定
初期設定では解像度が1024×768になっています。
フルHDに変更してみました。
config.plistを編集
外からマウントして編集します。(もしくはmacの中からEFIをマウントしてconfig.plistを編集してください。)
$ sudo modprobe nbd
$ sudo qemu-nbd --connect=/dev/nbd0 ~/OSX-KVM/Catalina/CloverNG.qcow2
$ sudo mkdir /mnt/test
$ sudo mount /dev/nbd0p1 /mnt/test
$ sudo vim /mnt/test/EFI/CLOVER/config.plist
28行目に解像度が書いてあるので、ここを好きな解像度に変更します。
アンマウントします。
$ sudo umount /mnt/test/
$ sudo qemu-nbd --disconnect /dev/nbd0
$ sudo rmmod nbd
OVMFの設定を変更
cloverが起動する前にescキーを押すと設定に入れます。
Device Manager→OVMF Platform Configration→Change Prefrredから解像度をさっき指定した解像度と同じものを選択してください。
指定出来たら一回仮想マシンを閉じてもう一回起動します。
バグ?
Mapアプリがブラックアウトして表示されませんでした。GPUの仮想化周りの問題でしょうか?
これ仮想環境上だとどのHackintoshでも発生してるっぽいのでどうしようもなさそうです。
最近のコメント