修改Grub2主题,美化启动画面
现在在启动引导程序中Grub大行其道,几乎所有Linux发行版都默认使用Grub做引导程序。Debian也不例外。然而,系统默认的Grub界面或许不能令你满意。这篇文章就是介绍如何修改Grub2的主题,使系统的启动画面更漂亮的。
1. 首先准备一张图片
以前的splash图片对格式要求比较严格,必须是xpm格式的,还要压缩为gz包。现在好像不需要了,并且已经支持png、jpg/jpeg、tga三种格式的图片,只要求图片是RGB模式而非索引模式的。
Gnome为我们提供了很多漂亮的图片,可以去gnome主题网站尽情挑选。
无论如何,我们已经找到了一张很酷的图片,我们给它起名叫grub-splash.png。接下来,我们要把它保存到本地磁盘,你可以保存在任意你认为合适的地方,一般为/usr/share/images/desktop-base/下。
现在我们的图片的完整路径是:
/usr/share/images/desktop-base/grub-splash.png
2. 接下来,让grub找到该图片
有两种方法可以实现:
2.1. 使用alternative
运行以下命令:
$ sudo update-alternatives --config desktop-grub 有 2 个候选项可用于替换 desktop-grub (提供 /usr/share/images/desktop-base/spacefun-grub.png)。 选择 路径 优先级 状态 ------------------------------------------------------------ * 0 /usr/share/images/desktop-base/spacefun-grub-widescreen.png 14 自动模式 1 /usr/share/images/desktop-base/moreblue-orbit-grub.png 10 手动模式 2 /usr/share/images/desktop-base/spacefun-grub-widescreen.png 14 手动模式 要维持当前值[*]请按回车键,或者键入选择的编号: $
可见,星号所标识的“当前值”正是我们正在用的背景图片。我们要做的就是把我们刚刚找到的图片替换成“当前值”。
首先,把我们的图片“注册”到Debian的alternative系统:
$ sudo update-alternatives --install /usr/share/images/desktop-base/spacefun-grub.png desktop-grub /usr/share/images/desktop-base/grub-splash.png 20
后面那个“20”是优先级,数值越大优先级越高。当前最高的是14,所以我们要设置一个比14大的优先级。当然,也可以设置一个比14小的优先级,如果你不想默认使用新的背景图片的话。
然后,把我们的新背景图片设置为默认值,即“当前值”:
$ sudo update-alternatives --config desktop-grub 有 4 个候选项可用于替换 desktop-grub (提供 /usr/share/images/desktop-base/spacefun-grub.png)。 选择 路径 优先级 状态 ------------------------------------------------------------ * 0 /usr/share/images/desktop-base/grub-splash.png 20 自动模式 1 /usr/share/images/desktop-base/grub-splash.png 20 手动模式 2 /usr/share/images/desktop-base/moreblue-orbit-grub.png 10 手动模式 3 /usr/share/images/desktop-base/spacefun-grub-widescreen.png 14 手动模式 要维持当前值[*]请按回车键,或者键入选择的编号:1 $
注意:这次在“键入选择的编号”后面,我键入了grub-splash.png前面的编号1。
其实,在键入1之前,我们的新背景图片已经是“当前值”了。因为我们在“注册”时,设置了一个更高的优先级20。而在“自动模式”下,系统是自动使用优先级最高的选项的。
2.2. 修改配置文件
与Grub背景图片相关的配置文件是/usr/share/desktop-base/grub_background.sh。打开该文件后,我们看到只有三行内容:
WALLPAPER=/usr/share/images/desktop-base/spacefun-grub.png COLOR_NORMAL=light-gray/black COLOR_HIGHLIGHT=white/black
该文件内容很好理解:第一行就是背景图片的地址,第二行是普通字体的颜色和背景色,第三行是被选中项的字体颜色和背景色。
我们要做的就是把新背景图片的地址替换原有的。你也可以根据喜好改一下颜色的配置,但背景色最后是使用默认的black。因为其他颜色会被背景图片覆盖,从而导致看不到背景图片。而黑色,相当于无色亦即透明,所以能正常显示背景图片。修改后该文件的内容看起来像这样:
WALLPAPER=/usr/share/images/desktop-base/grub-splash.png COLOR_NORMAL=light-gray/black COLOR_HIGHLIGHT=white/black
在动手修改之前,我们不妨研究一番。现在的背景图是/usr/share/images/desktop-base/spacefun-grub.png,我们去看一下它到底是什么。经过查看(使用ls -l)我们发现,它是一个连接文件,连接到了 /etc/alternatives/desktop-grub。我们再去看/etc/alternatives/desktop-grub,发现它也是个连接文件,连接到了/usr/share/images/desktop-base/spacefun-grub-widescreen.png。而后者是一个实实在在的图片。所以,最终使用的背景图片是spacefun-grub-widescreen.png。这就是Debian的alternative系统的秘密所在,这样也是第一种方法之所以有效的原因。在配置文件中使用的是spacefun-grub.png,它指向/etc/alternatives/desktop-grub,而后者也是个连接文件,指向真正的文件。这样,我们想改变背景图片的时候,只需要修改后者指向的目标即可,而无须修改配置文件了。alternatives系统起了桥梁的作用。
所以,第一种方法是推荐使用的方法。
3. 更新Grub的配置文件
Grub的配置文件一般是/boot/grub/grub.cfg。但不要直接去修改这个文件,因为这个文件是自动生成的。与Grub相关的配置文件和路径有:
- /etc/default/grub 这里是Grub的基本配置
- /etc/grub.d/00_header 这是保留给Grub使用的
- /etc/grub.d/05_debian_theme 这是和主题风格相关的,在这里面调用了上面我们提到的grub_background.sh
- /etc/grub.d/10_linux 这是和Linux系统相关的启动项
- /etc/grub.d/20_linux_xen 同上
- /etc/grub.d/30_os-prober 这是系统自动检测出的其他系统的启动项
- /etc/grub.d/40_custom 这里写自定义配置
- /etc/grub.d/41_custom 同上
- /usr/share/desktop-base/grub_background.sh 这个是和背景图片、颜色相关的配置,被上边的05_debian_theme调用
- /usr/share/images/desktop-base/ 这里存放了Grub的背景图片,另外还有GDM和桌面的背景图片
运行如下命令,该命令就会根据上面这些配置文件自动生成最终的配置文件grub.cfg。
$sudo update-grub Generating grub.cfg ... Found background image: /usr/share/images/desktop-base/spacefun-grub.png Found linux image: /boot/vmlinuz-2.6.32-5-686 Found initrd image: /boot/initrd.img-2.6.32-5-686 Found Windows 7 (loader) on /dev/sdb1 done $
4. 重启电脑查看效果
现在就重新启动你的电脑吧,因为谁不想立即查看修改后的华丽的启动画面呢?
5. 还不够?
现在我们已经可以设置我们喜欢的背景图片和字体颜色了,是不是还意犹未尽呢?想不想要更炫更酷的启动界面呢?不好意思,Grub无能为力了。但是别泄气,现在已经有了gfxmenu,并且已经加入到Grub2项目中,如果想了解它可以看下面给出的链接;另外,隆重推荐现在非常受欢迎的Burg,它是由Bean大牛fork自gfxmenu。值得一提的是,Bean大牛可是我们中国人哦,而中国人的项目很少能受到整个Linux社区的如此关注。Bean大牛还是Grub4DOS的主要开发者。
接下来会有关于Burg的博文,敬请期待。
gfxmenu:
Burg:
http://code.google.com/p/burg/
https://help.ubuntu.com/community/Burg
https://help.ubuntu.com/community/Burg/zh_CN
更多推荐
所有评论(0)