rEFIndのテーマをカスタマイズする方法!

さて、今回はrEFIndのテーマを変更する方法についてです。

デフォルトのrEFIndのOS選択画面って、ハッキリ言って美しくないですよね。そこで今回は、rEFIndのOS選択画面カスタマイズしていきます。

「rEFIndって何?」という方や、「rEFIndのインストール方法がわからない」という方は、以下のページでrEFIndの導入について詳しく説明していますので、そちらからご覧ください。

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

rEFIndのデフォルトのOS選択画面

rEFIndはMacマシンでLinuxを扱うためには必須のアイテムです。とても便利なのですが、、、

このクソダサいデザインはなんとかならないのでしょうか。
ということで今回はrEFIndのインストールが終わっている前提のもと、rEFIndの背景画面やアイコンなどを変更する手順について説明していこうと思います。

rEFIndのテーマカスタマイズの例

まずは私のrEFIndでのOS洗濯画面をサンプルとして載せておきます。デフォルトのごちゃごちゃした画面から一変して、スッキリシンプルになっています。
背景画像にはデスクトップの背景をぼかしたものを使用しており、統一感が出ていい感じになっています。

では、早速カスタマイズしていきましょう。

EFIをマウントする

まずはじめに、EFIというボリュームをマウントします。EFIのボリュームには、rEFIndで使用する背景画像やアイコンの画像、設定ファイルなどが格納されたボリュームになっています。
EFIはデフォルトではマウントされておらず、MacのFinderではみることができません。
そこで、まずはEFIのマウントから始めます。

$ diskutil list

ターミナルで上記コマンドを実行し、ディスクのリストを表示させます。

画像の青線で示されたディスクがEFIです。

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

$ mkdir ~/Desktop/EFI $ sudo mount -t msdos /dev/<IDENTIFIER> ~/Desktop/EFI

上記コマンドの<IDENTIFIER>のところには、先ほど調べたEFIボリュームのIDENTIFIERが入ります。
私の場合はdisk0s1でしたが、diskutil listの結果を元にそれぞれのIDENTIFIERを入れましょう。

これでEFIのマウントは完了です。
正しくマウントできているとFinderの左のタブにEFIボリュームが出てきて、ボリュームの中身が見えるようになるはずです。

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

rEFIndのテーマはググるといくつかヒットするので、それをダウンロードしてきましょう。
日本語で「rEFInd テーマ」とググるより、「rEFInd themes」と英語でググった方が色々出てくるかもしれません。

参考までに、私はrEFInd-minimalというテーマを使用しています。
https://github.com/EvanPurkhiser/rEFInd-minimal

シンプルでフラットなデザイン。こういうのが好きなんですよね。

探してきたテーマはダウンロードして(圧縮されていたら展開して)、
そのフォルダをEFIの中に放り込みます。

テーマの場所はあとでconfigファイル内で指定するのでどこでも良いのですが、
参考までに、私は/EFI/refind/themesに入れている。(themesのフォルダは作成しました。)

rEFIndのconfigファイルをいじる

次に、ダウンロードしてきたテーマをを読み込ませるために、rEFIndのconfigファイルを編集します。
EFIボリューム/EFI/refind の中には、、、

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

このようなものが入っています。
refind.confというものがrEFIndの設定ファイルですので、このファイルをテキストエディタで編集します。

設定ファイルのrefind.confの一番下まで移動し、次の一文を記述します。

...
...
...
include themes/rEFInd-minimal/theme.conf

ダウンロードしてきたテーマの中には theme.conf というconfigファイルがあるので、includeコマンドでtheme.confをインクルードします。
パスはrefind.confからの相対パスで記述しましょう。

これでひとまず、rEFIndのテーマを変更することができました。

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

まず、変更したテーマがどの壁紙を参照しているかを確認してみます。
私が使用しているrEFInd-minimalのテーマの場合、先ほどrefind.confで読み込んだtheme.confの中を読み込むと。

banner themes/rEFInd-minimal/background.png

このような記述があります。
この一文から、rEFInd-minimalテーマはthemes/rEFInd-minimal/background.pngという背景画像を使用していることがわかります。
この一文の画像のパス変更してあげて、その画像をEFIボリュームの指定したパスに入れてあげれば壁紙が変更できます。

普段使用しているデスクトップの背景をぼかした画像をrEFIndで使用すると、統一感が出て良いのではないでしょうか。

rEFIndのテーマを詳細にカスタマイズする

rEFInd.confに記述できるconfigの書式をまとめていきたいと思います。
以下のコマンド群を用いて、rEFIndの画面をお好みにカスタマイズしましょう。

uiを隠す

hideui <ui1>, <ui2>, <ui3> ...
例) hideui hints, singleuser, safemode, hwtest

hideuiの後に、カンマ区切りで隠したいuiを列挙します。

bannerrEFIndのタイトルバナー
labelメニューのbootオプションのテキストラベル
singleuserMac OS Xをsingle-userまたはverboseモードで起動するオプション
Mac OS Xのみで動作する
safemodeMac OS Xをセーフモードでブートする
hwtestAppleのハードウェアテストを実行する
arrowsOS選択のスクロール矢印
hints簡潔なコマンドの説明
editorエディターのオプション(F2とかF12で入れるブートオプション)
badges起動オプションのデバイスタイプバッジ
all上記の全uiを隠す

アイコンのディレクトリを指定

icons_dir <path_to_icons_dir>
例) hideui themes/my_refind_theme/icons

rEFIndで使用するアイコンが保存されているフォルダを指定します。

背景画像の指定

banner <path_to_the_image>
例) banner themes/my_refind_theme/background.png

rEFIndの背景に表示する画像を指定します。

背景画像の配置方法の指定

banner_scale <scale_option>
例) banner_scale fullscreen

rEFIndの背景画像がウィンドウサイズと異なる場合の画像の表示方法を指定。

noscale画像をスケーリングしません。画像が大きすぎる場合はクロップされ、小さい場合はそのまま表示されます。
fullscreenフルスクリーンで表示します。

基本的にfullscreenで大丈夫だと思います。

アイコンサイズの指定

small_icon_size <icon_size_in_px>
big_icon_size <icon_size_in_px>
例) small_icon_size 96
例) big_icon_size 256

アイコンのサイズを指定します。アイコンは正方形となり、
big_icon_sizeは上段のOSアイコンのサイズ。
small_icon_sizeは下段のツールアイコンのサイズとなります。
単位はピクセルです。

セレクトされているアイテムの背景画像を指定

selection_small <path_to_the_small_bg_image>
selection_big <path_to_the_big_bg_image>
例) selection_small themes/my_refind_theme/small_bg.png
例) selection_big themes/my_refind_theme/big_bg.png

現在選択されているアイコンの背景画像を指定します。
アイコンサイズは正方形で、slection_bigで上の行のOSアイコン用の背景画像を、selection_smallは下の行のツールアイコンの背景画像を指定します。

フォントの指定

font <path_to_the_font_image>
例) font themes/my_refind_theme/font.png

fontを指定すると言いつつ、画像ファイルを指定しています。
rEFIndでは、ASCIIコードの32-126の範囲の文字を横並びに配置した画像ファイルを元に文字を生成します。
(当然といえば当然ですが、OSが保持しているような高度な.ttfファイルは扱えません。)

タッチスクリーンをアクティブにする

enable_touch

このオプションを記述すると、タッチスクリーンに対応しているディスプレイで、タッチ入力が可能になります。

rEFIndのグラフィックモードの指定

use_graphics_for <option1>, <option2>, <option3> ...
例) use_graphics_for osx, linux, ubuntu

グラフィックモードの指定を行います。
指定できるものは以下の通りです。

osxOS X。デフォルトで指定されています。
linuxLinuxカーネルのstubローダー
eliloELILOブートローダー
grubGRUB(Legacy or 2)ブートローダー
windowsMicrosoft Windows。
何も指定しない何も指定しないとテキストモードとなります。

ブートローダー以外のツールを表示する

showtools <tool1>, <tools2>, <tools3> ...
例) showtools about, reboot, exit

ブートローダー以外のツール(例えば、リブートやシャットダウンなど)の表示項目を列挙します。

shellEFI shell。
memtestEFI/memtest86、EFI/memtest、EFI/tools/memtest86、EFI/tools/memtestのいずれかのディレクトリにあるmemtest86プログラムを起動します。
gptsyncgptsync.efiユーティリティ。
apple_recoveryApple Recovery HD partition でブート。
windows_recoveryOEM Windows recovery tool でブート。
mok_toolMachine Owner Key (MOK) maintenance tool を有効にします。
csr_rotateApple System Integrity Protection (SIP) policy の調整。
about「プログラム情報」を表示。
exitrEFIndを終了。
shutdownPCをシャットダウン。
rebootPCを再起動。
firmwareファームウェアのユーザインターフェースでPCを再起動。
fwupdatefwupx64.efi を用いてファームウェアをアップデートします。
netbootipxe.efi というツールを用いてnetwork (PXE) ブートを立ち上げます。

以上、rEFIndのテーマをカスタマイズする手法についてでした。
皆さんも設定をいじり、お気に入りのrEFIndを手に入れましょう。

rEFIndのインストールがまだ済んでいない方は、以下のページからrEFIndのインストールを進めましょう。

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