Grub2

背景圖片手冊 grub.cfg

  • January 16, 2018

我正在嘗試在可啟動的快閃記憶體驅動器上手動安裝 grub 的背景圖像。由於該驅動器僅啟動 ISO 並且沒有安裝作業系統,因此我無法利用諸如為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 ###

背景圖像是 640x480 PNG 文件(我使用 gimp 縮放到大小)使用 GRUB 2.02 Beta2

進一步研究表明,這部分:

GRUB_TERMINAL=gfxterm
GRUB_GFXMODE=auto
GRUB_BACKGROUND="splash.png"

使用更新腳本使用的變數並且屬於 /etc/default/grub 並且不會以這種方式出現在 grub.cfg 中,所以我確定這些行至少是錯誤的。

編輯:我做了一些調整,但仍然沒有喜悅。這是相關部分的粘貼箱(我排除了不相關的菜單條目,因為它們在文本模式下工作正常並且不是問題)

您需要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

引用自:https://unix.stackexchange.com/questions/323749