GRUB メニュー と テーマ の設定
ブートローダー GRUB 設定 のページでは デフォルトのメニューを設定する方法を紹介しました。今回は、メニューの背景画像とユーザーインターフェースのテーマをカスタマイズしてみました。(2021年2月)
下の画像は VirtualBox 上で Ubuntu 20.04LTS の GRUB を起動している動画です。
注|再生時間はカット編集しているため実際とは異なっています。字幕スーパーは管理人が付け加えたものです。
カスタマイズに使用している背景画像とテーマは GNOME-LOOK.ORG や GitHub に公開されているものです。
なお、当ページで GRUB とは GRUB2(GRand Unified Bootloader version 2)のことを示します。
参考
● Grub2 theme / reference - Rosalab Wiki http://wiki.rosalab.ru/en/index.php/Grub2_theme_/_reference
● Grub2 theme tutorial - Rosalab Wiki http://wiki.rosalab.ru/en/index.php/Grub2_theme_tutorial
メニュー 背景画像 の 設定
下記の条件を満たす画像を用意して任意のディレクトリに配置しておきます。
- フォーマット:png, jpg, tga の何れか(推奨は png)
- 解像度:モニター解像度を推奨(デザイン次第)
今回は、既に GRUB用の背景画像やテーマが無数に公開されているので、その中から「starfield」テーマの背景画像を使ってみました。配布元のリンクはページ冒頭の GitHub です。
下の画像は、デフォルトの GRUBメニュー画面と背景画像を適用したスクリーンショットです。
画像ファイルの配置場所はどこでもよいのですが、次の
- /boot /grub /themes /starfield /
- /usr /share /grub /themes /starfield /
- /home /ユーザー名 /ピクチャ /starfield.png
くらいでしょうか。存在しないディレクトリは作成します。今回は /boot /grub / に置きました。
GRUB の設定
先ずは GitHub からテーマをダウンロードして解凍したフォルダーを置くディレクトリを作成しコピーします。
GNOME Terminal :
$ sudo mkdir /boot/grub/themes/
$ sudo cp -R /home/ユーザー名/ダウンロード/Starfield /boot/grub/themes/starfield
次に GRUB の設定ファイル /etc /default /grub を開いて
$ sudo nano /etc/default/grub
次のコードを追記して保存します。
GNU nano editor :
GRUB_BACKGROUND="/boot/grub/themes/starfield/starfield.png"
そして
$ sudo update-grub
を実行して画像が読み込まれたことを確認します。
PCを再起動して表示されれば設定完了です。
GRUB テーマ の 設定
GRUBテーマの設定も背景画像設定と同様に、ダウンロードした素材を任意のディレクトリに配置して /etc /default /grub ファイルにパスを記述し保存の後 update-grub コマンドを実行するだけです。
素材(フォルダー)の置き場所は メニュー背景画像の場合と同様にどこでもよいです。今回のテーマの場合も /boot /grub /themes / に置きました。
今回使用したテーマは GNOME - LOOK.ORG のStadby で、当ページ冒頭の動画がそれです。下の画像は、オリジナルのテーマと当ページ動画のスクリーンショットです。
ご覧のようにスケール感がまるで違いますね。
これはオリジナルの解像度が 1920x 1080 に対し動画の方は VitualBox をビデオキャプチャーしたもので GRUBメニューの解像度が 640x480 に固定されていて変更できないためです。
このままですと自動的にスケールダウンしてくれないのでメニューが切れてしまいます。そこでオリジナルのソースコードを VitualBox の解像度でも収まるように theme.txt ファイルを編集しました。
テーマの構造は 1つのフォルダーの中に装飾のパーツとなる画像ファイル、フォントファイル、そしてこれらを組み合わせて X - Y座標上に配置するための設計図となる theme.txt ファイルから成っています。
その theme.txt のパスを /etc /default /grub ファイルに記述して呼び出すようになっています。
GRUB の設定
先ずは GNOME - LOOK.ORG からテーマをダウンロードして解凍したフォルダーを置くディレクトリを作成しコピーします。
GNOME Terminal :
$ sudo mkdir /boot/grub/themes/
$ sudo cp -R /home/ユーザー名/ダウンロード/Standby /boot/grub/themes/Standby
次に GRUB の設定ファイル /etc /default /grub を開いて
$ sudo nano /etc/default/grub
次のコードを追記して保存します。
GNU nano editor :
GRUB_THEME="/boot/grub/themes/Standby/theme.txt"
そして
$ sudo update-grub
を実行して画像が読み込まれたことを確認します。
PCを再起動して表示されれば 設定完了↑ です。
GRUB 起動時のビープ音の設定
GRUBメニューが表示される前にパソコン内蔵のビープ音でメロディアスな楽曲を鳴らす設定です。マザーボードに直接繋ぐスピーカーが必要です。
実機の Ubuntu 18.04 LTS の /etc /default /grub に次のコードを記述し、試してみました。
GNU nano editor :
GRUB_INIT_TUNE="400 900 2 1000 2 800 2 400 2 600 3"
" tempo(1分あたりの拍数)- 400 [freq - 900、duration - 2] [freq、duration ] [freq、duration ]・・・ "
この意味不明な数字の羅列でメロディーを構成しているのですが、これではなんの曲かも分かりませんね。実はこのコードを再生してくれる便利な GRUB_INIT_TUNE tester なるものが公開されています。
この曲は「未知との遭遇のテーマ」で、再生時間は 1.65秒です。そしてこの数字の意味は
“
- tempo is the base for all note durations in beats per minute (60 gives a 1-second base, 120 gives a half-second base, etc.)
- freq is the frequency (in hertz) of the sound (set 0 to produce a rest)
- duration is the duration of the sound in a 4/4 bar (meaning 1 is a quarter of a bar and 4 a full bar)
【訳】
- tempo は、1分あたりの拍数で表したすべての音符の長さのベースです(60は1秒のベース、120は0.5秒のベースなど)
- freq は音の周波数(ヘルツ単位)です(休符を生成するには0に設定します)
- duration は4/4小節の音の持続時間です(1は小節の4分の1、4は小節全体を意味します)
”
です。曲が流れている間、メニューは表示されずブートプロセスは一時停止します。
この機能の目的はよく分かりませんが、こういう事もできますよ的なことですかね。