【转帖】GRUB背景图片介绍
来源:Linux公社 作者:Linuxidc
这一部分介绍GRUB背景图片的基本信息,如果您只是想知道如何制作一个GRUB背景图片,可以略过此部分。 GRUB使用XPM文件、或用gzip压缩过的XPM文件作为图片背景文件,由menu.lst中的splashimage命令调用。
如果打开一个XPM文件,就不难了解其构成方法:定义一个由字符到颜色的关系表,然后一个字符代表一个像素,组成一幅图片。由此不难想到XPM文件可能具有以下特点:
* 颜色种类不多(ASCII码种数有限)
* 文件占用空间较大(未经压缩)
实际上,GRUB使用的图像为14色,尺寸为640x480。
这也就明确了制作GRUB背景图的大致步骤:
* 改变文件尺寸为640x480
* 合理减少文件颜色数
使用imagemagick制作grub背景图片
imagemagick可以简单的实现一些图片操作,使用imagemagick制作最为简单:先安装imagemagick,多数发行版的源中提供这一软件,也可以到http://www.imagemagick.org/ 去下载。
安装后,使用convert命令处理图片
convert 源图片 -resize 640x480! -colors 14 test.xpm
其中test.xpm可以改成自己的文件名。
文件比较大,可以压缩一下。
gzip test.xpm
这样就生成了一个名为test.xpm.gz的可用于grub背景的文件。把这个文件复制到/boot/grub/ ,如:
# cp test.xpm.gz /boot/grub/
启用制作好的背景图片
grub的配置文件menu.lst,这个文件通常在/boot/grub/中。推荐把生成的背景图也放到这个文件夹。
如果以前就有背景图片,那么在menu.lst查找splashimage,把后面的图片的路径改为新的背景文件的路径。
如果以前没有设置背景图片,那么用你喜欢的编辑器打开/boot/grub/menu.lst(注意要有root权限),在文件上部加入一行,如:
splashimage (hd0,0)/boot/grub/test.xpm.gz
注意把(hd0,0)换成你的根分区编号,保存,就可以了。
提示:
关于Grub磁盘分区表示的详细信息,可参见Grub磁盘分区表示方法。
进一步美化说明
更改了背景图片后,原来的字母颜色可以就需要调整了。请注释掉color语句,并用background和foreground语句设置前景、背景颜色,如:
background bbbbbb
foreground 3355aa
更改了背景图片后,原来的字母颜色可以就需要调整了。请注释掉color语句,并用background和foreground语句设置前景、背景颜色,如:
background bbbbbb
foreground 3355aa
制作自己个性的启动GRUB启动背景图片
1 找一张漂亮的美女图片mm.jpg,将一图片转化成640*480,14色的XPM文件:
#convert mmjpg -colors 14 -geometry 640x480! mm.xpm
2 压缩生成的xpm文件,使用gzip
#gzip -9 mm.xpm
3 将mmxpm.gz拷到/boot/grub下
4 修改/boot/grub/menu.lst
splashimage=(hd0,*)/grub/mm.xpm.gz
改好以后,保存,好啦,这样你就拥用你个性的启动画面啦!
关于GRUB背景图片DIY的问题
<div class="t_msgfont" id=message2818866>使用命令虽然方便,但是也有其不能预览的缺点.
使用gimp制作.
gimp->;打开文件->;在文件上电右键->;选择模式->;索引->;颜色数改为14
点右键->;图像->;缩放图像->;改为640X480
而后保存的时候选择类型 .xpm
gzip -9 *.xpm
cp *.xpm.gz /boot/grub/
vi menu.lst 将其中含有*.xpm.gz的文件给为你刚cp 的那个文件即可.
ok开机重启.</div>
在使用RedHat的时候我们可以看到系统起动的时候grub是有背景图片的,我们也可以给Ubuntu添加一个背景图片。
步骤如下:
1、创建一个存放grub背景文件的文件夹。比如在 /boot/grub/ 下创建文件夹 splashimages
sudo cd /boot/grub && mkdir splashimages
2、把下载的grub背景文件放在 splashimages文件夹下
sudo cp *.xpm.gz /boot/grub/splashimages/
3、备份和修改配置文件 (/boot/grub/menu.lst)
sudo cp /boot/grub/menu.lst /boot/grub/menu-bak.lst
sudo gedit /boot/grub/menu.lst
找到这样的一行
# Pretty colours
#color cyan/blue white/blue
在其下记入这样的一行:
splashimage=(hd0,7)/boot/grub/splashimages/splash.xpm.gz
其中(hd0,7)需要按照自己的实际情况进行修改,hd0是第一快硬盘,7是你的挂载在boot目录下的分区,一般这个可以在文件的下面title一节看到。splash.xpm是你的文件名。
重新启动系统就能看到背景了。
GRUB背景图片制作说明:
1)、要求它的解析度在640×480或之上。虽然从道理上讲小于这个尺寸也没关系,因为可以把它扩张为640×480,但是这样会造成比较严重的画质损失,所以最好不要小于这个尺寸。
2)、 GRUB使用压缩了的XPM图像格式,而比较常见的图片格式是 BMP、JPG、GIF和PNG之类的,所以需要将图片格式转换成XPM。
可能有人想到了使用GIMP,但是GIMP使用起来相对麻烦,而且如果没有安装 X-Window的话就无法使用GIMP了。所以这里建议使用命令convert进行图片格式转换(可以使用man convert命令详细阅读其使用手册)。简单说一下convert使用方法,比如要将image.jpg转换为image.xpm,使用命令如下:
sudo convert -geometry 640x480 -colors 14 image.jpg image.xpm
如果你的系统中没有这个命令,你可以安装imagemagick这个软件包
sudo apt-get install imagemagick
这个命令在这个包中。这个命令是把image.jpg转变尺寸为640×480,色深是14的image.xpm。注意,命令行中的640和480之间是小写字母“x”,不要写错。另外,GRUB要求图片色深必须是14。
所以需要进行上述的转换步骤以达到GRUB的要求。接下来压缩这幅图片,使用下面的命令:
#gzip -9 image.xpm
结果生成了image.xpm.gz