MacにブートローダrEFIndを導入する

Mac PCでUbuntuやWindowsなど、OS X以外OSを起動するための必需品と言えばrEFInd。
rEFIndを用いれば、起動時にどのOSを立ち上げるかを選択できるようになります。

今回はこのブートローダーrEFIndをMacに導入する手順について説明していきます。

 

ブートローダーとは

ブートローダーとは,PCを起動する際にOSをハードディスクから起動するプログラムのことです。

macを起動すると自動的にOS Xが起動すると思いますが、macにubuntuやwindowsを入れた際にどのOSで起動するかを選択する必要があります。

PC起動時に、どのOSを起動するかを選択する役割を担っているのがブートローダーです。

 

ブートローダrEFIndの導入

MacではStartup Managerという起動OS選択ソフトがデフォルトで備え付けられています。
起動直後(電源ボタンを押した直後)にoptionキーを押すことで起動できます。

が、Startup ManagerではUbuntuのOSを発見することはできません

 

スタートアップマネージャーを起動すると、以下のように起動するディスクの候補が出てきます。
しかし、UbuntuOSは選択肢に出てきていません。

どうしてこういう仕様となっているのかは分かりませんが、Ubuntu OSが見えない以上Startup ManagerでUbuntuを起動することはできません。

 

そこで登場するのがブートマネージャーrEFIndです。
rEFIndを使用することでMacのStartup Managerからは見えなかったUbuntu OSを立ち上げることができます。

 

rEFIndのダウンロード

まずはこちらのサイトからA binary zip fileをクリックしてrEFIndをダウンロードします.

http://www.rodsbooks.com/refind/getting.html

ダウンロードフォルダにrefind-bin-0.10.4というフォルダをダウンロードすることができたと思います.
バージョンは違っているかもしれませんので,各自で読み替えてください.

 

追記 2018/10/05 : 

2018年10月現在、macOSの最新バージョン、macOS Mojave 10.14が利用できます。
また、rEFIndはこの時点での最新版 rEFInd 0.11.3 が利用できます。

しかし、macOS Mojave 10.14 & rEFInd 0.11.3 の組み合わせでは上記手順でうまく行きませんでした。
(もしかしたら、すでに古いバージョンのrEFIndをインストールしていたことが原因かもしれませんが。)

rEFIndのバージョンを落として試したところ、
macOS Mojave 10.14 & rEFInd 0.10.4 でうまくインストールできることを確認できました。

 

 

このフォルダの中にrefind-installという実行ファイルがあるのでそれを実行すればrEFIndをインストールすることができます.

しかし、セキュリティの観点からMacを普通に起動している状態でインストールを実行しようとしてもうまくいきません。

通常起動時に下記コマンドでインストールを実行しようとすると、
“Could not set boot device property: 0xe00002bc”
というエラーメッセージが表示されます。

これを回避するために、Macをリカバリーモードで起動してrEFIndをインストールする必要があります。

 

 

 

リカバリーモードでの起動

セキュリティの観点から、通常起動状態でmacにrEFIndをインストールすることはできません
macにrEFIndを導入するためにはmacをリカバリーモードで起動しrEFIndのインストールを行う必要があります。

起動直後(電源ボタンを押した直後)に command + R を押し続けることでリカバリーモードでmacを起動することができます。

リカバリーモードでの起動には少し時間がかかるので、しばらく待ちましょう。

 

起動すると、以下のような画面が表示されます。
トップバーのユーティリティを選択し、ターミナルを起動します。

 

 

refind-installの実行

このターミナル上で先ほどダウンロードしたrefindのフォルダ内にあるrefind-installという実行ファイルを実行します。

コマンドの先頭にあるドルマークは、ターミナルで実行しますという記号ですので、実際に打ち込むのは
/Volumes~ 以降の文字列になります。

コマンド中の <username> の部分は各自で自分のユーザーネームに置き換えてください。

インストールしますか(YES/NO) ?と聞かれるので、
y をタイプしてエンターキーを押します。

 

“Installation has completed successfully.” 
と表示されて入れば、rEFIndのインストールは成功です。

 

インストールが成功したら、ターミナルを閉じ、一度PCを再起動しましょう。
再起動すると、起動直後に以下のような画面が出てくると思います。

このような画面となれば無事rEFIndのインストールは成功です。

ちゃんとOS XとUbuntu両方のOSが見えていることが確認できると思います。
あとは、起動したいOSのアイコンを矢印キーで選択し、Enterで決定します。

これで起動毎にどちらのOSで起動するかを選択できるようになりました。

 

ちょっとした注意事項

今回のmacOS HighSierra -> Mojaveと言うようなmacOSの大幅なアップデートを適用した場合、rEFIndが使えなくなる(起動時にrEFIndのOS選択画面が表示されずに、macOSが立ち上がってしまう)ことがあります。

その際はもう一度

  • リカバリーモードで起動
  • efind-installの実行

の手順を踏めば使えるようになります。

macOSの大幅アップデートはそう頻繁にはありませんが、このようなことが起こることを頭の片隅に入れておくと良いでしょう。

 

 

追記
Ubuntuでupdate upgradeをしたタイミング?でrEFIndが起動しなくなり、自動的にUbuntuで起動してしまうようになってしまうことがあるようです。
その時はもう一度Macをリカバリーモードで起動して ./refind-install を実行すればrEFIndが起動できるようになりました。
ubuntuでupgradeをするタイミングは必ず現れると思うので、その度にrEFIndインストールをやり直さなければいけないのは正直面倒ですが、まあよしとしましょう。
どなたか解決策を知っている方がいらっしゃいましたら、教えていただきたいものです。

 

 

おまけ。クソダサいrEFIndのテーマを変更する

rEFIndはかなり便利。超便利。しかし、、、

このクソダサいデザインはなんとかならんのか!
ということで、おまけとしてデザインを変更する手順も記述していこうと思う。

 

私のrEFInd。デスクトップの背景画像をぼかしたものを使用している。
あぁ美しか。

 

EFIをマウントする

EFIはデフォルトではマウントされていないため、MacのFinderではみることができない。

まずはEFIのマウントから始める。

ターミナルで上記コマンドをタイプ。ディスクのリストを表示させよう。

こいつがEFIだ。

適当にフォルダを作成して、以下のコマンドでマウントする。
(ここではDesktopにEFIというフォルダを作成して、そこにマウントしている)

このdisk0s1のところは先ほど調べたディスクのIDENTIFIERが入る。
皆さんはもしかしたらdisk0s1と異なっているかもしれない。

これでEFIのマウントは完了だ。Finderの左のタブからEFIの中身が見えるはずだ。

 

ベースとなるrEFIndのテーマを探してくる

rEFIndのテーマはググるといくつかヒットするので、それをダウンロードしてくる。

参考までに、私はrEFInd-minimalというテーマを使用している。

https://github.com/EvanPurkhiser/rEFInd-minimal

フラットなデザインで、とてもクールだ。

 

ダウンロードしてきたら、そのフォルダをEFIの中に放り込む。

場所は EFI/EFI/refind/ この中あたりが良いだろう

 

rEFIndのconfigファイルをいじる

次に、ダウンロードしてきたテーマをを読み込ませるために、rEFIndのconfigファイルを編集する。

先ほどのテーマを入れたディレクトリ(EFI/EFI/refind/)の中には、、、

  • driver_x64
  • icons
  • keys
  • refind.conf
  • rEFInd-minimal(先ほどダウンロードしてきたテーマ)

このようなものが入っていると思う。

この中の設定ファイル refind.conf をテキストエディタで編集する。

 

refind.confの一番したまで移動し、次の一文を記述する。

ダウンロードしてきたテーマの中には theme.conf というconfigファイルがあるので、その場所をrefind.confからの相対パスで記述することで、そのテーマを読み込むことができる。

 

テーマの壁紙を変更してみる

壁紙は使用するテーマによってまちまちだが、例えばrEFInd-minimalの場合、、、

テーマフォルダの中にbackground.pngという画像ファイルがある。

そのファイルをお好みの画像に変更すことで背景を変更できるというわけだ。

私は普段使用しているデスクトップ背景を少しぼかした画像を使っている。
こうすることで、統一感が出るのでgoodだ。

 

 

皆さんも、お好みに合わせてrEFIndのアイコンやテーマを変更してみてほしい。