今天在看centos的grub时,发现我本本上ubuntu的不一样,查了一下才知道(汗,我都用了多半年了),ubuntu用了grub2(grub1.97),而Centos还是grub0.97。
grub2和它的前一个版本的变化很大,具体的可参考 http://wenku.baidu.com/view/3bcd7d7f5acfa1c7aa00cc86.html 。
grub2 不在使用menu.lst,而是由以下三部分
/boot/grub/grub.cfg
/etc/grub.d/*
/etc/default/grub
组成,其中,第三个是grub的一些基本设置,第二个是一个目录,下面有多个脚本,也是提供配置的。第一个应该是grub在启动时使用的配置文件吧。grub2采用的思想是不直接编辑grub.cfg,还是在对后两个编辑修改之后,用updata-grub自动生成grub.cfg。
看到这里,我就想给grub加背景了。
1,sudo apt-get install grub2-splashimages
这个包没有二进制文件,一些文档和一些图片。可参见 http://packages.debian.org/sid/all/grub2-splashimages/filelist
/usr/share/doc/grub2-splashimages/README
/usr/share/doc/grub2-splashimages/changelog.gz
/usr/share/doc/grub2-splashimages/commons2tga.pl
/usr/share/doc/grub2-splashimages/copyright
/usr/share/images/grub/*.tga
查看readme可以知道,commoms2tag.pl 是一个转换脚本,来把其它的格式转换成tga。我很喜欢自己有的新西兰那个什么湖那张,就不用这个了。
2, 加背景的配置在 /etc/grub.d/05_debian_theme中,有这样几行
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do
if is_path_readable_by_grub $i ; then
bg=$i
case ${bg} in
*.png) reader=png ;;
*.tga) reader=tga ;;
*.jpg|*.jpeg) reader=jpeg ;;
esac
可以看出,grub在/boot/grub,/usr/share/images/desktop-base 这几个文件夹中找一个叫moreblue-orbit-grub的png或tga图片,我不想改grub了,于是我的方法是:
3,做一个软连接:
cd /usr/share/images/desktop-base
sudo ln -s ../grub/Lake_mapourika_NZ.tga moreblue-orbit-grub.tga
4,大功告成,重启机器,就可以看到这个美丽的湖成了grub的背景。