Linuxの起動に使われているGRUBの背景画像は,通常,640×480ドット/14色に限られており,味気ない画像表示となっています。

ですが,Ubuntuの次期バージョン9.10(Karmic Koala)では,GRUB2という新しいGRUBが採用され,起動画面を美しく表示できるようになるそうです。

現在の最新バージョンUbuntu 9.04(Jaunty)でも,GRUB2を試してみることができるようなので,早速やってみました。

grub2-new
←GRUB2で表示した起動画面。1024x768ドット/32ビットフルカラーで,デスクトップの壁紙と同様,綺麗に表示されています。


・参照1:May the Source be with you
  (Japanese Teamのmizunoさんのブログ)
・参照2:Debian Wiki

GRUB2の導入

GRUB2をインストールするのは非常に簡単で,universeリポジトリに含まれているので,下記のコマンドを実行するだけです。

$ sudo apt-get install grub2

※ grub2-splashimagesというパッケージもありますが,現時点で画像は含まれていないようです。

GRUB2の設定

GRUB2の設定ファイルは,/boot/grub/grub.confというファイルですが,これを直接編集することはできません。このファイルは,/etc以下にある設定ファイルを書き換え,update-grub2というコマンドで自動生成されます。

STEP 1:/etc/default/grubの設定
$ sudo gedit /etc/default/grub

# タイムアウトの時間を設定します。
 GRUB_TIMEOUT=60
# ディストリ名を変更します
 GRUB_DISTRIBUTOR=Ubuntu
# カーネルに渡すオプションを指定します。
 GRUB_CMDLINE_LINUX="quiet splash locale=ja_JP"

STEP 2:画像の準備と保存
まず,Gimpなどを用いて背景に用いる画像を1024x768ドットのTGA形式に変換しておきます(以下,picture.tgaとします)。

作成した背景画像を,/boot/grub内に保存します。

$ sudo cp picture.tga /boot/grub

STEP 3:/etc/grub.d/00_headerの設定
$ sudo gedit /etc/grub.d/00_header

38行目と47行目にあるgfxmodeの行を1024x768に変更します。

set gfxmode=1024x768

STEP 4:/etc/grub.d/05_debian_themeの設定
$ sudo gedit /etc/grub.d/05_debian_theme

16行目の画像ファイルの名前を変更します。

for i in {/boot/grub,/usr/share/images/desktop-base}/picture.{png,tga} ; do

39行目と40行目を変更して,表示される文字色を指定します。

set color_normal=white/black
set color_highlight=light-red/black


dark-gray,light-blue,light-green,light-cyan,light-red,light-magenta,yellow,whiteの中から選べます。

STEP 5:update-grub2の実行
下記のコマンドで,設定を反映させます。

$ sudo update-grub2

以上で,設定は終了です。これで,通常のGRUBの起動画面から,
Chainload into GRUB 2
という項目を選択すると,GRUB2にchainloadされ,綺麗な起動画面が表示されるはずです。

Koalaではどんな背景画像が使われるのでしょうか?楽しみですね。