Ubuntu 10.10を先日クリーンInstallした際に、GrubもGrub2に変更されていました。
標準では、"640x480"で綺麗とは言えない画面なので、これをせめて"1024x768"にしたいと思い、
あちこち参考にしながら、変更してみましたので、そのMemoです。
参考:
起動画面を美しく表示する方法《GRUB2》 via 独学Linux
(Ubuntu 9.10) Grub2の設定 via r271-635
さて、とは言え参考Siteの内容を見ていて思ったのは、
「設定パラメータ部分が分離されてないのは何故?」
と言う事を感じました。
なんかあるはず。
で、有りました。
GrubのBackgroundを設定するのに、"
/etc/grub.d/05_debian_theme"内で
"
WALLPAPER"という変数にfull pathで設定されています。
その、設定の前の行に"
/usr/share/desktop-base/grub_background.sh"が有れば、そのshell scriptを実行する様になっています。
# this allows desktop-base to override our settings
f=/usr/share/desktop-base/grub_background.sh
if test -e ${f} ; then
. ${f}
else
WALLPAPER="/usr/share/images/desktop-base/moreblue-orbit-grub.png"
COLOR_NORMAL="black/black"
COLOR_HIGHLIGHT="magenta/black"
fi
つまり、”少なくとも
/usr/share/desktop-base/grub_background.sh”に設定された
WALLPAPER,COLOR_NORMAL,COLOR_HIGHLIGHT は反映されるはず。
と言うことで、
/usr/share/desktop-base/grub_background.shを作ります。
(標準では、grub_background.shは有りません)
#!/bin/sh
WALLPAPER="/usr/share/images/grub/MyImage.png"
COLOR_NORMAL="white/black"
COLOR_HIGHLIGHT="light-green/black"
そして、この変更と同時に、Grubの画面解像度を変更しなければならないのですが、これに付いては、"/etc/grub.d/00_header"の変更しか判りませんでした。
# Do this as early as possible, since other commands might depend on it.
# (e.g. the `loadfont' command might need lvm or raid modules)
for i in ${GRUB_PRELOAD_MODULES} ; do
echo "insmod $i"
done
# User Added
GRUB_TIMEOUT=20
GRUB_GFXMODE=1024x768
# End User Added
if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi
if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi
if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=640x480 ; fi
ここでは、
GRUB_TIMEOUTの変更も行なっています。
この2つの変更で、Grubに背景画像が付くようになります。
因みに、"MyImage.png"を指定しているのは、/usr/share/images/grub"に表示したい画像を"MyImage.png"で入れておけば、設定ファイルを触る必要が無くなるためです。
以上。