Mac信者のHackintosh修行

惑星で一番美しいOSが1台でも多くのマシンで動くことを目指します。

HackintoshをHigh Sierraにする

f:id:siroanko:20170926115342p:plain

Sierraで動いているHackintoshなら移行は簡単

High Sierraが出ました。HackintoshはOSのバージョンアップの時に設定がダメになって苦労する、と思い込んでいる人も多いかもしれません。でも、最近はとても簡単になりました。マイナーバージョンアップ(例えば10.12.5から10.12.6へのバージョンアップ)なんて、App Storeからダウンロードしてクリックするだけです。実機と同じです。今回のようなメジャーアップデート(10.12から10.13)は、いろいろと対応する必要がある場合もあります。でも、今年は楽勝の部類でした。

ということで、すでにSierraで動いているHackintoshをHigh Sierraにアップデートする方法を書いておきます。ここで紹介する手順は、別ドライブを用意してそこにHigh Sierraをインストールする手順です。

  1. Sierra版の現状のHackintoshを最新版にアップデートしておく(Step 1~2)
  2. 別ドライブを用意してそこにHigh Sierraをインストールする(Step 3)
  3. APFS起動に必要なapfs.efiをHigh Sierraから手に入れる(Step 4)
  4. High SierraドライブにCloverを仮インストールする(Step 5)
  5. 現状のSierra HackintoshのESPをHigh Sierraドライブにコピー(Step 6)

別ドライブでちゃんと起動したら、あとはゆっくり、メインドライブのHigh Sierra移行にとりかかってください。

Step 0: macOSをバニラな状態にしておく

簡単に移行するための前提です。こちらで解説して置きましたのでごらんください。

siroanko.hatenablog.com

つまり、macOSが入っているパーティションの内容には一切手を加えないで、実機と全く同じ状態にしておけば、アップデートは簡単になるということです。

Step 1: 旧バージョンSierraのHackintoshを最新にしておく

ここからが作業本番です。Hackintoshコミュニティのハッカーの方々は、High Sierraに向けて更新してくれています。なので、移行前に、最新にしておきましょう。最新にすることでSierraが動かなくなることはありません。最新にしてもSierraがちゃんと動くことを確認してきましょう。

  1. まずはCloverを最新にします。今日現在ではリビジョン4220が最新のようです。システム環境設定に登録してある場合は、「更新を確認」するだけです。
  2. kextを最新にします。kextの名前でGoogle検索すると配布サイトが出てきますので、最新版に差し替えておきましょう。
  3. kextをEFI/CLOVER/kexts/10.12に入れている人は、10.13を新たに作ってコピーするか、Otherフォルダにコピーしておきます。

詳しくはこちらをご覧ください。

siroanko.hatenablog.com

Step 2: config.plistのSMBIOS情報を最新にしておく

OSとしてのHigh Sierraの一番の変更点は、ファイルシステムがHFS+からAPFSに移行することです。High Sierraのアップデートでは、APFSでも起動できるようにファームウェアもアップデートされます。Hackintoshにとっては関係のないことですが、ファームウェアが対応版にアップデートされていないと判断されると、インストールが止まってしまうようです。そこでconfig.plistのSMBIOSセクションのBIOSバージョンの記述を、最新版ファームウェアと同じバージョン番号に書き換えます。

詳しい手順は、これもこちらをご覧下さい。

siroanko.hatenablog.com

Step 3: High Sierraを別ドライブにインストールする

ここまでのステップで準備がしっかりできたので、ここから先は簡単です。

High Sierraをインストールするドライブを接続します。SSDでもHDDでも良いです。USB接続でも良いです。自作の人なら、余っているドライブをSATAケーブルでマザーボードに接続しても良いですね。

f:id:siroanko:20170926120848p:plain

このドライブをディスクユーティリティでフォーマットします。フォーマットは、GUIDパーティションマップとHFS+ (Mac OS拡張 ジャーナリング)とします。SierraのディスクユーティリティではAPFSを選択できません。が、ここでHFS+でフォーマットしても、SSDの場合は、この後のインストールで自動的にAPFSに変換されます。 

f:id:siroanko:20170926115342p:plain

Apple App StoreからHigh Sierraインストーラをダウンロードして、このドライブにインストールします。インストール途中で再起動することがあります。その場合は、現行のドライブで起動して、Cloverのメニューからインストール途中と思われるドライブを選択します。「Boot macOS Install from XXXX」というのがインストール途中にだけ現れるボリュームで、これを選択します。

f:id:siroanko:20170911214228p:plain

途中の起動回数は、いつもは1回の気がしましたが、今回は2回のようでした。たまたまかもしれませんが、もしかしたらファームウェアをアップデートする作業(Hackintoshでは無駄な作業ですが)があったのかもしれません。もしくは、APFS変換の関係なのかもしれません。

f:id:siroanko:20170911214624p:plain

インストールが終了したら、やはり、再起動します。インストール途中の再起動なのか、インストールが終了した後の再起動なのかは、先ほどの「Boot macOS Install from XXXX」というボリュームの有無で判断できます。Cloverの選択画面にこれがなくなっていれば、インストールは終了しています。

 

インストーラがHFS+でHigh Sierraをインストールした場合、Cloverのボリューム選択にHigh Sierraが現れていると思います。High Sierraを起動しても良いのですが、ここは、ぐっと我慢して次のステップに行きましょう。APFSに変換された場合は、High Sierraが現れていないと思います。次のステップで対応します。

次のステップでは、まずは古いSierraのドライブを選択して起動します。

Step 4: 最新版のAPFSドライバapfs.efiをESPに入れる

2018/06/19更新:Clover 4558からApfsDriverLoader.efiというドライバができて、apfs.efiの機能を自動的にロードしてくれるようになりました。なので、 /usr/standalone/i386/ からapfs.efiを取り寄せてESPに置く以下の作業は不要になりました。記録のために残しておきます。

 

High Sierra Public Betaの初期のバージョンでは、HFS+でのインストールがメニュー選択で可能でした。しかし、正式版をSSDにインストールする場合は、自動的にAPFSフォーマットに変換さるようです。HDDやFusion driveの場合はHFS+のままのようです。

Clover、というか一般にブートローダは、OSが起動する前に、ドライブからブートのためのファイル(例えばカーネルなど)を読み込む必要があります。なので、ファイルシステムにアクセスできる必要があります。この機能は、High Sierra

/usr/standalone/i386/apfs.efi

で行えます。そこで、このファイルを、CloverのESPにコピーします。それを行わないと、APFSでフォーマットされたHigh Sierraを起動できません。そこで、APFSブートには以下のステップが必須です。

  1. APFSでインストールしたHigh Sierraの起動はひとまずお預けにして、今まで通りHFS+の古いSierraを選択して起動します。この時High Sierraを選択したくてもAPFSなので選択画面に現れていないはずです。
  2. CloverのESPをマウントします。
  3. High Sierraの中のapfs.efiEFI/CLOVER/drivers64UEFIの中にコピーします。
  4. 再びSierraのボリュームで起動すると、今度はAPFSのHigh SierraがClover選択画面に見えているはずです。これを選択して起動します。

f:id:siroanko:20170926121632p:plain

ベータ版時代のバージョンアップでapfs.efiは度々更新されていました。初期のベータ版から入手したapfs.efiで、後期のHigh Sierraが起動できなかったこともあります。apfs.efiがネットに落ちていることもありますが、公開版High Sierraに入っている最新版を使うのが良いでしょう。

Higi Sierraは起動しましたでしょうか?うまく起動すれば、ユーザ設定などの画面に進み、ログインできます。ここまでくればもう安心です。

Step 5: High SierraのドライブにCloverをインストールする

このステップは飛ばしても良いです

現行のドライブのCloverからHigh Sierraのドライブが無事起動できて、アカウントなどの設定が終わったら、Cloverのインストーラを起動して、あたららしいドライブにCloverを入れます。このとき、ESPにインストールするよう指定します。

f:id:siroanko:20170910152836p:plain

Step 6: 現行のESPからファイルをHigh SierraのESPにコピーする

High SierraのESPには、とりあえずインストールしたClover関連のディレクトリができているはずです。前のステップを省略すると、できていないかもしれません。何れにしても、古いSierraのドライブのESPの内容を、新しいHigh sierraのESPにコピーして、同じ内容にします。 ファインダーからのドラッグ&ドロップで作業しても問題ありません。これで、High Sierraのドライブを起動ディスクにしても、ちゃんとHigi Sierraが起動するはずです。

f:id:siroanko:20170926121743p:plain

次のStep: メインドライブのアップデート

これで無事、別ドライブで起動できましたでしょうか。問題なければメインドライブもアップデートしましょう。このステップと同様に、今度は、High Sierraのドライブから、メインドライブにインストールしていけば良いです。上書きインストールでも、いっそすっきりとフォーマットしてのクリーンインストールでもどちらでも良いと思います。Time Machineでバックアップとってあれば、クリーンインストールの後で移行することもできます。

補足

SMBIOSのデフォルト設定

Clover r4179以降では、config.plistで以下の値:

  • BiosReleaseDate
  • BiosVersion
  • FirmwareFeatures
  • FirmwareFeaturesMask

を指定しなくても、機種モデルの最新の値がデフォルトで設定されるようになったという情報もあります。実際にBiosVersionを削除して見たところ、それでも最新の値が使われていました。Step 2の作業の代わりに、これらの指定を単に削除して、Cloverのデフォルトに任せるのも可能かと思われます。

http://www.insanelymac.com/forum/topic/304530-clover-change-explanations/page-4#entry2482211

apfs.efiを入手するもう一つの方法

上記の説明では、High Sierraをインストールした後で、apfs.efiを入手しています。インストールする以前の、Install macOS High Sierra.app (日本語名は macOS High Sierraインストール.app)から取り出すこともできます。.appの中の

Install\ macOS\ High\ Sierra.app/Contents/SharedSupport/BaseSystem.dmg

にあるBaseSystem.dmgを開いてマウントします。次に、

/Volumes/OS X Base System/usr/standalone/i386/apfs.efi

の場所にあるapfs.efiを手に入れます。これで、Step 3の段階でapfs.efiを入手してESPに入れることができ、すぐにHigh Sierraから起動できます。