起動可能なフラッシュドライブにgrubの背景イメージを手動でインストールしようとしています。ドライブはISOからのみ起動し、OSがインストールされていないため、スクリプトを利用してupdate-grub
これを行うことはできず、/etc/default/grub編集に関する投稿が私の場合には適用されません。私は見たGRUBに背景画像を追加するには?しかし、私が言及した理由ではうまくいきません。すべてのISOを正常に起動しましたが、まだ背景画像の適用に問題があります。これは私のgrub.cfgの関連部分であり、残りはすべてうまく機能するメニュー項目です(テキストモードに置き換えます)。
set timeout=10
set default=0
set root=(hd0,msdos1)
### BEGIN background setup ###
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
load_video
insmod gfxterm
insmod part_msdos
insmod png
GRUB_TERMINAL=gfxterm
GRUB_GFXMODE=auto
GRUB_BACKGROUND="splash.png"
### END background setup ###
背景画像は、GRUB 2.02 Beta2を使用する640x480 PNGファイルです(GIMPを使用してサイズ変更しました)。
さらなる研究によると、この部分は次のとおりです。
GRUB_TERMINAL=gfxterm
GRUB_GFXMODE=auto
GRUB_BACKGROUND="splash.png"
更新スクリプトで使用されている変数を使用すると、これらの変数は/etc/default/grubに属し、grub.cfgにそのように表示されないため、この行は少なくとも間違っていると確信しています。
編集:少し調整しましたが、まだ満足していません。これはペーストビン関連セクション(関連のないメニュー項目はテキストモードでうまく機能し、問題にならないので除外しました。)
ベストアンサー1
grub.cfg
メニューの前に次の行を追加する必要があります。これはカスタマイズされており、使用しないため、update-grub
問題はありません。
background_image /boot/Your_image.png
これで、ディストリビューションに異なる背景を提供するには、その行をメニューに追加するだけです。たとえば、これは私のメニューが始まる部分です。ご覧のとおり、メニューの前にデフォルトの背景があるため、grubの起動時に背景があり、その後に各メニュー/サブメニューに独自の背景があります。
background_image /boot/SolusOS-splash.png
set color_normal=white/black
set color_highlight=black/white
submenu "Debian 8.1 -->"{
submenu "Debian 8.1 i386 -->"{
background_image /boot/DebianLava-splash.png
set iso=/boot/ISOs/debian-live-8.1.0-i386-gnome-desktop.iso
....
編集:私の検索パスエントリは次のとおりです。 (uuidは私のUSBのIDです。)これが問題であるかどうかはわかりません。
set boot_uuid=D042-8A53
set root_uuid=D042-8A53
search --fs-uuid $root_uuid --set=root
search --fs-uuid $boot_uuid --set=grub_boot
if [ $boot_uuid == $root_uuid ]
then
set grub_boot=($grub_boot)/boot
else
set grub_boot=($grub_boot)
fi