无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
12
返回列表 发新帖
楼主: hilsonma

[分享] Grub2主题应用

    [复制链接]
发表于 2020-5-28 18:54:36 | 显示全部楼层
支持!

点评

借贴接前话题反馈下,用grub2_0527(progress: disable by default)及以后新版本测试 slack、elegant两款主题实机启动后黑屏,如加enable_progress_indicator=1 则可显示画面但背景零乱。建议progress恢复以前默认  详情 回复 发表于 2020-6-2 02:44
回复

使用道具 举报

发表于 2020-5-29 09:47:21 | 显示全部楼层
挺好的一个东西,感谢分享
回复

使用道具 举报

 楼主| 发表于 2020-5-29 16:36:52 | 显示全部楼层
下载过slack.7z这个主题包的坛友请重新下载,原先打包漏了一个图片black_c.png
回复

使用道具 举报

发表于 2020-6-2 02:44:09 | 显示全部楼层

借贴接前话题反馈下,用grub2_0527(progress: disable by default)及以后新版本测试 slack、elegant两款主题实机启动后黑屏,如加enable_progress_indicator=1 则可显示画面但背景零乱。建议progress恢复以前默认设置,需要时加enable_progress_indicator=0即可

点评

不能重现。 应该是你的菜单不对。  详情 回复 发表于 2020-6-2 09:24
回复

使用道具 举报

发表于 2020-6-2 09:24:06 | 显示全部楼层
ksafei 发表于 2020-6-2 02:44
借贴接前话题反馈下,用grub2_0527(progress: disable by default)及以后新版本测试 slack、elegant两 ...

不能重现。
应该是你的菜单不对。

点评

菜单: set default=0 set fallback=2 set timeout=5 #enable_progress_indicator=0 cat --set=modlist ${prefix}/insmod.lst; set locale_dir=/boot/grub/locale set lang=zh_CN set gfxmode=1024x768,  详情 回复 发表于 2020-6-2 10:34
回复

使用道具 举报

发表于 2020-6-2 10:34:52 | 显示全部楼层
wintoflash 发表于 2020-6-2 09:24
不能重现。
应该是你的菜单不对。

菜单:
set default=0
set fallback=2
set timeout=5
#enable_progress_indicator=0

cat --set=modlist ${prefix}/insmod.lst;

set locale_dir=/boot/grub/locale
set lang=zh_CN
set gfxmode=1024x768,auto
terminal_output gfxterm
loadfont /boot/grub/fonts/unicode
theme=elegant/theme.txt

if [ "$grub_platform" = "efi" ]; then
    efi_connect_all
menuentry "Windows" "/efi/microsoft/boot/bootmgfw.efi" --class windows --hotkey=0  {
        search --no-floppy --set --file $2
        chainloader $2
}

...

fi;

注:1.enable_progress_indicator=0  时grub2_0526正常;
      2.grub2引导有加绕过安全启动
麻烦看下是哪里的问题,谢谢!

点评

把 efi_connect_all 这一行注释掉试试  详情 回复 发表于 2020-6-2 13:53
回复

使用道具 举报

 楼主| 发表于 2020-6-2 13:53:53 | 显示全部楼层
本帖最后由 hilsonma 于 2020-6-2 14:11 编辑
ksafei 发表于 2020-6-2 10:34
菜单:
set default=0
set fallback=2

把cat --set=modlist ${prefix}/insmod.lst; 和 efi_connect_all 这两行注释掉试试

不过在我的电脑上这两行有没有都不会出问题,不明白你是什么情况

点评

注释掉还是不行 确实有点奇怪,同样的命令grub2_0526版本可以,换了新版就不行 你用新版正常,看来可能是我生成grub2及U盘或电脑的问题  详情 回复 发表于 2020-6-2 15:15
回复

使用道具 举报

发表于 2020-6-2 15:15:49 | 显示全部楼层
本帖最后由 ksafei 于 2020-6-2 15:21 编辑
hilsonma 发表于 2020-6-2 13:53
把cat --set=modlist ${prefix}/insmod.lst; 和 efi_connect_all 这两行注释掉试试

不过在我的电脑上 ...

注释掉还是不行
确实有点奇怪,同样的菜单配置grub2_0526版本可以,换了新版就不行(启动到界面时能看到明暗闪几下,但界面是黑屏,如按回车也会执行默认的菜单命令)
你用新版正常,看来可能是我生成grub2及U盘或电脑的问题

点评

在 set gfxmode 前随便往屏幕上输出点什么东西试试, 比如 echo abcdefg  详情 回复 发表于 2020-6-2 16:27
回复

使用道具 举报

发表于 2020-6-2 16:27:14 | 显示全部楼层
ksafei 发表于 2020-6-2 15:15
注释掉还是不行
确实有点奇怪,同样的菜单配置grub2_0526版本可以,换了新版就不行(启动到界面时能看到 ...

在 set gfxmode 前随便往屏幕上输出点什么东西试试,
比如 echo abcdefg

点评

折腾了一下午,刚找到原因了,原来新版要求引导配置文件编码必须为UTF-8-ROM,0526版以前要求UTF-8兼容UTF-8-ROM。 现在把文件编码改为UTF-8-ROM显示正常了  详情 回复 发表于 2020-6-2 16:35
回复

使用道具 举报

发表于 2020-6-2 16:35:05 | 显示全部楼层
wintoflash 发表于 2020-6-2 16:27
在 set gfxmode 前随便往屏幕上输出点什么东西试试,
比如 echo abcdefg

折腾了一下午,刚找到原因了,原来新版要求引导配置文件编码必须为UTF-8-ROM,0526版以前要求UTF-8兼容UTF-8-ROM。
现在把文件编码改为UTF-8-ROM显示正常了
回复

使用道具 举报

发表于 2020-6-2 17:28:50 | 显示全部楼层
感谢您提供全面的教程。 我将尝试将其翻译成英文。
我已经有关于主题的俄语文章

点评

谢谢。 我是懒得再写一遍英文了。 相关表达可以参看官方文档 和 这篇wiki动画组件我用的是wintoflash版本的,详细说明看他的文档。  详情 回复 发表于 2020-6-3 19:41
回复

使用道具 举报

 楼主| 发表于 2020-6-3 19:41:38 | 显示全部楼层
本帖最后由 hilsonma 于 2020-6-3 19:45 编辑
Blan77 发表于 2020-6-2 17:28
感谢您提供全面的教程。 我将尝试将其翻译成英文。
我已经有关于主题的俄语文章

谢谢。
我是懒得再写一遍英文了。

相关表达可以参看官方文档这篇wiki
动画组件我用的是wintoflash版本的,详细说明看他的文档
回复

使用道具 举报

发表于 2020-6-11 15:33:14 | 显示全部楼层
支持原创教程易懂,增加了grub2知识,谢谢分享
回复

使用道具 举报

发表于 2020-10-7 17:28:12 | 显示全部楼层
mark一下,学到了
回复

使用道具 举报

发表于 2020-10-9 22:55:25 | 显示全部楼层
学习了,感谢谢楼主,
回复

使用道具 举报

发表于 2020-10-11 11:51:54 | 显示全部楼层
那个vontoy好像是使用grub启动的,
但是没看懂MBR是怎么启动的
回复

使用道具 举报

发表于 2020-12-14 13:35:04 | 显示全部楼层
受教了,感谢楼主
回复

使用道具 举报

发表于 2020-12-16 17:04:11 | 显示全部楼层
感谢楼主
回复

使用道具 举报

发表于 2020-12-29 21:11:34 | 显示全部楼层
本帖最后由 wintoflash 于 2021-1-22 14:07 编辑

最近一段时间稍微增强了 label 组件的功能。
现在 label 组件可以动态地显示一些信息了。
1. 选中菜单项的帮助信息
菜单项的帮助信息用 "--help-msg" 设置。例如
  1. menuentry "test menu“ --class=win --help-msg="Boot Windows PE" {...}
复制代码

在主题中,使用 id = "__help__" 来指定显示帮助信息
  1. + label {id = "__help__" color = "#fff"}
复制代码

图像模式下的效果:
深度截图_选择区域_20201229210902.png
文本模式下的效果:
深度截图_选择区域_20201229210714.png

2. 选中菜单项的标题 (可能没什么用)
在主题中,使用 id = "__title__" 来指定显示帮助信息
  1. + label {id = "__title__" color = "#fff"}
复制代码

深度截图_选择区域_20201229211426.png

3. 显示变量 (不随变量值的改变而改变)
在主题中,使用 text = "@@变量名" 来显示变量的值。
注意,即使变量的值改变了也不会刷新显示。
  1. + label {text = "@@gfxmode" color = "#ffffff"}
复制代码


4. 显示变量 (随变量值的改变而改变)
在主题中,使用 var = "变量名" 来显示。
  1. + label {var = "SECOND" color = "#ffffff"}
复制代码


5. 显示变量 (自动执行命令以刷新变量的值)
在主题中,使用 var = "变量名" 来设置要显示的变量名,用 hook = "简单命令" 来设置刷新命令。
这个命令每秒执行一次,以动态修改变量的值。注意,只支持简单的单句命令,复杂的 if for while function 都不支持。
示例1: 显示当前时间 (每秒刷新)
  1. + label {var = "var_time" hook = "date --human --set=var_time" color = "#ffffff"}
复制代码

示例2: 显示当前 CPU 温度 (只支持较新的 Intel CPU,需加载 cpuid 模块)
  1. + label {var = "cpu_temp" hook = "cputemp cpu_temp" color = "#ffffff"}
复制代码

103091371-ec30e780-462e-11eb-8158-d15be7c99556.gif

评分

参与人数 1无忧币 +5 收起 理由
hilsonma + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2021-1-7 18:03:22 | 显示全部楼层
是个好东西
回复

使用道具 举报

发表于 2021-2-7 22:03:34 | 显示全部楼层
谢谢分享,认真的看了几遍
回复

使用道具 举报

发表于 2021-2-15 17:01:04 | 显示全部楼层
我的中文菜单的中文不能正常显示,请问怎么设置

点评

检查grub.cfg是不是以utf-8编码保存  详情 回复 发表于 2021-2-15 21:00
回复

使用道具 举报

 楼主| 发表于 2021-2-15 21:00:11 | 显示全部楼层
AndyChen 发表于 2021-2-15 17:01
我的中文菜单的中文不能正常显示,请问怎么设置

检查grub.cfg是不是以utf-8编码保存

菜单可直接使用中文,实机是可以正常显示的。
但虚拟机可能需要使用图形模式才能正常显示。

要使用图形模式,要以下三条:
1. grubx64.efi需包含gfxterm efi_gop efi_uga 这三个模块
2. grub.cfg中加上这两句:
    terminal_output gfxterm
    loadfont unicode
3. unicode.pf2 字体文件放在$prefix/fonts 中

    如果字体文件不是$prefix/fonts/unicode.pf2 ,就按实际字体路径修改grub.cfg中加载字体这句
    loadfont /mydir/myfont.pf2
    如果字体文件不是跟grub.cfg同一个分区,还需要先确定字体所在分区再加载
    search -s -f /mydir/myfont.pf2
    loadfont /mydir/myfont.pf2

评分

参与人数 1无忧币 +5 收起 理由
AndyChen + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2021-2-15 21:13:50 | 显示全部楼层
本帖最后由 AndyChen 于 2021-2-15 21:17 编辑

发现了一个问题,设置好后,启动正常,关机后,重启,选择了菜单,就卡住了。。。,解决办法就是进入BIOS,把开机启动设置为Disbled,后就自动进入一个系统。再重启进入BIOS后设置为 Windows Boot Manager启动,进入菜单,选择后,就能进入系统,但是试了几次关机后,再启动,都出现同样的问题,不知道是不是我自己电脑的问题。

点评

看不懂你的描述,最好上图。 另外,本贴是讨论grub2主题的,如果不是与主题相关的问题应该到相应的贴子提问或者开新贴。  详情 回复 发表于 2021-2-15 21:22
回复

使用道具 举报

 楼主| 发表于 2021-2-15 21:22:24 | 显示全部楼层
AndyChen 发表于 2021-2-15 21:13
发现了一个问题,设置好后,启动正常,关机后,重启,选择了菜单,就卡住了。。。,解决办法就是进入BIOS, ...

看不懂你的描述,最好上图。

另外,本贴是讨论grub2主题的,如果不是与主题相关的问题应该到相应的贴子提问或者开新贴。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2021-3-3 10:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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