物欲の塊

炸裂する物欲を書き散らすためのブログ。このブログの内容によって起こったいかなる損害も保障しません。

Z370はHigh Sierraの夢を見るか(OSインストール編)

nop-me.hatenablog.com

のハードウェア構成に対する、High Sierraのインストールについて、忘れないうちにまとめておこう。

注意:AppleMac以外のハードウェアにmacOSをインストールすることは違法ではないがAppleのライセンス違反なので、各自自己責任で判断されたし。また、このブログどおりにHackintoshを作って損害が発生したとしても当方では責任を負いません。

USBインストーラを作成する

USBメモリからブートしてOSをインストールできるように、以下の手順を参考にUSBメモリインストーラを作成する。これは、Hackintosh固有の手続きではない。

http://hackintosher.com/guides/make-macos-flash-drive-installer/hackintosher.com

Clover EFI Bootloader

USBメモリの準備ができたところで、Hackintoshのための準備に入る。前述で用意したUSBメモリで自作機へのインストールはできない。当然、Macではないから無理だ。MacだとOSに認識させる何かの仕組みが必要だが、いくつか方法があるが、最もメジャーなClover EFI Bootloaderを利用する。

最近のマザーボードは、BOISではなくUEFIだ。UEFIの場合、EFIシステムパーティション(ESP)のEFI/BOOT/BOOTX64.efiというファイルが真っ先に起動する。Coloverにこのファイルを生成させる必要がある。使い方は以下のサイトが参考になる。先ほどのUSBメモリをマウントした状態で、このインストーラを実行すると各種ドライバやkextを含んだEFIイメージをUSBに作成することができます。そして、インストール時は、このUSBから起動するという算段だ。

siroanko.hatenablog.com

この手順を自分で踏んで細かく調整してもよいが、Z370対応したEFIイメージがすでにある。以下のサイトからダウンロードできる。このサイトの手順を踏むのであれば、Clover自体は不要だ*1。以降は、この手順を前提に解説する。デュアルブートにしないのであれば、以下の手順をそのままやってもらえばインストールはできるはず。

http://hackintosher.com/guides/high-sierra-install-full-guide/hackintosher.com

Clover Configurator

Cloverの設定はESPのEFI/CLOVER/config.plistに保存する(上記紹介の手順であればすでにファイルがあるはず)。このファイルを編集するツールがClover Configuratorだ。通常、ESPはターミナル上でmountコマンドを使うが、面倒なのでこのツールのMount EFI機能を使うとよい。設定値はEFI/CLOVER/config.plistにあるので、それを見たければ以下のような手順を踏むとよい。インストール後に必要になるので、手持ちのMacにインストールするのと、インストール後のマシンでも利用するのでUSBメモリの方(非ESP, High Sierraインストーラがあるパーティション)にも入れておく。

f:id:nop-me:20180104133501p:plain f:id:nop-me:20180104133627p:plain f:id:nop-me:20180104133853p:plain f:id:nop-me:20180104134152p:plain f:id:nop-me:20180104134249p:plain

Clover ConfiguratorをUSBメモリにいれておく。 f:id:nop-me:20180104134756p:plain

BOISの設定

Guide to fresh installing macOS High Sierra on a Hackintosh (10.13 Update) - Hackintosherに書いてあるとおりだが、僕が追加でやったのは以下。

  • BIOSの最新版への更新
  • オーバークロックプロファイルの5GHzを選択
  • オンボードWiFi, Bluetoothを無効化
  • メインドライブであるNVMeのみを有効にするため、SATAを無効化。後から有効にする。
  • Load Optimize defaultや既定のプロファイルを選択するとVirtualizationが無効化されることがあるので、Virtualizationを有効化する。

パーティション分割

USBメモリからHigh Sierraインストーラを起動したら、ディスクユーティリティを起動しよう。起動したら表示すべてのデバイスを表示を選ぼう。SSDを選択して消去しよう。そのときにフォーマットはMac OS拡張(ジャーナリング)を、方式はGUID パーティションマップを必ず選ぼう。そのあとに、Windows10用のパーティションを追加するが、フォーマットはMac OS拡張(ジャーナリング)にする。Windows10インストール時に削除してNTFSパーティションを作成するので*2

OSのインストール

パーティション分割が終わったらGuide to fresh installing macOS High Sierra on a Hackintosh (10.13 Update) - Hackintosherと手順は同じ。

ブートするSSD側のESPにCloverをコピーする

これをやらないとSSDからブートできない。Clover ConfiguratorでUSB側とSSD側のESPをマウント。マウントしたらフォルダをOpen Partitionで開いてUSB側のEFIフォルダをSSD側にコピーしよう。 それが終わったら、USBメモリを取り出して、再起動する。正常に起動できたらOSのインストールは完了。

f:id:nop-me:20180104140307p:plain

config.plistの調整

Guide to fresh installing macOS High Sierra on a Hackintosh (10.13 Update) - Hackintosherにあるとおり、細かい設定値はインストール前でも後でもClover Configuratorを使えばよい。設定を間違えてブートしなくなったら、USBメモリ側から起動すれば復旧することができる。

NVIDIA Web Driverのインストール

まだ、グラフィックカードが正しく認識されていない。インストールの手順は以下のとおり。SIPを有効(一旦再起動し有効にする)→ドライバインストール→SIP無効化(ドライバインストール完了時に再起動ボタンを押さないでSIP無効化して再起動ボタンを押す)を忘れなければ、特に難しくない。

http://hackintosher.com/guides/properly-install-nvidia-drivers-high-sierra-10-13/hackintosher.com

CPUパワーマネジメント

以下を参考にして、CPUパワーマネジメントを有効にした。Clover ConfiguratorでGenerate PStates, Generate CStatesのチェックを外すのを忘れないように。

http://hackintosher.com/guides/generating-coffee-lake-ssdt-hackintosh/hackintosher.com

僕の場合は5GHzのオーバークロックを設定しているので、以下のコマンドを発行してssdt.amlを取得してEFI/EFI/CLOVER/ACPI/patchedにコピーした。

$ sudo sh ssdtPRGen.sh -p 'i7-8700k' -turbo 5000

パワーマネジメントのテストは、以下のkextを使う方法が一般的のようだ。

github.com

Xcodeでビルドしないといけないが、ここからダウンロードした。

$ sudo chown -R 0:0 ./AppleIntelInfo.kext
$ sudo chmod -R 755 ./AppleIntelInfo.kext
$ sudo kextload ./AppleIntelInfo.kext
$ sudo cat /tmp/AppleIntelInfo.dat
AppleIntelInfo.kext v1.2 Copyright © 2012-2015 Pike R. Alpha. All rights reserved

Settings:
------------------------------------
logMSRs............................: 1
logIGPU............................: 0
logIntelRegs.......................: 1
logCStates.........................: 1
logIPGStyle........................: 1
InitialTSC.........................: 0x183f7f0e1cba
MWAIT C-States.....................: 286531872

Model Specific Regiters
------------------------------------
MSR_CORE_THREAD_COUNT......(0x35)  : 0x6000C
MSR_PLATFORM_INFO..........(0xCE)  : 0x8080838F1012500
MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x0
MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x0
IA32_MPERF.................(0xE7)  : 0x569C5AB2552
IA32_APERF.................(0xE8)  : 0x313FED7BCD0
MSR_FLEX_RATIO.............(0x194) : 0xE0000
MSR_IA32_PERF_STATUS.......(0x198) : 0x2CD000003200
MSR_IA32_PERF_CONTROL......(0x199) : 0x3200
IA32_CLOCK_MODULATION......(0x19A) : 0x0
IA32_THERM_STATUS..........(0x19C) : 0x88330800
IA32_MISC_ENABLES..........(0x1A0) : 0x850089
MSR_MISC_PWR_MGMT..........(0x1AA) : 0x401CC1
MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x323232323232
IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x1
MSR_POWER_CTL..............(0x1FC) : 0x3C005F
MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
MSR_PKG_POWER_LIMIT........(0x610) : 0x42841800DD82F8
MSR_PKG_ENERGY_STATUS......(0x611) : 0xBB9FA70E
MSR_PKG_POWER_INFO.........(0x614) : 0x2F8
MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x0
MSR_PP0_POWER_LIMIT........(0x638) : 0x0
MSR_PP0_ENERGY_STATUS......(0x639) : 0x6D071B99
MSR_PP0_POLICY.............(0x63a) : 0x0
MSR_PKGC6_IRTL.............(0x60b) : 0x0
MSR_PKG_C2_RESIDENCY.......(0x60d) : 0x0
MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
IA32_TSC_DEADLINE..........(0x6E0) : 0x183F81DD0FF9

CPU Ratio Info:
------------------------------------
CPU Low Frequency Mode.............: 800 MHz
CPU Maximum non-Turbo Frequency....: 3700 MHz
CPU Maximum Turbo Frequency........: 5000 MHz
CPU P-States [ (8) 41 50 ]
CPU C6-Cores [ 0 2 3 5 ]
CPU P-States [ 8 34 41 (50) ]
CPU C6-Cores [ 0 1 2 3 5 7 8 9 ]
CPU P-States [ 8 34 41 42 (50) ]
CPU C6-Cores [ 0 1 2 3 4 5 7 8 9 ]
CPU P-States [ (8) 34 39 41 42 50 ]
CPU P-States [ 8 30 34 (37) 39 41 42 50 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 8 9 ]
CPU P-States [ 8 30 34 (37) 39 40 41 42 50 ]
CPU C6-Cores [ 0 1 2 3 4 5 6 7 8 9 10 11 ]
CPU P-States [ 8 30 34 37 39 40 41 42 46 (50) ]
CPU P-States [ 8 30 34 35 37 39 40 41 42 46 (50) ]
CPU P-States [ (8) 30 32 34 35 37 39 40 41 42 46 50 ]
CPU P-States [ 8 30 32 34 35 36 37 39 40 41 42 46 (50) ]
CPU P-States [ (8) 30 32 33 34 35 36 37 39 40 41 42 46 50 ]
CPU P-States [ (8) 30 32 33 34 35 36 37 39 40 41 42 43 46 50 ]
CPU P-States [ 8 30 32 33 34 35 36 37 39 40 41 42 43 45 46 (50) ]
CPU P-States [ (8) 30 32 33 34 35 36 37 38 39 40 41 42 43 45 46 50 ]

$ sudo kextunload AppleIntelInfo.kext # 最後にアンロードする

C?-State, P-Stateが出力されていれば問題ない。

モニタリングが必要あれば、Intel Power GadgetやHWMonitorを導入するといいだろう。

f:id:nop-me:20180104143745p:plain f:id:nop-me:20180104143833p:plain

インストール方法は以下を参考にするとよい。

software.intel.com http://hackintosher.com/guides/hwmonitor-hackintosh-guide/hackintosher.com

ベンチマークやゲームなどを実行してCPUの温度がオーバーヒートしそうなら、CPUファンやケースファンを適切に設定することをおすすめする。今回は、CPU温度に応じて、ファンを高回転にできるようにターボモードを選択した。

Windowsのインストール

High Sierraのインストールが一段落したので、次はWindows10だ。MacでWindows10というとBootcampを想像するが、Bootcampは使えないので注意。Cloverからブートできるようにしないといけないからだ。

USBインストーラの作成

まず、Windows10のインストーラが入ったUSBメモリを準備しよう。パッケージ版のUSBメモリを持っていなければ、Windows 10 のディスク イメージ (ISO ファイル) のダウンロードからダウンロードしよう。MacでUSBイメージを作成するならば、以下のコマンドを実行しよう。出力されたimgファイルにはdmgの拡張子が付いてしまうので、リネームしても構わない。

$ hdiutil convert -format UDRW -o ./Win10_Japanese_x64.img ./Win10_Japanese_x64.iso
# $ mv ./Win10_Japanese_x64.img.dmg ./Win10_Japanese_x64.img

次に、新規にUSBメモリを準備する*3USBメモリをUSB接続したら、ディスクユーティリティを起動し、USBメモリのデバイスを選択する*4。消去をクリックし、UNTITLEDの名前で、FATの方式を選択して実行。以下のdiskutilコマンドでDOS_FAT_32でUNTITLEDの名前を持つデバイス名を探す。SSD以外にディスクがなければ、/dev/disk2になっているだろう。間違うと事故るのでちゃんと確認してほしい。

$ diskutil list

ディスク名がわかったら、ディスクをアンマウントしてddコマンドでイメージを作成する。

$ diskutil unmountDisk /dev/disk2
$ sudo dd if=./Win10_Japanese_x64.img of=/dev/rdisk2 bs=1m

Windows10のインストール

USBインストーラから起動したら、ディスクのパーティション選定の画面へ進もう。おそらく、EFIシステムパーティションが100MBぐらいあって、そのあとにパーティションが二つぐらい並んでいるはずだ。おそらく三つ目がWindows10用のパーティションパーティションに名前が付いてない場合は、わかりにくいので気を付けてほしい。そのパーティションを一旦削除する。その空き領域に対してWindows10をインストールできるようになるはずだ。その後は通常どおりインストールすればいい。

何度か再起動してインストールが完了するが、Cloverから起動できなくなっている。あわてることはない。ESPにあるWindows Boot Managerがアクティブになっているためだ。それをBIOS画面でSSDEFI に切り替えよう。そうすると元通りになる。が、そこでWindows10を選択せずに、Macを選んで起動。ESPに以下の加工を施そう。

  1. Clover ConfiguratorのMount EFISSDのESPをマウントして、Finderで開く
  2. EFI/Microsoft/Boot/bootmgfw.efibootmgfw-orig.efiにリネームする。
  3. EFI/CLOVER/CLOVERX64.efiEFI/Microsoft/Boot/bootmgfw.efiとしてコピーする。
  4. SSDEFIをMount EFIのunmountでアンマウントし、再起動する。
  5. CloverのメニューからBoot Microsoft EFI boot menu from EFIを選択する(Windowsの選択肢が複数ある場合でも、どれを選んでも起動するはず)

参考: [Guide] El Capitan on the Skylake H170N-WIFI | tonymacx86.comAppendix: Windows 10 Dual Boot (same drive)が参考になる。

Bootloaderのための細かい調整

  • Cloverのブート先の選択を自動的にタイムアウトできるように Boot/Timeoutを3(3秒)にした。
  • 余計なエントリを表示しないように、Gui/Boot/Customをチェックし、Entries, Toolをチェック。Hide Volumeは、Preboot, Recovery, Windows, \EFI\BOOT\BOOTX64.EFIを登録した*5
  • SMBIOSはCore-i7であれば、iMac18,3の方がよい。上記の手順であれば、デフォルトでそうなっているはず。SmUUIDが空欄だったので、Macのターミナル上からuuidgenで生成した値を指定した。
  • System ParametersのCustom UUIDもGenerate Newで生成。
  • 電源管理のために、ACPIのPluginTypeをチェック、BootのArgumentsの-xcpmをチェックした。
  • 不明なCPUIDと表示される問題を解決する。Coffee lakeであるCPUは不明と表示されてしまう。気にくわない場合は、[SUCCESS][GUIDE] Glasgood's High Sierra CoffeeLake: ASUS STRIX Z370-G - i7-8700 - GTX1080ti - UHD - Installation Guides - InsanelyMac ForumABOUT MY MACのセクションを参考にするとよいだろう。
  • Cloverのテーマ変更。Clover Configuratorだけではテーマをセットアップしづらいので、Clover Theme Manager - Clover - InsanelyMac Forumをインストールしよう。ESPのパーティションとテーマを選んでインストールしたら、Clover ConfiguratorのGui/Themeにそのテーマを指定して保存・再起動すればよいだけ。

ベンチマーク

Geekbench4の結果は以下でした。Geekbench4のMac Benchmarks - Geekbench Browserは、Hackitonshもエントリしてそう。うーん、単純比較できないな。モデルが違うけど、手持ちのMacBook Proと比較してもかなりハイパフォーマンスだった。30万ぐらいでこれぐらいの性能がでるのであれば、大満足。マザーボードのOC設定をもう少し見直せばもっと性能が改善するかもしれない。

f:id:nop-me:20180104154741p:plain f:id:nop-me:20180104154754p:plain f:id:nop-me:20180104162429p:plain

まとめ

かなり苦労するかと思ったが、さっくりインストールできてしまった。UEFI時代になってからインストールが楽になっている模様。上記の手順ではmacOSをバニラな状態を保つようにしているので、少なくともOSのマイナーアップデートも問題なさそうだ。ノートPCについては茨の道的な印象はあるが、デスクトップならありなんじゃないかと思った。ご参考までに。あー、よい夢をみた!'

追記

FileVaultを有効にすると起動できなくなった。というか、Prebooterから起動してもキーボードがいうことを効かないようだ。以下の記事が参考になりそうだが、試していない。

www.insanelymac.com

*1:他にもUniBeastを利用する方法もあるが、必要に応じて微調整するのであればCloverを直接使った方がよいでしょう

*2:High Sierraインストール後にパーティション分割してもよいが、Windows10のインストーラが有効なパーティションとして認識しないことがあったので、先に分割した

*3:macOSリカバリのために、Install macOS High Sierra with Cloverとは異なるUSBメモリを準備した方がよい

*4:ディスクではなくデバイスの方を選択する

*5:これをやってもWindowsEFI bootエントリが二つあるようだ。どちらかを非表示した方がよさそう