我正在尝试在可引导闪存驱动器上手动安装 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 ###
Run Code Online (Sandbox Code Playgroud)
背景图像是一个 640x480 的 PNG 文件(我用 gimp 缩放到大小)使用 GRUB 2.02 Beta2
进一步的研究表明,这部分:
GRUB_TERMINAL=gfxterm
GRUB_GFXMODE=auto
GRUB_BACKGROUND="splash.png"
Run Code Online (Sandbox Code Playgroud)
使用更新脚本使用的变量,属于 /etc/default/grub 并且不会以这种方式出现在 grub.cfg 中,所以我确定这些行至少是错误的。
编辑:我做了一些调整,但仍然没有快乐。这是相关部分的粘贴箱(我排除了不相关的菜单项,因为它们在文本模式下工作正常,不是问题)
您需要将下一行添加到grub.cfg
菜单之前。由于它是定制的并且您不会使用,因此update-grub
应该不会有任何问题:
background_image /boot/Your_image.png
Run Code Online (Sandbox Code Playgroud)
现在,如果您想为您的发行版提供不同的背景,您只需在菜单中添加该行即可。例如,这是我的菜单开始的部分;正如你所看到的,我在菜单之前有一个默认背景,这样当 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
....
Run Code Online (Sandbox Code Playgroud)
编辑:这是我的搜索路径条目(注意 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10937 次 |
最近记录: |