|
本帖最后由 liuzhaoyzz 于 2022-3-16 10:46 编辑
loopback启动菜单最下面一行的提示,因为默认没有加载字库,导致出现乱码现象,这怎么解决?
硬盘里面grub2的菜单/boot/grub.cfg相关内容如下:
set default=1
set fallback=1
set timeout=3
set pager=20
set grub_draw_border=1
#设定菜单字体及背景颜色
set menu_color_normal=white/black
set menu_color_highlight=white/blue
#插入动态模块:保存在$prefix/boot/grub2/i386-pc中
insmod vga
insmod vbe
insmod font
insmod gfxterm
insmod terminal
insmod linux
insmod linux16
insmod iso9660
insmod udf
insmod help
insmod echo
insmod ls
insmod cat
insmod chain
insmod configfile
insmod reboot
insmod halt
insmod gzio
insmod xzio
insmod tar
insmod loopback
insmod part_gpt
insmod regexp
insmod wimboot
insmod ntboot
insmod probe
insmod partnew
insmod test
insmod newc
insmod memdisk
insmod ntldr
set locale_dir=/boot/grub2/locale
set lang=zh_CN
loadfont /boot/grub2/fonts/unicode.pf2
set gfxterm_font=unicode
#set gfxmode=auto,800x600,1024x768
set gfxmode=1024x768,800x600,auto
set gfxpayload=keep
terminal_output gfxterm
menuentry "/linux/veket/v22.a-2022.02.02/veket_22.a.iso-loopback.cfg" "/linux/veket/v22.a-2022.02.02/veket_22.a.iso" {
terminal_output console
search --no-floppy --set --file $2
export iso_path=$2;loopback -d loop;loopback loop $2
set root=loop
configfile (loop)/boot/grub/loopback.cfg
}
上面的主菜单已经加载了字体loadfont /boot/grub2/fonts/unicode.pf2,但是进入loopback启动项之后,会加载iso里面的\grub\loopback.cfg菜单,iso里面的\grub\loopback.cfg内容如下:
loadfont /boot/grub/font.pf2
color_normal=cyan/black
#menu_color_highlight=black/light-gray
menu_color_highlight=yellow/red
menu_color_normal=light-gray/black
menuentry "veket 22.a" {
linux /vmlinuz pfix=fsck pmedia=cd find_iso=${iso_path}
initrd /initrd.gz
}
menuentry "veket 22.a - Copy SFS files to RAM" {
linux /vmlinuz pfix=copy,fsck pmedia=cd find_iso=${iso_path}
initrd /initrd.gz
}
menuentry "veket 22.a - Don't copy SFS files to RAM" {
linux /vmlinuz pfix=nocopy,fsck pmedia=cd find_iso=${iso_path}
initrd /initrd.gz
}
menuentry "veket 22.a - RAM only" {
linux /vmlinuz pfix=ram,fsck pmedia=cd find_iso=${iso_path}
initrd /initrd.gz
}
menuentry "veket 22.a - No X" {
linux /vmlinuz pfix=nox,fsck pmedia=cd find_iso=${iso_path}
initrd /initrd.gz
}
menuentry "veket 22.a - No KMS (Kernel modesetting)" {
linux /vmlinuz nomodeset pfix=fsck pmedia=cd find_iso=${iso_path}
initrd /initrd.gz
}
menuentry "veket 22.a - Ram Disk SHell" {
linux /vmlinuz pfix=rdsh pmedia=cd find_iso=${iso_path}
initrd /initrd.gz
}
menuentry "Shutdown" {
halt
}
menuentry "Reboot" {
reboot
}
第一行的loadfont /boot/grub/font.pf2,这是个英文字体,不是中文字体,因而显示这个\grub\loopback.cfg菜单二级菜单,左下角会出现乱码现象,如果font.pf2改成unicode.pf2字体,应该可以显示中文。但是问题是iso里面的\grub\loopback.cfg以及他所加载的字体是在iso中,而iso不受我的控制,所以我希望grub2左下角的提示能改成英文字符,而不是用中文字符提示,因为这不是个案,debian,ubuntu之类的可能也存在类似的现象,这个乱码提示虽然不影响启动,但是总觉得不美。
左下角这个提示能否改成英文?是不是需要重新编译grub2?还是有个我不知道的参数可以设置?
|
|