无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 9036|回复: 13

[教程] 基于openSUSE的grub2的实用主题发布和订制美化教程

  [复制链接]
发表于 2014-6-1 01:22:51 | 显示全部楼层 |阅读模式
该主题本来分享给2011niumao少将,希望大神可以加入到vhd grub启动器中的,希望2011niumao少将可以采用,


现在分享出来希望对想美化grub2的同学有用。



1.该主题是修改自openSUSE linux的默认主题,

在openSUSE的基础上我又搜集了添加了很多其它系统的logo,可以说支持在菜单前显示绝大多数的linux系统的logo(开关机和部分少见的logo是我自己用PS画的)

如果没有你要的系统logo,你可以把png格式的logo放到grubefi\themes\ubuntu\icons文件夹,采用"系统名称.png",

如pcbsd的logo文件放进来,命名为“pcbsd.png”就可以支持pcbsd了,

为了支持niumao大神的vhd ubuntu1404我增加了一个vbuntu的分类,简单PS画了一个白色带有V字样的ubuntu的logo,

如果你想使用这个logo,在启动菜单使用“ --class vbuntu ”代替“ --class ubuntu ”即可。



2.主题有正常和密集俩个版本,

正常启动列表显示6个菜单项,多出6个的需要上下按键翻页显示,

密集列表一页显示12个菜单,如果你的菜单很多,要使用密集的列表只要把“grub.cfg”文件中的

set theme=${prefix}/themes/ubuntu/grub-theme.txt

改为

set theme=${prefix}/themes/ubuntu/grub-theme-small.txt

即可



3.默认读秒为25秒,主要是第一次使用时如果有错,时间太短很容易超时,来不及调整,

菜单调整没问题以后可以自行修改为想要的时长,在“grub.cfg”文件中找到

  set timeout=25

修改为
  set timeout=想要的时长



4.现有的bug,

少数启动项启动失败以后,会再次退回grub2时,此时按e编辑,编辑区域会跑回左上角,产生文字和背景交错现象。



5.有问题可在论坛联系
 楼主| 发表于 2014-6-1 02:10:48 | 显示全部楼层
在MBR分区的windows中使用 grub2 可以将解压出的 themes 文件夹复制到grub2目录,然后修改grub.cfg文件 不过这个我还没试过,

做法是:

将读秒的代码段前面插入
#-----------------william-themes------------
  set locale_dir=$prefix/locale
  set lang=zh_CN
  insmod gettext
fi
insmod gfxmenu
loadfont ($root)/grub/themes/vbuntu/DejaVuSans-Bold14.pf2
loadfont ($root)/grub/themes/vbuntu/DejaVuSans10.pf2
loadfont ($root)/grub/themes/vbuntu/DejaVuSans12.pf2
loadfont ($root)/grub/themes/vbuntu/ascii.pf2
insmod png
set theme=${prefix}/themes/vbuntu/grub-theme.txt
#________or_________
#set theme=${prefix}/themes/vbuntu/grub-theme-small.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=25
#-----------------william-themes------------

这里可以参看GPT-efi 的grub.cfg配置写法
示例grub.cfg文件

但我的电脑是GPT分区的,之前用着openSUSE,换了一次CPU导致SUSE总是莫名崩溃,现在是ubuntu,磁盘一直是GPT分区,所以这里的MBR部分我没法测试,谁用过的,如果题可以帮我修正一下。
回复

使用道具 举报

 楼主| 发表于 2014-6-1 01:45:42 | 显示全部楼层
ubuntu linux通用
主题包 链接

解压
将themes文件夹复制到 /boot/grub  目录内

以 root 身份 修改 /etc/grub.d  目录内的  00_header  文件,

找到 # Gettext variables and module 部分

在引用的代码中插入:
----------------------------------------------------------------
fi
insmod gfxmenu
loadfont (\$root)/boot/grub/themes/vbuntu/DejaVuSans-Bold14.pf2
loadfont (\$root)/boot/grub/themes/vbuntu/DejaVuSans10.pf2
loadfont (\$root)/boot/grub/themes/vbuntu/DejaVuSans12.pf2
loadfont (\$root)/boot/grub/themes/vbuntu/ascii.pf2
insmod png
set theme=(\$root)/boot/grub/themes/vbuntu/grub-theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=8
-------------------------------------------------------------------

如:
# Gettext variables and module
if [ "x${LANG}" != "xC" ] &&  [ "x${LANG}" != "x" ]; then
  cat << EOF
  set locale_dir=\$prefix/locale
  set lang=${grub_lang}
  insmod gettext
###
fi
insmod gfxmenu
loadfont (\$root)/boot/grub/themes/vbuntu/DejaVuSans-Bold14.pf2
loadfont (\$root)/boot/grub/themes/vbuntu/DejaVuSans10.pf2
loadfont (\$root)/boot/grub/themes/vbuntu/DejaVuSans12.pf2
loadfont (\$root)/boot/grub/themes/vbuntu/ascii.pf2
insmod png
set theme=(\$root)/boot/grub/themes/vbuntu/grub-theme.txt
export theme
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=8
###
EOF
fi

-----------------------------------------------------------------------------------
检查后就可以保存退出了

终端中执行:sudo update-grub 更新即可生效。
回复

使用道具 举报

 楼主| 发表于 2014-6-1 01:25:06 | 显示全部楼层
本帖最后由 William叔叔 于 2014-6-1 01:27 编辑

GPT-efi做好的启动器 http://pan.baidu.com/s/1mgp2L2g

实际效果

实际效果
回复

使用道具 举报

发表于 2014-6-6 19:41:41 | 显示全部楼层
Yeah. Load font. That I need.
回复

使用道具 举报

发表于 2014-6-27 11:10:16 | 显示全部楼层
收藏先
回复

使用道具 举报

发表于 2014-10-8 08:44:41 | 显示全部楼层
很漂亮的主题。感谢楼主的共享与支持。正在学习中
回复

使用道具 举报

发表于 2014-10-9 09:21:57 | 显示全部楼层
本帖最后由 2011niumao 于 2014-10-27 15:00 编辑

UBUNTU 下另一种安装William提供的主题的方法.四步
1. 下载楼主的文件。把themes解压复制到 /boot/grub/ 目录内。(一般是在变量prefix对应的目录)
===注意themes目录子目录文件名是images 与 ubuntu 。如果是 vbuntu 应该更改为 ubuntu .
2. 编辑文件/etc/grub.d/40_custom。
  1. sudo gedit /etc/grub.d/40_custom
复制代码
把以下代码粘贴覆盖原来内容。保存。
  1. #!/bin/sh
  2. exec tail -n +3 $0
  3. # This file provides an easy way to add custom menu entries.  Simply type the
  4. # menu entries you want to add after this comment.  Be careful not to change
  5. # the 'exec tail' line above.
  6. ###############################William themes setup
  7. insmod gfxmenu
  8. loadfont ${prefix}/themes/ubuntu/DejaVuSans-Bold14.pf2
  9. loadfont ${prefix}/themes/ubuntu/DejaVuSans10.pf2
  10. loadfont ${prefix}/themes/ubuntu/DejaVuSans12.pf2
  11. loadfont ${prefix}/themes/ubuntu/ascii.pf2
  12. insmod png
  13. set theme=${prefix}/themes/ubuntu/grub-theme-small.txt
  14. export theme
  15. ##################################William themes setup
  16. menuentry "REBOOT" --class reboot {
  17. reboot
  18. }

  19. menuentry "HALT"  --class halt {
  20. halt
  21. }
复制代码
3.修改 /etc/default/grub,加入一行GRUB_GFXMODE=800x600
  1. sudo gedit /etc/default/grub
复制代码
  1. #GRUB_GFXMODE=640x480
  2. GRUB_GFXMODE=800x600
复制代码
4.更新grub.cfg
  1. sudo update-grub
复制代码

点评

解释一下第三步的原因 在最新的grub2.02上似乎有bug ,如果没有设置GRUB_GFXMODE 仅使用默认,会出现grub2运行完以后屏幕一直彩色闪屏,不能进入系统情况。 也可以只设置一个值 800x600.其余的删除。  详情 回复 发表于 2014-10-9 09:41
回复

使用道具 举报

发表于 2014-10-9 09:41:18 | 显示全部楼层
本帖最后由 2011niumao 于 2014-10-27 15:01 编辑
2011niumao 发表于 2014-10-9 09:21
UBUNTU 下另一种安装William提供的主题的方法.四步
1. 下载楼主的文件。把themes解压复制到 /boot/grub/  ...


解释一下第三步
  1. GRUB_GFXMODE=800x600
复制代码
的原因。在最新的grub2.02上似乎有bug ,如果没有设置GRUB_GFXMODE 仅使用默认,会出现grub2运行完以后屏幕一直彩色闪屏,不能进入系统情况。
回复

使用道具 举报

发表于 2014-10-25 22:39:25 | 显示全部楼层
发布收录楼主制作和提供主题的grub通用启动器-2014-10-25 .配套UBUNTU-1410.vhd 及其LIVE UBUNTU系统使用。请看使用 readme-2014-10-25.txt.zip (1.98 KB, 下载次数: 8)
回复

使用道具 举报

发表于 2014-10-28 08:43:41 | 显示全部楼层

小grub通用启动器-2014-12-06

本帖最后由 2011niumao 于 2014-12-24 11:07 编辑

重新制作了g2ldr .把grubpc grubefi都改为ubuntu 14.10 版本。
增加了bootia32.efi.此外把所有grub2的前缀调整为 /grub2
改写了菜单,加入了 iftitle 语句 ,grub2 是 if 命令; then 菜单  fi 结构。
实现先有对应文件再显示对应菜单的效果。----缺点是菜单出现稍微有些延迟。
http://pan.baidu.com/s/1hqopezq
回复

使用道具 举报

发表于 2014-10-29 13:05:58 | 显示全部楼层
自己如何定制主题,我指的是用ps定制细节。。
回复

使用道具 举报

发表于 2021-2-4 08:04:44 | 显示全部楼层
楼主,链接失效了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 18:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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