|  | 
| 本帖最后由 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?还是有个我不知道的参数可以设置?
 
 
 
 | 
 |