2019年1月10日木曜日

古いMacにmacOS Mojaveを入れるあれこれ

我が家にはLate 2010のMacBook Air 11が今も現役のサブマシンとして存在します。Core 2 Duo時代のマシンです。

macOS Mojave (10.14)の導入は今回から非サポートになりましたが、非公式に導入する手段が有志の手によって提供されていますので紹介します。

macOS Mojave Patcher

『macOS Mojave Patcher』は、その名のとおりmacOS Mojaveにパッチをあてて、古いMacへのインストールを可能にするスクリプト集です。サポートされる端末は公式に列挙されています。

MacBook Air 11 Late 2010は "MacBookAir3,1" なので、このドキュメントによれば特に支障なく導入できます。

このPatcherによってインストールUSBメモリ(16GB以上)を作り、そのUSBメモリから起動してインストールを行い、完了したら再びUSBメモリから起動させ、ユーティリティメニューからPatcherを起動してパッチをあてます。

次の再起動からはMojaveで正常に起動するようになり、以降はソフトウェアアップデートがあればもう一度Patcherを起動してパッチを当てる必要があるかもしれないくらいです。

この再パッチは、/Applications/Utilities/ にあるPatcherを実行するか、USBメモリから起動してPatcherを実行するかで行なえます。

もしかすると:

Clover EFIを導入し、DSDTを取得してパッチをあて、kextsをインジェクトしたほうが(※つまりMacでOSX86させたほうが)クリーンな環境になるかもしれません。

こうなった背景

このように古いMacが非サポートになってきている現状には、macOSのブート処理が変更になりつつあり、Appleが、現在のEFIによる起動から、iOSベースの独自のブートコントローラへ移行しようとしているという事情があります。

この以降措置はHigh Sierra (10.13)から始まっており、ここではファイルシステムがHFS+からAPFSへの以降が行われました。

この新しいファイルシステムであるAPFSは、先ほど述べたiOSベースのブートコントローラと密に連携するようになっており、macOSの非正規コピーによる起動を防ぐ仕組みが開発されつつあります。

今までもDSMOS (Don't Steal Mac OS)という非正規コピーの防止策が存在していましたが、APFSの導入によって更に進んだ措置となり、OSX86コミュニティへの打撃となりました。

Appleは今後、macOSにおけるIntel x86プロセッサ採用をやめて独自のARM64ベースのプロセッサへ移行するのではないかと言われており、その噂が現実味を帯びてきているとも言えます。

OSX86コミュニティでは今、このようなApple側の対策への対抗措置がさかんに開発されていて、macOSがx86をサポートし続ける間はこういった措置への対抗が行われていくはずです。例えば、強制的にHFS+パーティションへMojaveを導入するworkaroundなどはよい例でしょう。

Mojaveで多くの(概ね第3世代Core iプロセッサより前の) Macが非サポートとなり、おおかたの予想より急ピッチでの移行が行われているのが現状で、これらのMacではOSX86の手法を一部取り入れる形で、今回のようなPatcherが作られた、という流れです。