サイトアイコン Boot macOS

High Sierra導入用USBメモリ作成方法

このページは古いmacOS用の情報です。有用ではありますが、最新macOSに関する情報は以下をご覧ください。

CatalinaをクリーンインストールするためのUSBメモリーを作ります。まずはCatalinaに含まれるcreateinstallmediaコマンドを使います。次にESPを作ります。すでにMojaveが動いているHackintoshがあればESPのファイルをコピーするだけです。Mojave用ESPを最新にするCatalinaは、Mojaveの場合と同じefiドライバー、kext、config.plistでCatalinaが起動できることを確認しています。ただしどれも最新版にしておくのが望ましいです。ということで、Kext Updater.appなどを使用して、Cloverとkext類を最新にしておきます。Catalinaをダウンロ...
Catalina導入用USBメモリーを作成する - Boot macOS

今一番よく使われるHackintoshの作成方法は、以下のステップです。

  1. Step 1: Mac上でmacOSインストール用のUSBメモリーを作成する
  2. Step 2: USBメモリーにCloverをインストールする
  3. Step 3: USBメモリーで対象マシンを起動してmacOSをインストールする
  4. Step 4: 対象マシンにCloverをインストールする

Step 1, 2は本物のMacintosh (以下、実機)で行います。一方、Step 2, 3はインストール先のマシンで行います。Step 2とStep 4では、USBメモリとインストール先マシンのそれぞれにCloverをインストールしています。

よく紹介される手法では以下のような戦略でCloverをインストールしています。つまり、Step 2のUSBメモリへのインストールでは、できるだけ汎用性を持たせた設定にして幅広いマシンで起動できるようにします。一方、Step 3では、対象マシンに合わせたチューニングを施して性能を引き出します。

例えば、Tonymacx86で配布されているUbiBeastは、Step 1, 2を自動化するツールですが、緩いチューニングで多くのハードウェアでとりあえず起動させることを目指しています。そのあと、インストール対象マシン上でMultiBeastツールを動かして、細かいチューニングをする手順を採用しています。この過程で、起動しなくなることも多いです。インストール対象マシンで試行錯誤を繰り返す手法では、起動不能になった場合、USBインストーラのESPからmacOSを再起動し、インストール先のESPの修正を行い、修正したESPを用いて起動する作業を繰り返します。修正と再試行のために、合計2回、macOSを起動し直すには時間がかかります。またとりあえず起動できるだけのmacOSでは画面が低解像度だったりネットに接続できないなどの不便さもあります。

そこで、Step 2の段階でインストール先マシンに合わせたチューニングを行うことを考えました。Step 2のインストールでチューニングを行えば、起動失敗したらUSBメモリーを実機に戻して修正すれば、再起動の手間は半減します。また、実機の整った環境で効率よく作業できます。ということで、Macintosh信者らしく実機を活用して、ある程度ちゃんとしたチューニングを目指したmacOSインストール用USBメモリーを作ってみます。

(1) App StoreからHigh Sierraを購入する

無料です。ダウンロードするとインストーラが起動しますが、これは中断します。/Applicationsの中にmacOS High Sierraインストール.appというアプリケーションができているはずです。5GB以上のサイズです。

(2) USBメモリを用意してフォーマットする

USBメモリーを用意します。容量は最低で8GB必要です。でも8GBと表記されている製品でも、ギリギリ足りないこともあります。その上の16GBにしておけば確実です。さらに上の32GBくらいになると、インストーラじゃなくてmacOSそのものをインストールできます。ただしUSB 2.0の速度で起動すると、かなり時間がかかります。

ディスクユーティリティ.appを起動して、USBメモリを、GUIDパーティションマップで、Mac OS拡張(ジャーナリング)フォーマットで初期化します。名前は、後で自動的に改名されてしまうので、ここでは適当で構いません。ここではUSBとしました。

(3) macOSインストーラをUSBメモリに入れる

macOSをクリーンインストールするために、インストール用ドライブを作成する機能, createinstallmediaが用意されています。ターミナルから、以下のようにタイプします。

$ sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB

これはUSBメモリがUSBという名前でマウントされている場合の例です。確認のプロンプトの後、しばらく時間がかかってインストール用USBメモリーが出来上がります。

名前もInstall macOS High Sierraに変わっています。ここで作成したUSBメモリーは、実機で起動して、macOSのクリーンインストールに使用することができます。オプションキーを押しながら実機を起動して、このUSBメモリで正しく起動できることを試しておきましょう。ここまでの手順はAppleのサポートページでも紹介されています。

外付けのドライブやセカンダリボリュームを起動ディスクとして使い、そこから Mac オペレーティングシステムをインストールできます。
macOS の起動可能なインストーラを作成する方法 - Apple Support

(4) 必要なファイルを入手する

Cloverとkextファイルを入手しておきます。いずれも、その名前を使って検索すると、ダウンロードサイトが見つかります。kextについては、こちらの記事を参考にしてください。

Clover EFI Bootloader

macOSを起動するブートローダです。

sourceforge.net

FakeSMC.kext

必須のkextです。MacにはSystem Management Controllerというサブシステムがあり、これのふりをしてくれるのがFakeSMC.kextです。RehabManさんがメンテナンスしてくれているダウンロードサイトです。

RehabMan / OS-X-FakeSMC-kozlek / Downloads — Bitbucket

Lilu.kext

これを使ってパッチを当てるkextを使う場合に必要なkextです。以下で解説しておきました。ダウンロード先も以下をご覧ください。

グラフィックスkext (Intel用)

CPU内蔵のiGPU (Intel HD Graphics) を使う場合には、IntelGraphicsFixup.kextを使います。必須ではありませんが、いくつかの不具合を直してくれます。Lilu.kextが必要です。

sourceforge.net

グラフィックスkext (NVIDIA用)

NVIDIAのGeforceを使う場合には、NvidiaGraphicsFixup.kextを使います。SMBIOSで設定する機種によってはこれがないとブラックスクリーンになってしまい、表示が出ません。Lilu.kextが必要です。

sourceforge.net

グラフィックスkext (AMD用)

追記:10.13.4から、Appleの外部GPUボックス推奨のAMDグラフィックスカードを使う場合は、何もせずそのまま使えるようになりました。なので、以下に紹介したWhateverGreen.kextも不要です。(2018/4/12)

AMDのRadeonを使う場合には、WhateverGreen.kextを使います。これを使わないとプライマリディスプレイにならず、ブラックスクリーンになります。Lilu.kextが必要です。

github.com

そのほかのkext

必須ではありませんが、LAN用のkext, オーディオ用のkext, USB設定のためのkextがあっても良いです。後から用意しても良いですが、LAN用は早い段階で欲しいかもしれません。

Ethernetを動かすkext マザーボード搭載やPCIeカード搭載のEthernetチップは大体がサポート…
Ethernetを設定する - Boot macOS

追記:この記事ではUSBの15個制限を簡易的に回避します。本気で対応するには、この記事の方法よりも、以下をお薦…
USBポートを設定する - Boot macOS

(5) Cloverをインストールする

こちらに詳細に説明しておきました。

Clover UEFI Bootloader Hackintoshする方法はいくつかありますが、現在、一番ポピ…
Cloverインストーラの設定 - Boot macOS

この手順でインストールを行います。選択する項目は以下です。

インストールボタンを押せばインストールが終了します。

インストールが終了した段階で、EFIという名前のボリュームがマウントされています。その中の、CLOVERフォルダに、先ほど指定したOsxAptioFix2Drv-64.efiなどが入っています。

Cloverインストール直後は、EFIがマウントされています。しかしEFIボリュームは通常はマウントされないので、手動でマウントする必要があります。こちらで説明しておきました。

EFIシステムパーティション(頭文字を並べてESP)には、Cloverブートローダとかconfig.plist…
ESPをマウントするためのシェルスクリプト - Boot macOS

(6) kextをUSBメモリに入れる

用意したkextをUSBメモリのESP (EFI System Partition) に入れます。CLOVERの中のkextsというフォルダに、バージョン番号のディレクトリがあります。使いたいmacOSのバージョンに合わせたフォルダに入れます。Otherフォルダに入れたkextは、いずれのバージョンでも使われます。通常は、数字の方か、Otherかのいずれかを使います。

ここでは、macOS High Sierra用に10.13フォルダにkextを入れてみました。AMDグラフィックス搭載マシンを想定してWhateverGreen.kextが入っています。

(7) apfs.efiを入手してUSBメモリに入れる

macOS High Sierraからシステムのファイルシステムが、従来のHFS+からAPFSに変更されました。インストール先がUSBメモリだったりHDDだとHFS+のままですが、SSDだと自動的にAPFSに変換されます。USBメモリ内のインストーラを起動するだけなら関係ないですが、SSDにインストールされたmacOSを起動する場合はAPFSにアクセスできる機能が必要になります。Clover、というか一般にブートローダは、OSが起動する前に、ドライブからブートのためのファイル(例えばカーネルなど)を読み込む必要があるからです。この機能は、High Sierraに入っているapfs.efi で行えます。

まずはHigh Sierraインストーラの中にあるBaseSystem.dmfをマウントして、その中のusr/standalong/i386を開きます。

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

$ open /Volumes/OS\ X\ Base\ System/usr/standalone/i386/

この中にapfs.efiがあるので、これをUSBメモリのCLOVERのdrivers64UEFIにコピーします。

(8) config.plitを編集する

ESPのC:OVERの中には、デフォルトで作成されたconfig.plistが入っています。これをconfig_def.plistのようにコピーしておきます。ちなみに、Cloverの起動画面で、configXXXX.plistのような名前のファイルから起動に使うファイルを選ぶことができます。config.plistについてはこちらで解説しておきました。

長ったらしくてわかりにくいconfig.plistの書き方を、簡単に説明してみます。config.plistは…
config.plistの実例紹介 - Boot macOS

デフォルトのconfig.plistはこんな感じになっています。

[XML] Clover config.plist – Pastebin.com

結構ややこしくて長ったらしいです。多くはコメントアウトされた記述です。XMLのコメントアウトは書きにくいのか、ここではkeyの名前に#をつけています。#をつけて、ありえない名前にすることで、無視されるようにしているようです。例えば、<key>DisableDrivers</key>と書くべき以下の部分を、

  1.     <key>DisableDrivers</key>
  2.     <array>
  3.         <string>CsmVideoDxe</string>
  4.         <string>VBoxExt4</string>
  5.     </array>

<key>#DisableDrivers</key>と以下のように書くことで、

  1.     <key>#DisableDrivers</key>
  2.     <array>
  3.         <string>CsmVideoDxe</string>
  4.         <string>VBoxExt4</string>
  5.     </array>

この部分をコメントアウトするのと同等の記述をしています。後からこの記述が必要になった時は、#を外せば良いのです。ただ、このようにコメントアウトされている箇所は、必要性の低い場所です。なのでほとんど削除することができます。

また、他にも必要性の低い場所があります。昔のマザーボードやハードウェアで必要とされていたものの、現在のマザーボードなどではほとんど不要であったり、むしろ不具合を引き起こしたりする記述が多くあります。それらを削除すると簡単になります。

(9) SMBIOSを設定する

デフォルトのconfig.plistでの機種設定は暫定的な設定です。実際には、インストール先のマシンに合わせて、しっかりと設定する必要があります。こちらに詳しい内容を説明しておきました。

Hackintoshは本物のMacintoshではありませんが、macOSは本物の機種上で動いていると思い込ん…
正しく機種設定する (SMBIOSの設定) - Boot macOS

こうして、コメントアウトされた部分を消して、不要な設定を消して、SMBIOSを設定した例を以下に示します。

[XML] Customized config.plist – Pastebin.com

(10) USBメモリで起動する

このUSBメモリをインストール対象マザーボードにさして、UEFIで起動ドライブに設定して、起動させます。以下のようなCloverの画面が出てくるはずです。デフォルトはクリスマスになっていました。ここまでは、Cloverをインストールすれば問題なく行き着くはずです。

なお、USBメモリが3.0である場合(多分、この容量のメモリはほとんど3.0じゃないでしょうか)USB 2.0のポートを使うと安全です。というのはUSBの個数制限で、macOSの起動後にUSB 3.0がアクセスできなくなり、止まってしまう可能性があるからです。2.0は遅いですが仕方ないです。生きている3.0もあるはずなので、ポートを抜き差しして、それを探しても良いです。USBの個数制限に関してはこちらの記事を見てください。

追記:DSDTの編集例としてのUSB個数制限の回避を説明します。USB個数制限を回避するには、こちらの方法をお…
DSDTを変更してUSBポートを選別する - Boot macOS

(11) macOSを対象マシンで起動することを確認する

この後、macOSのインストーラの起動が始まります。macOSのインストーラ画面が出れば無事終了です。現実には、途中で止まってしまうことも多いかと思います。その場合は、ブートオプションに-vをつけてエラーメッセージをみてください。Couldn’t allocate runtime areaというエラーを出して停止している場合は、OsxAptioFix…を別のものに差し替えてみてください。ここで何度か試行錯誤の作業が必要になるかと思います。とても運が良ければ、一回で起動できるかもしれません。

この先は、通常の実機でのmacOSクリーンインストールと同じ手順です。すなわち、インストール先のドライブをディスクユーティリティでフォーマットし、macOSをインストールします。何度か再起動することがありますが、その場合は、Cloverのブートドライブ選択画面でBoot macOS Install from…という項目を選びます。

macOSのインストールが終了したら、一旦はUSBメモリで起動して、起動項目でインストールしたばかりのmacOSドライブを選択します。そしてCloverをインストールし、USBメモリのESPの内容を、新しいmacOSドライブのESPにそのままコピーすれば、Hackintoshが完成です。

モバイルバージョンを終了