久々に最新パーツで組んでみたところ、macOSがすんなり動きました。インテルの第9世代CoreプロセッサCoffee Lake-S Refresh搭載のZ390チップセットマザーボードです。
Table of Contents
スロット数で選んだマザーボード
最新パーツでHackintoshを作る上で、マザーボードは選択肢が豊富なパーツです。市販の300シリーズチップセット搭載マザーボードのほとんどでHackintosh可能です。拡張スロット構成、SATA/USB/m.2コネクタ構成、追加機能、色とデザインなど考慮して、各人の目的や好みに合わせて自由に選んで良いです。だいたいどれでもちゃんと動くと良いと思います。特にこだわりがなければ、掲示板やブログでHackintoshに成功したとの報告のあるマザーボードを選んでおけば良いです。今回はASUS ROG MAXIMUS XI HEROを選びました。問題なく動きます。
ASUS ROG MAXIMUS XI HEROを選定した1番の理由はPCIeスロット数が多いことです。多くの人はMacからなくなってしまった拡張性を求めてHackintoshをしていると思います。なのでPCIe空きスロットが多いことは重要です。ATXマザーボードには規格上最大7本のPCIeスロットを搭載できます。たくさんありますが、どうしても必要なスロットを考えると、自由に使える「空きスロット」はだんだん少なくなっていきます。
まずは、Hackintoshでは高性能で安定しているグラフィックスボード(以下グラボ)を使用することが多いです。一般的なグラボは2スロット占有するので、グラボを1枚挿すと空きは5本になります。
使いにくいスロットもあります。Z390チップセットにはグラボ2枚挿しできるように、CPU直結PCIeを分割する機能があります。グラボ2枚あれば、NVIDIAではSLI, AMDではCrossFireと呼ばれる機能を使って描画を高速化できます。しかしmacOSではこの機能が使えないので、分割されたPCIeスロットは使いにくいです。分割用スロットを使ってしまうと、グラボへのデータ転送スピードが低下するからです。詳細は以下の記事で説明しました。ということでCPU直結PCIeを分割したPCIeスロットがあったら、それは使わないことにしたいです。とすると、その場合、空きは4本になります。
マザーボードのPCIe構成現在、Z390搭載のMicro-ATXマザーボードでCoffee-Lakeマシンを自作しようとすると6種類の選択肢しかありません。人気の無いフォームファクタなのでしょうか、寂しい限りです。そのうちASUSとMSIからは2モデルが出ています。(リンク先はAmazonのページです) ASUS TUF Z390M-PRO GAMING ASUS PRIME Z390M-PLUS GIGABYTE Z390 M GAMING MSI MPG Z390M GAMING EDGE AC MSI MAG Z390M MORTAR ASRock Z390M Pro4この2社の2モデルのうち、高額な方のモデルは、他のMicro-ATXマザーボードとPCIeスロットの構成... Z390 m-ATXマザボのPCIe - Boot macOS |
kakaku.comでZ390マザーボードを検索すると、現時点で38製品もあります。選択肢は豊富です。これらの製品のPCIeスロットから、グラボ用のスロット、その隣のスロット、SLI用分割スロットを除外した「空きスロット」を数えてみました。すると以下のようでした。
- GIGABYTE AORUS製品群: 3本
- MSI MEG製品群:3本
- ASUS ROG MAXIMUS EXTREME/FORMULA/CODE: 2本
- ASRock Taichi製品群/Phantom Gaming 9: 3本
- ASUS ROG MAXIMUS HERO/ROG STRIX: 4本
- ASUS PRIME: 4本
- GIGABYTE GAMING X: 5本
- ASRock Phantom Gaming 6/4/Pro 4: 4本
- ASUS TUF: 5本
- GIGABYTE GAMING SLI: 4本
- ASRock Extreme 4: 4本
- ASUS PRIME Z390-P: 5本
- GIGABYTE AORUS ELITE: 4本
- MSI MEG GAMING PLUS:4本
- GIGABYTE UD: 5本
- MSI Z390-A PRO: 4
このリストは、各製品群最上位モデルの価格順に並べてあります。大体は空きスロットが、上で計算したように、4本か5本です。3本とか2本というモデルもリストの上位にあります。つまり空きスロット数は、上位モデルに少なく、下位モデルに多い傾向があります。GIGABYTE, MSI, ASUS, ASRockの上位モデルが属する製品群ブランドが、AORUS, MEG, MAXIMUS, Taichiです。AORUS, MEG, MAXIMUS製品群の最高価格モデルは、かなり高価なのですが、実は空きスロット数が少ないです。一方で、各メーカの廉価版にはCPU直結PCIe分割機能がないので空きスロットが5本あるモデルもあります。ただ、廉価版になるとUSB Type-Cコネクタが無いモデルになり、本物のMacと比較して見劣りがします。
自作PCの良いところはメーカ製PCに比べて良質なパーツを選べる点だと思います。なので、マザーボードもそこそこ良い製品を選びたいと考えています。過去に安いマザーボードを選んだところ、動作に問題はないのですが、基板が薄くてヘリが曲がっていたこともあります。しっかりとした厚みがあり、重量感のあるマザーボードを選びたいと思います。また上位の製品には、オンボードのスイッチや状態LEDなどがあり色々と便利です。
という観点からマザーボードを選定し、リストの比較的上位にありながらスロット数が4本あるASUS ROG MAXIMUS XI HEROを選びました。高級感があり、BIOSで設定できる内容も多くて満足できる製品でした。ASUS ROG STRIXも良いと思いましたが、英語や漢字をあしらった模様が施されているのが趣味に合わなかったです。ASUS ROG MAXIMUS XI HEROで一番気に入った機能は、OS不要かつネットワーク経由でBIOSアップデートが行えることです。BIOSメニューからASUSのサーバにアクセスして新しいBIOSをダウンロードしてアップデートできます。
CPUは9900K
CPUは話題のCore i9-9900Kにしました。インテルの第9世代CoreプロセッサCoffee Lake-S Refreshシリーズです。現在も品薄傾向がありますが、以前よりは買いやすくなったようです。8コア16スレッドあるのが楽しみです。
9900Kの正12面体パッケージは想像していた以上に大きいです。かさばって邪魔です。ちなみにこれほどの性能が日々の作業に必要かというと、全くのオーバースペックです。自動車・カメラ・ピュアオーディオなどのオタクが身の丈に合わない機材を揃えるのと同じです。macOSをブートすることが楽しみなのでそれで良いのです。
グラフィックスはRX 580
グラフィックスボードはRadeon RX580を使用しました。Mojaveで使う現行製品としてはRX560/570/580/590/Vega56/Vega64しか選択肢はありません。今回はSapphireを使用しました。でも、どこのブランドでも大丈夫です。
(広告) AmazonでRX560/570/580/590
ドライブはSSD
以下の作業では、手元に余っていた2.5インチSSDを使ってインストールしています。その後、M.2 SSDに移行しました。将来的には、
- 256GB程度のシステム用(root用)M.2 SSD
- 1TB程度のデータ用(/Users)2.5 inch SSD
- 4TB程度のTimeMachine用3.5 inch HDD
- 4TB程度のデータ倉庫用3.5 inch HDD
の構成で運用しようと考えているので、Western Digitalの250GB M.2 SSDを購入しました。
M.2 SSDを取り付けた作業の詳細は以下をご覧ください。
Z390チップセットの9900Kマシンは順調に動いているのですが、起動ドライブは手元にあった2.5 inch SSDを流用してました。これを今風のM.2 SSDに交換しました。ストレージ構成をどうするかATX基板を使っていますし、ケースはそれなりの大きなケースを考えているので、SATAケーブルで接続するドライブはいくつか使用するつもりです。大容量の3.5 inch HDDを2台くらいは使って、片方をデータの倉庫に、もう一方をTimeMahineのバックアップに使おうと考えています。Windowsは滅多に使わないのですが、気が変わってWindows用に2.5 inch SSD... ASUS MAXIMUS XI HEROにM.2 SSD (WD SN750)を取り付ける - Boot macOS |
そのほかのパーツ
マザーボード搭載のWiFiはインテル製なので動かないです。一方で、マザーボード搭載のBluetoothは、Ericsson製品のようですが、macOSからある程度認識されました。LattePandの場合のように、kextを用意すれば動くのかもしれません。でもこららは使わずに純正と同じ無線モジュールを手配しました。今回は、BCM943602CSを使ってみました。入手可能な純正無線モジュールの中では最新製品で安価です。
電源、CPUクーラは、その辺りに転がっていた余り物を使いました。マザーボードには8pin + 4pinのCPU補助電源コネクタがあるのですが、電源には8pinしかなかったので、4pinは接続していません。OCしないこともあり、それでも大丈夫のようです。当分はケースもなしです。パーツが机の上に並べてあるだけです。メモリー, 2.5インチSSDは、動いているマシンから抜き取って流用しました。なので特に紹介するほどの内容ではありません。
BIOS設定
macOSを起動させるにはBIOSを設定する必要があります。
今回は、Hackintoshのためのマザーボード (BIOS) の設定について書いておきます。Windowsなら適当に設定しても、大きな問題は起きないと思います。でもmacOSをインストールする場合には、間違えると起動しないという重要設定項目が少しだけあります。基本設定 最初は工場出荷状態:大体は工場出荷状態で良いです。デフォルトにまずは設定します。最近のマザーボードは、以下の項目が大体デフォルトで設定されています。なので工場出荷時状態にするだけでmacOSが起動することが多いです。 SATAのモードはAHCIモード:最近は、AHCIモー... マザーボード (BIOS) 設定 - Boot macOS |
でも今回使用したASUS ROG MAXIMUS XI HEROではほとんど設定する必要がありませんでした。試してみたら、なんと工場出荷時状態でもmacOSが起動しました。ちなみに、何か設定してしまった後で工場出荷時状態に戻すには、EXIT/Load Optimized Defaultsを選びます。工場出荷時状態で使うのはあまりにも手抜きなので、以下のメニューだけを変更しました。
- Boot/Boot Configuration/Fast Boot [Enabled] –> [Disabled]
- Advanced/USB Configuration/XHCI Hand-off [Disabled] –> [Enabled]
- Advanced/USB Configuration/Legacy USB Support [Enabled] –> [Audo]
- Advanced/Onboard Devices Configuration/Connectivity mode (Wi-Fi & Bluetooth) [Enabled] –> [Disabled]
- Advanced/CPU Configuration/Intel (VMX) Virtualization Technology [Disabled] –> [Enabled]
1番目のFast Bootはdisabledにした方が良いようです。2, 3番目のUSBに関する設定は効果があるのかどうかよくわかりません。
4番目のWi-Fi & Bluetoothはマザーボード搭載モジュールのことです。このマザーボードにはインテルの無線モジュールが搭載されているのでmacOSでは動きません。なので、無線モジュールはdisabledにします。これをEnabledのままにしていると、macOSはBluetoothとしてマザーボード搭載モジュールを使用しようとします。そうすると、macOSと互換性のあるBluetoothモジュールを後から取り付けても、認識されません。アップルの開発者向けページで配布されているツールを使えば使用するBluetoothモジュールを変更できますが面倒です。WiFi/Bluetoothはどうせ使えないので、Disabledにしておきましょう。
5番目のIntel (VMX) Virtualization Technologyは、デフォルトのDisabledのままでもずっと問題ありませんでした。でも仮想マシンのアプリ(具体的にはVirtual Box)を使おうとしたところ、これをEnabledにしておく必要がありました。
起動用SSDを作る
ハードウェアが揃って、BIOS設定が終わったら、いよいよmacOSのインストールを行います。通常のHackintoshインストール手法では、起動用のUSBメモリを作ってmacOSをインストールします。しかし、今回はmacOSが動いているマシンがあるので、それで起動用の2.5インチSSDを作りました。USBメモリを作る場合も、macOSが動いているマシン(以下、親マシンと呼びます)が必要ですので、いっそそれでSSDを作った方が確実だと思います。その親マシンが本物のMacならmacOSが起動することが確認できますし、親マシンがHackintoshならそれに加えてCloverの動作も確認できます。
Step1: Mojaveをインストール
親マシンに2.5インチSSDを接続したら、Disk Utility.appを使ってAPFSでフォーマットします。2.5インチSSDなのでMojave25SSDという名前にしました。
次に、App Storeから正規にダウンロードしたMojaveをこのSSDにインストールします。App Storeからダウンロードすると、「macOS Mojaveインストール.app」がアプリケーションフォルダ内に現れます。ダウンロード後に、これが自動的に開きますので、SSDにインストールします。終了後に、この2.5インチSSDからmacOSが起動できることを確認して、ついでに自分のアカウントも作っておきます。作ったアカウントのディレクトリに色々なツールも入れておくと良いです。
Step2: Cloverをインストール
親マシンに2.5インチSSDを接続したまま、これにCloverをインストールします。親マシンにCloverがインストールされているのであれば、起動ESPの内容をSSDのESPにドラッグ&ドロップでコピーしても良いです。ESPのマウントの方法は、ここなどに書いておきました。
新規にインストールしたい場合はCloverインストーラを起動して、SSDにインストールします。Cloverインストーラが起動したら、カスタマイズボタンを押してインストールする内容を選択します。まずは、ESPにインストールするチェックボックスを選びます。
UEFI Driversでは有効にするEFIドライバを選択します。今回は、以下を選択しました。
- VBoxHfs-64.efi
- SMCHelper-64.efi
- FSInject-64.efi
- DataHubDxe-64.efi
- AptioMemoryFix-64.efi
- ApfsDriverLoader-64.efi
- EmuVariableUefi-64.efi
ほぼCloverのデフォルトのままです。デフォルトではEmuVariableUefi-64.efiも入れられるのですが、これがなくてもNVRAMがちゃんと動くことを確認したので外しました。EmuVariableUefi-64.efiは必須でした。これが無いとスリープとシャットダウンで固まってしまいます。このことは、以下の記事で書いておきました。
ASUSのZ390マザーボードで作ったHackintoshのその後の報告です。シャットダウンが不完全な問題を解決すべく試行錯誤したところで、EmuVariableUefi-64.efiを使うことで解決しました。あまりにも呆気ない結末なのですが、EmuVariableUefi-64.efiがshutdownに関係するのは知りませんでしたし、もしかして困っている人がいるかもしれないので紹介します。シャットダウンの症状症状が出たマザーボードは、Z390チップセット搭載マザーボードのASUS ROG MAXIMUS XI HERO です。macOSのメニューバーから「システム終了...」を選んでシャットダ... ASUS Z390マザーボードのshutdown/sleep対応 - Boot macOS |
Step3: kextを入手・インストール
以下のkextの最新版を入手し、親マシンを使って2.5インチSSDにインストールします。
- FakeSMC.kext
- Lilu.kext
- WhateverGreen.kext
- IntelMausiEthernet.kext
- AppleALC.kext
- USBInjectAll.kext
このうち、最初のFakeSMCは必須です。LiluとWhateverGreenはディスプレイ関係のパッチを当ててくれます。今回使用したRadeon RX580は互換性が高いので無しでも動くかと思います。でも表示が出ないと復旧作業も大変ですので、念のために入れておくべきでしょう。残りの3個は、それぞれLAN, サウンド、USB関連です。LANはあると作業が楽なので欲しいかもしれません。このマザーボードにはIntelのLANチップが搭載されているのでIntelMausiEthernet.kextを入れました。サウンド(AppleALC.kext)とUSB(USBInjectAll.kext)は後回しにしても良いです。
今回は手元にある別のHackintoshから持ってきました。もし初めてHackintoshを作るのでしたら、ネットで検索して最新版を入手します。kextを管理するのに便利なKext Updater.appを使っても良いです。このアプリケーションのウィンドウで、”Load Single Kext”オプションを使用し、欲しいkextを指定し、ダウンロードします。Kext Updater.appの説明はこちらをご覧ください。
最後にこれらのkextをESPの中のEFI/CLOVER/kexts/Otherに入れます。ターミナルでEFI/CLOVERにcdして以下のコマンドを入れるとディレクトリがツリー状に表示されます。
pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/| /g'
インストールの結果、CLOVER以下のファイルはこのようになります。枝葉の部分は省略しました。
/Volumes/EFI/EFI/CLOVER |--ACPI | |--WINDOWS | |--patched(中身は空) |--CLOVERX64.efi |--OEM (省略) |--ROM |--config.plist |--doc (省略) |--drivers64UEFI | |--ApfsDriverLoader-64.efi | |--AptioMemoryFix-64.efi | |--DataHubDxe-64.efi | |--EmuVariableUefi-64.efi | |--FSInject-64.efi | |--SMCHelper-64.efi | |--VBoxHfs-64.efi |--kexts | |--10.10 | |--10.11 | |--10.12 | |--10.13 | |--10.14 | |--10.6 | |--10.7 | |--10.8 | |--10.9 | |--Other | | |--AppleALC.kext | | |--FakeSMC.kex | | |--IntelMausiEthernet.kext | | |--Lilu.kext | | |--USBInjectAll.kextt | | |--WhateverGreen.kext |--misc (省略) |--themes (省略) |--tools (省略)
Step4: config.plistを作る
次にEFI/CLOVER/config.plistを作ります。こちらにCoffee Lake用のconfig.plistのガイドをご紹介しておきました。これを基にして作っていきます。
Corpnewtさんのhackintoshデスクトップのためのバニラガイドから、今回は「Coffee Lakeマシンのためのconfig.plistの作り方」のページをご紹介します。ちなみにこのガイドでは、 Haswell Skylake Kaby Lake Coffee Lakeのconfig.plistの作り方が解説してあります。他のCPUを使う場合はそれを見てください。Config.plistの基礎編もご覧ください。世代の近いCPUではそれぞれかなりの部分が共通です。Coffee Lakeは実際のMacでの搭載実績がないため、iGPUを使う部分が少し複雑になっています。iGPUを使わなければほぼKaby Lake以前と... corpnewtさんのバニラガイド~Coffee Lake用config.plist - Boot macOS |
SMBIOSの項目には、固有のシリアル番号を書き込みます。これは、Clover Configuratorを使って機種を設定して作成したSMBIOSをコピーします。詳しい説明は以下をご覧ください。
Hackintoshは本物のMacintoshではありませんが、macOSは本物の機種上で動いていると思い込んでいます。Macintoshの機種名によってハードウェア構成が違いますから、それに合わせた効率的な動作を行ったりする可能性もあります。またiPhoneとの連携、iMessage, iClouなどのサービス利用の際に、機種名をチェックし、不整合があると機能を止めることもあります。なので、実際のハードウェア構成に近い実機のふりをして、その情報を正しく設定しておくことが重要です。Clover Configuratorを使って設定ハードウェアを特定する情報は、Clov... 正しく機種設定する (SMBIOSの設定) - Boot macOS |
ただ、最近のCloverでは、SMBIOSのかなりの部分を自動的に作ってくれるようです。ファームウェアバージョンなどを最新にしてくれるようなので、config.plistで指定しない方が良いかもしれません。ということで最近は、
<key>BoardSerialNumber</key><key>ProductName</key><key>SerialNumber</key><key>SmUUID</key>
だけを書くようにしています。この結果、SMBIOS部分は以下のようになりました。xxxxの部分は、Clover Configulatorとuuidgenコマンドで生成してください。
<key>SMBIOS</key> <dict> <key>BoardSerialNumber</key> <string>xxxxxxxxxxxxx</string> <key>ProductName</key> <string>Macmini8,1</string> <key>SerialNumber</key> <string>xxxxxxxxxxxx</string> <key>SmUUID</key> <string>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</string> </dict>
ProductNameはMacmini8,1にしました。最新版のMacで第8世代CPU Coffee Lakeが搭載されています。第9世代のCoffee Lake-S Refreshは第8世代の改良版ですし、チップセットは同じ300シリーズですので、相性が良いと考えました。本当なら今回と同じ第9世代CPU搭載のiMacがあればそれを選びたいところです。早く新型iMacを出してほしいものです。
一方、Devicesの中のPropertiesの部分は以下のようにしました。
追記:10.14.4ではPropertiesの記載は不要になりました。10.14.3以前では必要です。
<key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,ig-platform-id</key> <data> AwCSPg== </data> <key>device-id</key> <data> mz4AAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> </dict> </dict>
device-idをzD4AAA==にします。9900KのIntel UHD Graphics 630は、Macmini8,1のUHD 630とは違うデバイスIDを持っています。それでデバイスIDをMacmini8,1のIDに合わせました。これを合わせないと、スリープで問題が出たり、JPEGファイルのクイックルックが動かない不具合が発生します。こちらの記事もご覧ください。
更新:ここで紹介した対策は10.14.4で不要になりました。以下は10.14.3以前の情報です。不要になった理由は、9900K CPUがmacOSでサポートされるようになったからだと思われます。10.14.4以降では、以下で説明しているデバイスIDも9900Kの本来の値で問題ありません。本来の値はWhateverGreen.kextが自動で設定してくれますので、config.plistにデバイスIDを書く必要がありません。ASUSのZ390マザーボードで作ったHackintoshのその後の報告です。sleep/shutdownが全て完璧に動くようになりました。最初の記事はこちらです。(今回の対策... 9900Kのsleep問題〜原因はiGPUのデバイスID - Boot macOS |
AAPL,ig-platform-idは、iGPUを計算のために使う設定(表示にはdGPUを使う設定)にしています。iGPUを表示に使う場合は、AwCSPg== になっている現在の設定をBwCbPg==に変更します。
追記:9900K対応のiMac Early 2019が発売されて、これ専用のmacOS Mojave 10.14.4 (18E2034) が入手可能になりました。なので以下に示すようにSMBIOSも新型iMacに合わせました。
SMBIOSは、9900K搭載の27インチiMac Early 2019に合わせることにしました。最新のClover Configuratorを使うと新型iMacであるiMac19,1のSMBIOSを生成することができます。まずはClover Configuratorの左のメニューからSMBIOSを選び、モデルのアイコンの下でiMac19,1を選びます。すると以下のように各種値の候補値を出してくれます。
この後、左のメニューから、Text Modeを選ぶとSMBIOS部分が表示されます。
この結果、SMBIOS部分は以下になります。(シリアル番号、ボードシリアル番号、SmUUIDはこの記事のために生成したサンプルです。実際には違う値を設定してください。)
<key>SMBIOS</key> <dict> <key>BiosReleaseDate</key> <string>02/18/2019</string> <key>BiosVendor</key> <string>Apple Inc.</string> <key>BiosVersion</key> <string>IM191.88Z.F000.B00.1902181222</string> <key>Board-ID</key> <string>Mac-AA95B1DDAB278B95</string> <key>BoardManufacturer</key> <string>Apple Inc.</string> <key>BoardSerialNumber</key> <string>C02921130GULNV9JA</string> <key>BoardType</key> <integer>10</integer> <key>BoardVersion</key> <string>1.0</string> <key>ChassisAssetTag</key> <string>iMac-Aluminum</string> <key>ChassisManufacturer</key> <string>Apple Inc.</string> <key>ChassisType</key> <string>0x09</string> <key>EfiVersion</key> <string>220.250.368.0.0</string> <key>Family</key> <string>iMac</string> <key>FirmwareFeatures</key> <string>0xFC0FE137</string> <key>FirmwareFeaturesMask</key> <string>0xFF1FFF3F</string> <key>LocationInChassis</key> <string>Part Component</string> <key>Manufacturer</key> <string>Apple Inc.</string> <key>Mobile</key> <false/> <key>PlatformFeature</key> <string>0x00</string> <key>ProductName</key> <string>iMac19,1</string> <key>SerialNumber</key> <string>C02YR2YHJV3Q</string> <key>SmUUID</key> <string>04FF56E3-085F-443D-9005-5E6915EDDC33</string> <key>Version</key> <string>1.0</string> </dict>
最近は、Cloverが保管してくれるので、SMBIOSに書くべきパラメータは以下の4個で良いようです。ただ、まだCloverがiMac19,1に完全に対応していないと思われるので(ベータ版はかなり対応しているようです)今回は長いですが全部書き込みました。将来は以下の4個に削っても良いと思います。
- <key>BoardSerialNumber</key>
- <key>ProductName</key>
- <key>SerialNumber</key>
- <key>SmUUID</key>
Step5: 互換性チェックをさせない指定をする
これは、現時点(2019/4/8) のmacOS 10.14.4 (18E226) でiMac19,1, iMac19,2を使う場合のみに必要なステップです。間も無く出ると思われる10.14.5では不要になります。Mac19,1のボードIDであるMac-AA95B1DDAB278B95を指定すると、現時点(2019/4/8)のmacOS 10.14.4では起動できません。起動させるためには、Cloverのブートオプションに-no_compat_checkを追加する必要があります。そこで、config.plistのBootオプションに、
<key>Boot</key> <dict> <key>Arguments</key> <string>-no_compat_check</string>
と記載します。これでmacOS 10.14.4 (18E226) で起動するようになります。
このようにして作ったconfig.plistの全体を以下に置いておきます。
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time. config.plist for 9900K w/o iGPU display - Pastebin.com - Pastebin |
config.plistをテキストエディタで編集すると、うっかり間違った入力をしてしまうことがあります。以下のplutilコマンドでplistとして正しいかどうかチェックをしておくと良いです。
plutil config.plist
正しければ以下のように表示されます。
config.plist: OK
動作の確認
こうして作成したSSDを親マシンから外して、ASUS ROG MAXIMUS XI HEROに接続します。これから起動すると、無事macOSが起動しました。以下のように、ほぼ問題なく動きました。
- シャットダウンが正しく機能します。
- スリープも正しく機能します。設定したスリープ時間になると、画面が消えて、マザーボードのLED類が消えて、CPUファンが停止します。キーボードを押すと復帰します。また、画面共有やsshなどで接続しても復帰します。
- 有線ネットワークも問題ありません。
- WiFiとBluetoothも、純正のカードを用意したので、何もせずにそのまま動きました。
- 音声も出ます。config.plistではLayout番号1を設定しましたが、これとAppleALC.kextの組み合わせで問題なく音が出るようです。
- RX580のHDMIポートからも音が出ます。
- さらにはCPU内蔵のIntel UHD Graphics 630から表示もできますし、マザーボードのHDMIから音声も出ます。
10.14.3へのアップデートもシステム環境設定で行うことができました。
Activity Monitor.appで「CPUの使用率」を開くと、16本の棒グラフが出てきます。圧巻です。
Geekbenchでベンチマークしてみました。シングルコアが6,000, マルチコアが30,000超えました。Geekbench BrowserでiMac Pro Late 2017のスコアを見てみると8コアモデルでそれぞれがだいたい5,300と33,000くらいのようです。8コアiMac Pro程度の速度が得られているようです。
今回使用したマザーボードは、そこそこ高級感があって良い感じでした。基板上にCPU温度表示などがあります。また電源スイッチ、リセットスイッチもあるためHackintoshの試行錯誤にも便利です。最近流行りのLED電飾機能ASUS Aura Syncも搭載しています。温度や音に同期して色を変えるなどの機能を使うためにはWindowアプリケーションが必要ですが、刻々と変色するだけで良ければマザーボードだけで機能します。LinuxからLEDを制御しようとしている人もいるようですので、そのうちmacOSからも制御できる日が来るかもしれません。
その後の調整
これでとりあえず動きました。もう少し手を入れて完璧にしていきましょう。
10.14.4 (18E2034) の入手
上で述べたように、iMac19,1のボードIDであるMac-AA95B1DDAB278B95を指定すると、現時点(2019/4/8) のmacOS Mojave 10.14.4 (18E226)では起動できません。起動させるためには、Cloverのブートオプションに-no_compat_checkを追加する必要がありました。本物のiMac Early 2019に搭載されているmacOS Mojave 10.14.4 (18E2034) ならばこの互換性回避オプションは不要です。
実はiMac19,1や19,2として一旦起動すれば、18E2034が入手可能になります。詳細は以下をご覧ください。
(10.14.5が配布されたのでこの情報は不要になりました。)この記事の執筆時点で配布されているmacOS Mojave 10.14.4はビルド18E226です。しかし最新のiMac Eearly 2019には18E2034が搭載されています。これが簡単に入手できることがわかりました。新iMac対応Mojaveが欲しい第9世代CPU 9900KでHackintoshを作ったら、機種ID、シリアル番号、ボードIDなどのSMBIOS設定も同じCPUを搭載するiMac Early 2019に合わせたいところです。ところがボードIDを27インチiMac Early 2019の値、Mac-AA95B1DDAB278B95に設定するとmacOSが起動し... 9900KのためにmacOS 10.14.4 (18E2034) を入手する - Boot macOS |
USB
macOSはUSBの個数を15個に制限しています。今回は何の対策もしていないので、制限を超えるUSBポートのいくつかは機能していません。そこで不要なUSBポートを使わない指定をconfig.plistに書き込みます。詳細は、以下をご覧ください。
ASUS マザーボードのUSB設定をしました。使わないUSBポートの番号を調べ、その番号をconfig.plistに書きます。これでmacOSの個数制限によりUSB 3が使えなくなる事態を回避します。以下の記事で紹介しているように、ASUS MAXIMUS HEROマザーボードに9900Kを搭載したマシンは順調に稼働しています。今回、回避しようとしているのは、macOSのUSB個数制限です。macOS El Capitanから使用可能なUSBポートの数が、 コントローラ当たり15までと制限されまてしまいました。理由は不明です。この対策は何通りかありますが、15個の制限は残したま... ASUS MAXIMUS XI HEROのUSBを設定する - Boot macOS |
要約するとこうです。このマザーボードが使っているポートは、
- HS01 AsusTek社のAURA MOTHERBOARDが使用
- HS02
- HS03 バックパネルUSB 3のUSB 2.0 (4列上から3番目、赤、”SS10”)
- HS04 バックパネルUSB 3のUSB 2.0 (4列上から4番目、赤、”SS10”)
- HS05 バックパネルUSB 3のUSB 2.0 (Eternetの下、赤、”SS10″)
- HS06 バックパネルUSB TYPE CのUSB 2.0 (Eternetの下)
- HS07 バックパネルUSB 3のUSB 2.0 (4列上から1番目、青、”SS”)
- HS08 バックパネルUSB 3のUSB 2.0 (4列上から2番目、青、”SS”)
- HS09 (基板上のUSB 3に含まれるUSB 2.0端子と思われる)
- HS10 (基板上のUSB 3に含まれるUSB 2.0端子と思われる)
- HS11 バックパネルUSB 2.0 (PS/2の真下, 無表記)
- HS12 バックパネルUSB 2.0 (PS/2の下, “BIOS”)
- HS13 基板の2.0端子USB_E12, USB_E34 (USB2.0 Hub経由)
- HS14 マザーボード上のWiFi/Bluetoothモジュールが使用
- USR1 (なんらかの理由で見えているダミーのポート)
- USR2 (なんらかの理由で見えているダミーのポート)
- SS01
- SS02
- SS03 バックパネルUSB 3.1 Gen 2 (4列上から3番目、赤、”SS10”)
- SS04 バックパネルUSB 3.1 Gen 2 (4列上から4番目、赤、”SS10”)
- SS05 バックパネルUSB 3.1 Gen 2 (Eternetの下、赤、”SS10″)
- SS06 バックパネルUSB TYPE CのUSB 3.1 Gen 2 (Eternetの下)
- SS07 バックパネルUSB 3.1 Gen 1 (4列上から1番目、青、”SS”)
- SS08 バックパネルUSB 3.1 Gen 1 (4列上から2番目、青、”SS”)
- SS09 (基板上のUSB 3.1 Gen 1端子と思われる)
- SS10 (基板上のUSB 3.1 Gen 1端子と思われる)
です。この中から必要な15個を選択して、それ以外を使用しないように、例えば以下のようにconfig.plistに書き込みます。
<key>Boot</key> <dict> <key>Arguments</key> <string>uia_exclude=USR1;USR2;HS01;HS02;HS09;HS10;HS14;SS01;SS02</string>
SS10は末尾なので、除外リストに入れる必要はないです。この場合、バックパネルのUSBポート全てと、基板上のUSB 2.0が使えるようになります。