我が愛機Mac Pro early 2009。Appleから完全に見捨てられた機種(オブソリートMac)です。以前ほど重要な作業はやらなくなったので、遊べるMacとしても使っています。
このMacは基本的にはmacOS 10.13 High Sierraがインストールできる最終OSですが、ファームウェアを4.1から5.1に改変することでMac Pro 2010年モデル相当に見なされmacOS 10.14 Mojaveまでインストールできました。
お遊びできるMacですから、無理やり改造して最新OSを入れることもできるんだぜ 仕事用とかだったらもちろんムリ。
システムゴニョゴニョは失敗した時は痛いけど、それでも面白い
そんなことで以前はOSのインストーラーを改造してインストールする方法で、macOS 11 Big Surをインストールしていました。
Macの「起動画面を見たい」から始まった -OpenCore-
自分のMac ProはグラフィックボードにAMD RX580を使っています。
これはいわゆるWindows PC用なので(それでもMacで使えます)、電源ボタンを押してデスクトップが表示される段階まで画面が真っ暗なんです。
これどうにかならないかな?と検索してたら、そんなことができるサイトが引っかかりました。
ん?できるの?
その前に文中に出てくるOpenCoreってナニ?
ブートローダー?Hackintosh?
ハッキントッシュ?!
HackintoshってWindows PCでMacOSを動かしているやつじゃん
本家MacなのにHackintoshのお世話になるとは。
細かいことは(もちろん)端折りますが、OpenCoreはいわゆる起動時にMacを最新機種だと騙してくれるわけですね。
面白そうじゃんやってみっか!
-
OpenCoreダウンロード先
https://github.com/acidanthera/opencorepkg/releases - まずターミナル(diskutil list)で起動ディスクのディスク番号を探って(今回は仮にdisk0とする)、ターミナルを使って「sudo diskutil mount disk0s1」を実行してEFIパーティションをマウントさせます。※この辺の説明はオトンさんのブログにお任せします。
- そのEFIパーティション内にダウンロードしたOpenCoreファイル内から「EFI」フォルダをコピーします。
- これが重要なんですが、OpenCoreの構成ファイル「config.plist」を準備しなければなりません。当然0から作るなんて自分には無理ですからこのフォーラムから拝借。英語サイトなんで見にくい人もいるかも知れないけど、システム弄るんですからこれくらいできないと手を出さない方が良いですね。
- そのconfig.plistをEFIフォルダ内にある「OCフォルダ」内に配置します。
- 続いてターミナルでそのOpenCoreを指定してMacが起動するようにセットします。
まずdisk0s1はもう「EFI」というボリューム名でマウントされてますね。続いてblessコマンドでセットします。「sudo bless -mount /Volumes/EFI -setBoot」を実行してセット完了。これ重要です - Macを恐る恐る再起動…。失敗したら、どうにかして別メディアを使ってMacを起動させて修復させないとなりません。
それからそれから…問題発生
-macOS 11.3以降にアップデートすると起動できなくなる!-
しかしMac ProだとmacOS 11.3(以降)にアップデートするとMacの起動音(ファーン♪)が鳴るだけで一向に進まなくなります。つまりこれまではmacOS 11.3以降へはアップデートできませんでした。
開発者様のおかげで無事問題解決 - SurPlusパッチ -
その後、この問題への回避策「Latebloom」(OpenCoreに追加するkextファイル)が開発され、そしてその作者が問題の原因を追及してくれてその問題を突破して頂けました
将来のOpenCoreでは修正されるだろうと思いますが、今すぐ使いたい場合はOpenCoreの構成ファイルconfig.plistを編集します。
ここからはXMLの書式を知らないとなりませんが、config.plist内の<kernel>の中にある<patch>タグ内にSurPlus(GitHub)にあるソースを貼り付けるだけで完了。
ここにソースを直に貼るのはマズそうなのでGitHubに飛んでください。
これでMacを”確実に一発”で起動できるようになりました!
普通に一回で起動。これは当たり前なんですけどね…、コレ。
このSurPlusパッチが開発されるまではLatebloomを使っていたわけですが、Macが起動成功するのは(いわゆる)賭けでした。まず電源ボタンを一回押しただけで起動しません。良くて2回の起動トライ。酷い時は10回くらいかかりました。
ほんと開発者様には感謝ですよ
OpenCore導入にはもっと簡単な方法があります
- OpenCore Legacy Patcher -
これまで手作業でやることを書いてきましたが、実は指示に従っていくだけでほぼインストール・構成してくれるツールもあります。
それが「OpenCore Legacy Patcher」です。
このツールを使えばほぼ自動化されますがOpenCoreをインストールするEFIパーティションがどこかを事前に把握しておく必要があります。こればかりはこのツールが探してくれるわけではありません。
OpenCore Legacy Patcherの(設定含む)使い方は上記を参考に。
OpenCore Patcherダウンロード先
https://github.com/dortania/Opencore-Legacy-Patcher/releases
※2021/10/1現在、SurPlusパッチを含んだOpenCore Legacy Patcherは正式版としてはまだリリースされていません。ナイトリービルド(いわゆるベータ版)としてOpenCore Legacy Patcher 0.3.0をダウンロードする必要があります。
OpenCore Legacy Patcher(SurPlus使用)の手順:
- 起動ディスクのEFIパーティションを探す。
- OpenCore Patcherを実行する。
- (人によって詳細・カスタマイズ設定は異なると思います。)
- 5を入力してEnterキー。※5 Patcher Settings
- 1を入力してEnter。※1 Debug Settings
- 4を入力してEnter。※4 Set SurPlus Settings
- yを入力してEnter。※yes
- qを入力して前に戻る。
- qを入力して前に戻る。※これで最初の画面
- 1を入力してEnter。※Build OpenCore
- 2を入力してEnter。※Install OpenCore to USB/Internal drive
- インストールするディスク番号を探して該当の番号を入力。※人によって違う
- 1を入力してEnter。
- Macの管理者パスワードを入力。
- インストール開始。
- OpenCore Legacy Patcher完了。
- このツールの使用後、ターミナルでblessコマンドでEFIパーティションを指定する。
- 例) sudo diskutil mount disk0s1 ※EFIボリュームをマウント
- sudo diskutil -mount /Volumes/EFI -setBoot ※起動時使用EFIパーティションを指定
ヘタすりゃ起動しなくなりますので。確実にバックアップも取っておくことをお勧め。