my9823 发表于 2013-5-13 12:54:43

关于grub2显示中文菜单!

以下内容转自archlinux的wiki


首先要有pf2字体, 下边的loadfont 后路径写对,如果没有可以使用linux中的grub包中的grub-mkfont命令,
使用方法:
grub-mkfont -s 16 -o unicode.pf2 simsun.ttc
simsun.ttc可以是其他支持中文的字体,比如雅黑,文泉驿等……

bios平台的:

insmod vbe
insmod font
if loadfont /boot/fonts/unicode.pf2
then
    insmod gfxterm
    set gfxmode=auto
    set gfxpayload=keep
    terminal_output gfxterm
fi


UEFI平台的:

insmod efi_gop
insmod efi_uga
insmod font
if loadfont /boot/fonts/unicode.pf2
then
    insmod gfxterm
    set gfxmode=auto
    set gfxpayload=keep
    terminal_output gfxterm
fi

花有百样红 发表于 2013-7-9 10:28:01

Cracada 发表于 2013-5-19 16:42:41

GRUB2确实强大,实用性和相关支持如果能达到现在GRUB4DOS的程度基本上就可以横扫了

my9823 发表于 2013-5-13 12:57:09

至于那些img和ima软盘镜像和iso镜像,可以使用syslinux中的memdisk来启动!
比如maxdos9,dos菜鸟老大的工具箱啊,chenall大大的ntboot的iso啊…………

my9823 发表于 2013-5-13 12:55:11

上边只是个开头,下边就可以写菜单了!

2010hd2046 发表于 2013-8-21 10:13:26

谢谢楼主的分享。学习了。

wuyouhou 发表于 2014-4-4 20:32:54

正需要,原来EFI是这样做的,害得我好苦。谢谢楼主了。

666666 发表于 2014-4-7 11:03:11

最近也在学习GRUB2

wuyouhou 发表于 2014-4-25 06:48:37


insmod all_video
insmod video_bochs
insmod video_cirrus
insmod gfxterm
insmod gfxmenu
insmod gettext
set pager=1
insmod jpeg
insmod png
#rmmod png; #卸载png模块
#set background=${prefix}/bluechoth.png
background_image ${prefix}/bluechoth.jpg
#不是自动显示模式时图片分辨率相同是佳
#风格让启动界面更显人趣_不好弄_放弃
#set theme=${prefix}/theme2/wuyou/theme.txt
#export theme
#无风格文件即放弃但每事提示风格文件找不到
#使用显示率和颜色面两设置比用风格好多多哟

###bios和efi显示模式###
insmod vbe; #bios引导适用
insmod vga; #bios引导适用
insmod efi_gop #efi引导适用
insmod efi_uga #efi引导适用
insmod font
#此处4个1f只许用一个或全闭重新编辑一个
#if loadfont ${prefix}/unicode.pf2; #依实选用
#if loadfont ${prefix}/Bin/unicode.pf2; #依实选用
if loadfont ${prefix}/fonts/unicode.pf2; #依实选用
#if loadfont ${prefix}/Config/unicode.pf2; #依实选用
#原制包作者安置的字体与其路径当保留可能内部引用
then
insmod gfxterm
#set gfxmode=auto
set gfxmode="1024x768";
#set gfxpayload=keep; ##则默认
#set gfxpayload="1024x768";
export gfxmode; #有人没有这句
export gfxpayload; #我模仿上句
if terminal_output gfxterm; then
    set locale_dir=${prefix}/locale;
    set lang=zh_CN;
    export lang;
fi;
fi;
#gfxmode菜单页面分辨率设置
#gfxpayload控制台分辨率设置
#1024x768x32是1024x768分辨率32位色深
#有8位16位24位32位等色深可现颜色数量

###设置菜单选项###
#gray不存在_但有亮灰和暗灰
set color_normal=green/yellow
#主菜单页面的框口的外围的字色的背景色
#c键控制台页面和e键编辑页面的字迹色与背景
#submenu子菜单里菜项未选的字色和背景色
#子菜单页面的框口的框线色框外色不存在框背景
set color_highlight=magenta/white
#submenu子菜单里菜项选中的字色和横条色
set menu_color_normal=yellow/cyan
#set menu_color_normal=yellow/dark-gray
#set menu_color_normal=yellow/light-gray
#主菜单里菜项未选的字色和主菜单窗口背景色
#主菜单页面e键编辑页面的框口的框线与背景
set menu_color_highlight=magenta/light-cyan
#主菜单里菜项选中的字色和横条色_横条衬托字迹
export menu_color_normal menu_color_highlight;
#ubuntu_11.04已经发生变化_不作默认的选项_你自己添
#black黑色透明_作背景色_就显示出我们加载的背景图片

#实机测试结果是设定成1024x768屏幕就达成最佳视觉效果

set default="〖x〗 halt shutdown 关机 关闭计算机 关器";
#用标题名就灵活了_不要改标题哟
#防止无人 默认末尾菜项关器
#set fallback=33; #也可用标题
#菜项失败就算啦没有事就停
set timeout=59;
#等候够久了默认菜项也会着急

wuyouhou 发表于 2014-4-25 07:04:23

menuentry "〖r〗 reboot 重启 重新启动电脑机器" --hotkey="r" {
echo -e "\n\n\n\n\n\n\n\a";
echo "将从开机键重新启动,不从急救键启动机器!";
echo "你真的需要重新启动电脑吗?";
echo "key input bb two letters and press enter,other are cancel !";
echo "请键入 bb 两字并按enter回车键确认,其它输入皆取消!";
insmod read; #read模块一般会已经存在
read isrb;
#if test ${isrb} = "bb"; then
if test "${isrb}" = "bb"; then
unset isrb;
reboot;
else
unset isrb;
echo "    go back home 取消重启,返回菜单!按Esc键唤醒";
sleep --verbose --interruptible 9; #唯Esc键能唤醒
#sleep --verbose --interruptible 999; #999秒之久!
fi;
#麻烦 搞复杂了,不应该呀,也没有意义啊。共fi行谬
}
#开机键和急救键_重启时没有选控_设立选择以提示解惑_终

#头部己用标题名作默认启动项_不要改标题哟_关机总是最末菜项好看
menuentry "〖x〗 halt shutdown 关机 关闭计算机 关器" --hotkey="x" {
halt; #启动电脑就弃管超时也会自动关机关器。
}
#关机,一切都停下来,就安全了。积极关机!注释与{}共用一行就错
#头部己用标题名作默认启动项_不要改标题哟_关机总是最末菜项好看
#本菜单后5项_特别是后3项_总保留在末尾_以方便使用_及保持较好的心理和视觉效果
#实机测试结果是设定成1024x768屏幕就达成最佳视觉效果,已在头部处作相应的设置

change_sh 发表于 2014-6-27 11:11:50

谢谢楼主的分享。学习了。

wangziqiang 发表于 2019-12-29 23:23:11

好东西,谢谢了

johnyou 发表于 2020-4-18 21:24:39

非常感谢,学习中!

tlzsw 发表于 2021-2-12 23:25:06

学习了
页: [1]
查看完整版本: 关于grub2显示中文菜单!