无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 65699|回复: 161
打印 上一主题 下一主题

[分享] Grub2主题应用

    [复制链接]
跳转到指定楼层
1#
发表于 2020-5-14 15:53:43 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 hilsonma 于 2021-2-15 21:36 编辑

我们可以使用grub2主题来自定义grub2菜单的布局和外观。

下图是没有使用主题的菜单:

整个菜单布局分为菜单标题、菜单框、按键说明、倒计时四个部份。
其中倒计时这一项如果grub.cfg中没有设定timeout变量为正数是不会出现的。

下图是使用了我的主题的菜单:

这是简化了的主题,方便讲解。

附件是主题包简化版。
elegant.7z (60.53 KB, 下载次数: 346)

主题包的使用方法:
1.到grub.cfg所在文件夹里建一个名为themes的子文件夹
2.将主题包(elegant文件夹)解压到themes文件夹
3.在配置文件grub.cfg里定义菜单之前添加以下设定
  1. terminal_output gfxterm
  2. loadfont unicode
  3. theme=elegant/theme.txt
复制代码

4.定制efi文件时需包含gfxterm efi_gop efi_uga jpeg png 这五个模块


解说一下grub.cfg里的相关设定:

terminal_output gfxterm 是使用图形模式显示,如果没有这一句就默认使用文本模式显示,设置的主题不起作用。

loadfont unicode 是加载unicode字体。字体文件位置默认$prefix/fonts, 这一句写全路径即
loadfont $prefix/fonts/unicode.pf2
        如果字体文件在其他位置需指定全路径如 (hd0,0)/fontdir/font.pf2
        图形模式下如果没有这一句,非ASCII文字就会显示成ASCII文字,即乱码。

theme=elegant/theme.txt 是使用elegant主题。主题文件位置默认$prefix/themes,这一句写全路径即
theme=$prefix/themes/elegant/theme.txt
        如果主题文件在其他位置需指定全路径如 (hd0,0)/themedir/theme.txt

主题文件其实可以直接放在themes文件夹,就一个txt文件,可以随便命名如beautiful.txt等,当主题文件中使用了图片时,图片文件默认位置就是主题文件所在文件夹。
为了方便制作和交流主题包,我们通常将主题文件和相关图片放在一个子文件夹中。

2楼 主题文件解读
3楼 悬浮菜单、菜单微调、图标的使用
4楼 倒计时 (倒数秒、进度条、进度环)
5楼 按键说明
6楼 滚动条及完整主题包
7楼 仿windows主题 (vbox组件应用)
8楼 带工具栏主题 (hbox组件应用)
9楼 动画主题

49楼 label增强

评分

参与人数 14无忧币 +71 收起 理由
shan + 5 很给力!
猫咪爱吃鱼 + 1 赞一个!
cuicongyuan + 5 很给力!
AndyChen + 5 很给力!
夕阳DIY + 5 很给力!
wuxin9712 + 5
yynq + 5 很给力!
wdtx + 5 赞一个!
2011cwj6958 + 5 很给力!
ksafei + 5 很给力!
秋月云开 + 5
某些人 + 5 赞一个!
wintoflash + 5 赞一个!
liuzhaoyzz + 10 很给力!

查看全部评分

132#
发表于 2025-4-21 15:22:53 | 只看该作者
谢谢
回复

使用道具 举报

131#
发表于 2025-4-19 20:56:59 | 只看该作者
wintoflash 发表于 2025-4-19 16:16
https://github.com/a1ive/grub2-filemanager/issues/258#issuecomment-687052646

太激动了,我以为大大不理会这个东西了
回复

使用道具 举报

130#
发表于 2025-4-19 16:16:23 | 只看该作者
book11ba 发表于 2025-4-16 19:38
H大大好。看您很熟悉grubfm,我目前收集的grubfm都是封装的efi或ISO,没法配置开始菜单和主题。有没有可 ...

https://github.com/a1ive/grub2-f ... uecomment-687052646
回复

使用道具 举报

129#
发表于 2025-4-19 11:20:43 | 只看该作者
这种结合示例的分享好。
回复

使用道具 举报

128#
发表于 2025-4-16 20:43:31 | 只看该作者
hilsonma 发表于 2025-4-16 20:21
没有。你可以尝试问一下作者 wintoflash .

谢谢您的回复,有点不敢问哈
回复

使用道具 举报

127#
 楼主| 发表于 2025-4-16 20:21:34 | 只看该作者
book11ba 发表于 2025-4-16 19:38
H大大好。看您很熟悉grubfm,我目前收集的grubfm都是封装的efi或ISO,没法配置开始菜单和主题。有没有可 ...

没有。你可以尝试问一下作者 wintoflash .
回复

使用道具 举报

126#
发表于 2025-4-16 19:38:23 | 只看该作者
hilsonma 发表于 2020-5-14 15:55
带工具栏主题

一些软件中,在屏幕上方,菜单栏下面,有一行或几行图标,叫工具栏。

H大大好。看您很熟悉grubfm,我目前收集的grubfm都是封装的efi或ISO,没法配置开始菜单和主题。有没有可以配置启动菜单和主题的版本,类似grub4dos那种,通过menu.lst配置。我也不会编译源码。

点评

https://github.com/a1ive/grub2-filemanager/issues/258#issuecomment-687052646  详情 回复 发表于 2025-4-19 16:16
没有。你可以尝试问一下作者 wintoflash .  详情 回复 发表于 2025-4-16 20:21
回复

使用道具 举报

125#
发表于 2025-4-16 12:56:37 | 只看该作者
我是颜值党,这个对我胃口。
回复

使用道具 举报

124#
发表于 2025-4-16 02:00:16 | 只看该作者
谢谢
回复

使用道具 举报

123#
发表于 2025-4-9 22:15:43 | 只看该作者
ventoy也是兼容grub2主题
回复

使用道具 举报

122#
发表于 2025-4-9 22:12:16 | 只看该作者

感谢分享
回复

使用道具 举报

121#
发表于 2025-4-9 22:00:27 | 只看该作者
感谢太强大 了啊
回复

使用道具 举报

120#
发表于 2025-3-28 14:49:02 | 只看该作者
感谢太强大 了啊
回复

使用道具 举报

119#
 楼主| 发表于 2025-3-28 09:32:02 | 只看该作者
wintoflash 发表于 2025-3-28 06:47
不同版本grub下是不一样的。
我的grub分支可以通过变量grub_draw_border来设置是否显示文本框。
官方gr ...

哦。我还以为是grub通用的呢。
回复

使用道具 举报

118#
发表于 2025-3-28 06:47:39 | 只看该作者
hilsonma 发表于 2025-3-28 06:30
你指的是49楼第二个图的文本框吧,是grub自带的,用文本字符组成的框.
可以用color border=0 来让它与背 ...

不同版本grub下是不一样的。
我的grub分支可以通过变量grub_draw_border来设置是否显示文本框。
官方grub是有文本框的。
RedHat等一部分发行版的grub是没有文本框的

点评

哦。我还以为是grub通用的呢。  详情 回复 发表于 2025-3-28 09:32
回复

使用道具 举报

117#
 楼主| 发表于 2025-3-28 06:30:42 | 只看该作者
本帖最后由 hilsonma 于 2025-3-28 06:32 编辑
jpzsj 发表于 2025-3-27 23:20
请教个问题,文本模式下这个方框是怎么画上去的

你指的是49楼第二个图的文本框吧,是grub自带的,用文本字符组成的框.
可以用color border=0 来让它与背景同色从而达成不显示这个框的效果。

点评

不同版本grub下是不一样的。 我的grub分支可以通过变量grub_draw_border来设置是否显示文本框。 官方grub是有文本框的。 RedHat等一部分发行版的grub是没有文本框的  详情 回复 发表于 2025-3-28 06:47
回复

使用道具 举报

116#
发表于 2025-3-28 05:11:04 | 只看该作者
好的,又学到一招,谢谢
回复

使用道具 举报

115#
发表于 2025-3-28 05:05:12 | 只看该作者
jpzsj 发表于 2025-3-27 23:20
请教个问题,文本模式下这个方框是怎么画上去的

你用的是哪个版本的grub?
回复

使用道具 举报

114#
发表于 2025-3-27 23:20:33 | 只看该作者
wintoflash 发表于 2020-12-29 21:11
最近一段时间稍微增强了 label 组件的功能。
现在 label 组件可以动态地显示一些信息了。
1. 选中菜单项 ...

请教个问题,文本模式下这个方框是怎么画上去的

点评

你指的是49楼第二个图的文本框吧,是grub自带的,用文本字符组成的框. 可以用color border=0 来让它与背景同色从而不显示。  详情 回复 发表于 2025-3-28 06:30
你用的是哪个版本的grub?  详情 回复 发表于 2025-3-28 05:05
回复

使用道具 举报

113#
发表于 2025-3-27 23:17:49 | 只看该作者
谢谢,明白点了
回复

使用道具 举报

112#
发表于 2025-3-23 11:16:31 | 只看该作者
好的,又学到一招,谢谢H大。
回复

使用道具 举报

111#
 楼主| 发表于 2025-3-23 10:48:06 | 只看该作者
本帖最后由 hilsonma 于 2025-3-23 10:54 编辑
xzst110 发表于 2025-3-23 09:55
H大:如何按照图标的意思,把六个命令写完整,有空的话,帮忙写一下可以吗?让小白学习学习,谢谢!

就是把大括号里面的命令写成你自己的呀
比如想F6关机,那就是 hiddenentry "[F6]" --hotkey f6 {halt;}
跟menuentry 差不多的,只不过 menuentry 显示菜单项,hiddenentry 不显示菜单项所以一定要指定热键也就是 --hotkey 参数
回复

使用道具 举报

110#
发表于 2025-3-23 09:55:46 | 只看该作者


这排图标的功能我们可以使用热键来实现,在grub.cfg中菜单之后如下设置:
hiddenentry "[F1]" --hotkey f1 { command;... }
hiddenentry "[F2]" --hotkey f2 { command;... }

H大:如何按照图标的意思,把六个命令写完整,有空的话,帮忙写一下可以吗?让小白学习学习,谢谢!

点评

就是把大括号里面的命令写成你自己的呀 比如想F6关机,那就是 hiddenentry "[F6]" --hotkey f6 {halt;}  详情 回复 发表于 2025-3-23 10:48
回复

使用道具 举报

109#
发表于 2025-3-21 12:54:28 | 只看该作者
主题应该是win 的,你的菜单是 wim ,你再仔细核对


搞好了,感谢H大您的热心指导!
回复

使用道具 举报

108#
 楼主| 发表于 2025-3-21 12:06:58 | 只看该作者
xzst110 发表于 2025-3-21 09:21
谢谢H大,仔细检查了,主题就是theme.txt,字母没有搞错啊。菜单如上图。

主题应该是win 的,你的菜单是 wim ,你再仔细核对
回复

使用道具 举报

107#
发表于 2025-3-21 11:36:13 | 只看该作者
主题不是win/theme.txt吗?
菜单是不是手误了 wim/theme.txt ?
一个字母n 一个字母m
非常感谢H大为我们提供这么多的学习的素材和不厌其烦的对小白的热情指导。已经搞好了,感谢 !感谢!感谢!
回复

使用道具 举报

106#
发表于 2025-3-21 09:30:25 | 只看该作者
这个厉害啊
回复

使用道具 举报

105#
发表于 2025-3-21 09:21:57 | 只看该作者
谢谢H大,仔细检查了,主题就是theme.txt,字母没有搞错啊。菜单如上图。

点评

主题应该是win 的,你的菜单是 wim ,你再仔细核对  详情 回复 发表于 2025-3-21 12:06
回复

使用道具 举报

104#
 楼主| 发表于 2025-3-21 08:58:58 | 只看该作者
xzst110 发表于 2025-3-21 08:18
H大:我把wim主题包文件夹放到Desktop\123\build\boot\grub\themes里替换了原来的elegant文件夹,别的什么 ...

主题不是win/theme.txt吗?
菜单是不是手误了 wim/theme.txt ?
一个字母n 一个字母m
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-5-21 22:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表