みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Hackintosh (Mountain Lion) の作り方

Hackintoshとは、普通のPCにMac OS Xをインストールしたものです。Macを買うのは高いから、その辺にあるPCで作ってみよう!という人におすすめです。みーの場合はhackintoshを作ること自体が目的です。

Macは現在intel製のCPUで動作します。それならintelのCPUを積んだ普通のPCでもMacになるのではないか?と思うはずです。実際、Hackintoshを作成するためのサイトやコミュニティがネット上にはたくさんあります。

このページでは、基本的なHackintoshの作成方法を紹介します。

必要なもの

  • Intel CPUを搭載したPC
  • Mac OS X (Mountain Lion)のライセンス
  • 8Gbyte以上の容量のUSBスティック
  • 根気と時間

特に、根気と時間はとても重要で、Hackintoshを初めて作る人はおそらく1週間はかかるでしょう(ちなみにみーは2週間ほど格闘しました)。OSのインストールを数十回、幾度と無くカスタマイズを繰り返し、最適な設定を見つけていく作業ですので、心してとりかかりましょう。

最低限の知識

  • kext
    • ローダブル・カーネル・モジュール(英: loadable kernel module, LKM)は、オペレーティングシステム(OS)の動作中のカーネルを拡張するコードを含むオブジェクトファイル。現行Unix系システムの多くやMicrosoft Windowsはローダブル・カーネル・モジュールをサポートしているが、呼称はそれぞれ異なる。例えばMac OS Xでは"kernel extension"("kext")と呼ぶ。 (Wikipediaより)
    • つまりWindowsでいうところのドライバーみたいなイメージですね。
    • 周辺機器をMac OS Xが認識するのに必要です。
  • UniBeast
    • Mac OS Xのインストール USBスティックを作成するソフトです。Mac OS X上で動きます。つまり、Hackintosh を作成するにはMac が必要なわけです。絶対にMacを買いたくない、あるいはMacなんて持っていないという人は、Macを貸してくれる親切な友人を見つけるなど、なんとかしましょう。
  • MultiBeast
    • UniBeastで作成したUSBスティックから起動した場合は、UniBeastが最低限のkextや設定を行なってくれているため、Mac OS Xが起動します。しかし、これを用いてHDDにインストールした場合はピュアなMac OS Xになっているので、自分で必要な設定やkextのインストールを行わないといけません。MuitlBeastはこれを簡単に実行してくれるソフトです。
  • kext wizard
    • kextをインストールするためのソフトです。ダウンロードはこちら。kextのインストールはターミナルからできますが、これを使ったほうが簡単です。
  • S/L/E
    • SLEは全身性エリテマトーデスのことではありません。/System/Library/Extensions/ の略称です。ここにkextを保存しますので、掲示板でよく使われます。
  • /Extra
    • Hackintosh用の設定ファイルをここに保存します。掲示板でよく見ます。
  • Org.chameleon.Boot.plist
    • Hackintosh用の設定ファイルの1つです。これむっちゃ重要なので、しっかりと理解しておく必要があります。このあたりの説明はこちらにまとめてありますので、よろしければ読んでください。

Hackintoshの作り方

HDDにインストール

http://www.tonymacx86.com/61-unibeast-install-os-x-mountain-lion-any-supported-intel-based-pc.htmlに準拠します。流れを簡単に説明すると、Mountail LionをApp Storeで購入する → UniBeastでUSBスティックにMountain Lionを書き込む → PCに接続しUSBブート → Mountain Lionをインストール です。

ここがひとつの山場で、USBからMountain Lionがうまく起動しないことが往々にしてあります。以下に注意するべき点をあげますので、参考にしてください。

  • Mac OS X が起動しない
    • 起動時に-vオプションをつけて、ログを見てください。
    • 起動時に-v -xオプションを指定してみてください。 (-x : セーフモード)
    • -f オプションは現在つける意味はありません。(ML)
  • Still waiting for root deviceがループする
    • USB3.0のポートにUSBスティックを接続している場合は、USB2.0のポートに接続してください。
    • USBスティックにアクセスするためのkextをインストールしているかを確認してください。
  • 画面が表示されない
    • GraphicsEnabler=No オプションをつけて起動してみてください。

ログを見ながら起動しない理由を探っていくのは大変ですが、楽しい作業です。いろいろなサイトで、npci=0x3000, PCIRootUID=0などを指定するとうまくいく、という報告がありますが、みーはうまくいったことがありません。むしろ、正しいKextがあるかどうかをチェックしましょう。

HDDからブートさせる

HDDからブートするにはブートローダーをHDDにインストールする必要がありますが、これを行うにはHDDからMac OS Xをブートする必要があります。堂々めぐりです。UniBeastで作成したUSBスティックに入っているブートローダーにはHDDからブートする機能があるので、これを使ってHDDからブートします。

まずUSBからブートして、HDDブートを選択して、Mac OS Xを起動します。USBからのブートと同じオプションを入れれば、たいていうまくいきます。起動したら、初期設定をしてからMultiBeastをインストールします。必要なkextをインストールして、ブートローダーをインストールします。MultiBeastで何をインストールすればいいのか?これは難しい質問です。なぜなら、必要なkextがなければその機能は動作しませんし、余計なkextがあれば誤動作や問題の原因になりますし、各PCの構成やMac OS Xのバージョンやkextのバージョンなどによって必要なものは変わってくるからです。以下にとりあえず入れておけ的なkextをリスト化しておきますが、実験あるのみです。いろいろとインターネットで調べて試行錯誤してください。とりあえずMultiBeastに入っているkextはMultiBeastのものを使用するのが無難です。MultiBeastの中に入っているkextは、全世界にあるkextの中で一流の完成度のものが揃っているからです。つまりMultiBeastの説明書はしっかりと読んで理解する必要があります。

  • キーボードやマウスがPS2
    • PS2のkextをインストールしておかないと、HDD起動時にキーボードやマウスが動作しません。
    • Bluetoothが最初から動くことはまずないので、マウスは有線のものを使用されることをおすすめします。
  • スピーカー
    • VoodooHDAうんちゃら.kextぐらいをとりあえずインストールしてみましょう。汎用ドライバーなので、それなりに動作するはずです。
    • Macの起動音はおそらくEFIが鳴らしているようなので、hackintoshはじゃーん!という音はしません。少なくともみーのPCではなりませんでしたが、スピーカーは正常に動作しました。
  • USB3.0
    • これが結構苦労しますので、はじめは2.0で動作させておいて、安定した環境に仕上がってきたら3.0用のドライバーをインストールすることをおすすめします。
  • DSDT
    • 自分の使用しているマザボのDSDT.amlが入手できれば楽ですが、期待できないので、とりあえずDSDT.amlなしにしておくのが無難です。後から調整しましょう。
  • 有線LAN
    • これが動かないとネットワークに接続できないので死ぬほど不便です。自分の有線LANの型番を調べて、使用できそうなkextをインストールしておきましょう。Realtekうんちゃらでだいたいなんとかなる印象ですが、他のメーカーならそれ用のものを用意しましょう。
  • Graphics
    • ここまで来れているのなら、特に必要ないです。変なものをインストールすると画面が映らなくなることがあるので、とりあえずなしで済ませて、後で安定した環境に仕上がってきたらグラボを有効にするのが無難でしょう。

次に再起動し、HDDからブートします。しかしここで普通は問題が発生します。たいていはkextは不足していたり、変なkextが問題を起こしたりしています。ブートのログを見て、何が問題なのかを調べましょう。ブートのログの見方ですが、USBブートでMac OS Xのインストーラーを起動して、ターミナルを起動し、ログファイルをUSBにcpしてから別のPCで観覧すればいいかと思います。

カーネルパニックが発生する場合は、たいていインストールしたkextがエラーしています。Still waiting for root deviceで停止している場合は、たいていHDDが認識されていないか、ブート先がHDDになっていないか、HDDにアクセスするためのkextが足りないか、が考えられます。このあたりを探ってみてください。

このように、HDDからのブートにはkextの見極めと設定ファイルの調整(Org.chameleon.Boot.plistなど)が必要なので、最初のうちは起動することを目標に最低限必要なkextを見極めていき、徐々にサブで重要な機能(無線LANやBluetoothやグラボ)などのための設定を追加していくのが手っ取り早いのではないかと思います。

TimeMachineでバックアップをとる

無事にHDDから起動するようになってまずやるべきことは、TimeMachineで起動ディスク全体のバックアップを別のHDDにとることです。今までの作業を繰り返すのはとっても時間がかかるので、とりあえずHDDから正常に起動できるMac OS Xの環境が築けたら、TimeMachineでバックアップをとって、起動ディスクを壊してしまってもTimeMachineから一発復元できるようにしておくととても便利で時間短縮になります。必須ではないですが、実行しておくことをおすすめします。

Apple IDでログインする

Macの利点といえば、iCloundやApp Storeでのアプリの購入やiTunesでの楽曲購入が挙げられると思います。これを有効にするには、Org.chameleon.Boot.plistに適切な情報を入力する必要があり、このあたりはMultiBeastがうまくやってくれることもありますが、うまくいかないことも多いです。Apple ID関係のサービスは必ずen0でインターネットに接続している必要がある、ということをまず確認した上で、適切なシリアル番号などを設定してください。

Sleepできるようにする

これ本当に難しいです。先人の偉大なるDSDT.amlがあるマザボなら簡単ですが、そうでないマザボはまず不可能です。このあたりを楽にしたい人は、偉大なDSDT.amlがあるマザボを選んでHackintoshを作成した方が懸命でしょう。自分でamlファイルを作成することもできるみたいですが、かなりハードウエアに詳しくないと難しそうです。みーは諦めモードです。。。

外見をMacっぽくする

Appleの製品を買うと必ずといっていいほど付属してくるのが、リンゴマークのシールです。みーはこれ結構余っています、、、なので、無事にHackintoshが完成したら、PCにリンゴマークを貼り付けましょう。これでぐっとHacintoshっていう感じがします。あと、キーボードにもCommandキーのマークとOptionキーのマークを貼り付けて、System referenceのキー割り当てにて適当に設定したらいいのではないかと思います。

まとめ

大まかな流れは以上です。Hackintoshを作ろうというサイトは日本にはまだ少ないので、皆様の参考になれば幸いです。そろそろmaverickが公開されそうな雰囲気で、海外の掲示板にはmaverickでhackintoshの情報がちらほらと出始めていますね。

何か間違いがあれば、以下のコメント欄にお願いします。hackintosh作成中にこんなエラーが出たけどどうすればいいのか?という質問も、コメント欄に記入していただいても構いませんが、返信するかはみーの気分次第ですので、ご了承ください。自分の知識をサイトにまとめるのは好きですが、人の疑問に親切に答えるのはあまり好きではなのです。自分のことは自分で調べる、という姿勢で、このページを利用してください。

2013.7.1 Update

2013.4.14 公開