Chinaunix首页 | 论坛 | 博客
  • 博客访问: 676309
  • 博文数量: 156
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1201
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-05 20:08
文章分类

全部博文(156)

文章存档

2010年(13)

2008年(39)

2007年(104)

我的朋友

分类: LINUX

2010-05-13 23:39:30


Grub2做为新一代的多系统引导器,之所以代替旧的Grub,一方面是因为旧Grub设计上的失败及其代码的凌乱不可维护,另一方面 也是因为需要更多的功能( 见 )。
Grub2较之Grub的新功能有
1、模块化设计
不同于Grub的单一内核结构,Grub 2 的功能分布在很多的小模块中,并且能在运行时动态装载和卸除。
2、支持多体系结构
Grub 2可支持PC(i386), MAC(powerpc)等不同的体系机构,而且支持最新的EFI架构。
3、国际化的支持
Grub 2 可以支持非英语的语言。
4、内存管理
Grub 2 有真正的内存管理系统。
5、脚本语言
Grub 2 可以支持脚本语言,例如条件,循环,变量,函数等。
6,绚丽的菜单界面
旧的Grub已经停止开发,而Grub2还在开发过程中,所以Grub2有些功能还没有实现。但是我们已经可能用Grub2中较稳定的版本了,而 Ubuntu9.04/9.10都已包含了Grub2.
而本篇重点介绍Grub2的美化,和Grub相比较,在美化上Grub2支持更多的图片格式:PNG,TGA(默认支持,Jpeg 格式的也支持,但是稍微麻烦一点,旧的GRUB 中支持的xpm格式的不再支持);再就是支持更大的分辨率(800x600),(1024x768)原版本似乎只支持640x480,这样你就可以方便的 自定义自己的splahimage了(用高分辨率的图片来做splash image);还有就是配置文件也不是原来的menu.lst,而是
引用:
/boot/grub/grub.cfg和/etc/grub.d /05_debian_theme


一:简单的改变Grub2的字体颜色和背景
在你进入系统之前会有一个黑底白字的Grub菜单界面, 让你选择进入系统,这里的黑底白字可以改变的,具体如下:
这里涉及到的文件是/etc/grub.d/05_debian_theme
在打开之前建议先保存,以免出错,
引用:
sudo /etc/grub.d/05_de/etc/grub.d/05_debian_themebian_theme_backup


打开/etc/grub.d/05_debian_theme
引用:
sudo gedit /etc/grub.d/05_debian_theme


可以在33到43行之间看到
引用:
set color_normal=black/black
set color_highlight=magenta/black
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue


这么几句,它们就是改变字体颜色的关键,foreground/background是修改字体它们的意思
color_normal=foreground(前景色)/background(背景色)即“/”之前的表示前景色,之后的表示背景色。
具体意思请看例图:
附件:
文件注释: Grub的color_normal参数图解

Selection_004.png [ 78.13 KiB | 被浏览 2146 次 ]


foreground/background可供选择的有
black (透明,与white是不同的), dark-gray, light-gray, white, brown, yellow, red, light-red, blue, light-blue, green, light-green, cyan, light-cyan, magenta, light-magenta.颜色情况如图:
附件:

Selection_005.png [ 19.52 KiB | 被浏览 2146 次 ]



把以上四行分别有以下四行代替:
引用:
set color_normal=green/yellow
set color_highlight=magenta/black
set menu_color_normal=green/yellow
set menu_color_highlight=yellow/red


保存
记得一定要更新配置文件:
引用:
sudo grub-mkconfig -o /boot/grub/grub.cfg


好了,重新启动就可以看到的效果
附件:

Selection_008.png [ 35.22 KiB | 被浏览 2145 次 ]


技巧:对于颜色的设定,也许真的是要做到眼见为实,你自己设定的也许呈现在屏幕上就会和你想像的不一样,这时候就要更改设置了,如果每次替换四行之后还要 重启,那就太麻烦了,这有一个好的方法,就是可以避免重启了:在Grub的菜单界面,会提示你输入“c”或者“e”,这时你就可以进入Grub的命令提示 界面了CLI(Command Line Interface),可以用到“set”命令来试不同的颜色组合了,然后按“esc”就可以看到效果了。
例子:
附件:
Selection_007.png
Selection_007.png [ 3.62 KiB | 被浏览 2146 次 ]

提示,此时的设置只对本次有效,所以你 要记下让你满意的颜色组合,然后到05_debian_theme里更改,更新,这样你就可以每次到看到 了。



二:添加Splashimage到Grub


在本小节中,我们要用图片来美化Grub的菜单界面。我们要用到的图片不是任意的,它默认只能是640x480的,太大的图片不能显示,或者只会显示图片 的一部分。
由于Ubuntu本身就含有grub2-grub2-splashimages包,该包内含有已经设计好的图片,我们直接下载就可以了。
引用:
sudo apt-get install grub2-splashimages


执行成功后就可以在/usr/share/images/grub/ 文件夹中看到splashimage了
引用:
cd /usr/share/images/grub/
ls

终端中会有输出,下面要用到。
在资源管理器里也能看到:

现在我们要告诉系统到哪里去找splashimage了,即修改 /etc/grub.d/05_debian_theme文件
还建议先备份
引用:
sudo cp /etc/grub.d/05_debian_theme /etc/grub.d/05_debian_them_backup

打开05_debian_theme
引用:
sudo gedit /etc/grub.d/05_debian_theme


找到
引用:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga}; do

并且用
引用:
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/Lake_mapourika_NZ.{png,tga}; do

替换,可以看出这里有文件夹,文件名,及扩展名,
附件:

Selection_012.png [ 30.67 KiB | 被浏览 2142 次 ]

只要修改这几处就可以更换图片了(需要是640x480)的,“Lake_mapourika_NZ”可以用终端中其它的文件名来代替,注意 {png,tga} 前面的“." 只有一个,不要复制多了。
保存,更新:
引用:
sudo grub-mkconfig -o /boot/grub/grub.cfg


注意观察终端的输出,是否有类似”Found Debian backgrand" 的提示,有,就证明你成功了,可以重启,欣赏你的漂亮的Grub了,如果没有提示,你要再对照步骤执行一边,看有没有错的地方。


[size=200]三:添加自定义高分辨 率图片作为开机splash


Grub2 不仅支持用自己喜欢的图片做为开机的Splash来美化Grub,还支持高分辨率的图片,比如 (800x600),(1024x768)等,这样你就可以用自己喜欢的照片来做splash了,,当然这也取决于你的电脑Bios对VESA 模式的支持,那么如何知道自己电脑支持多大的分辨率呢?这就要用到Grub的命令 vbeinfo 了。
vbeinfo命令用识别你的显示器的Bios所能支持的最大分辨率,这并不与你进入系统之后的相等,比如我的本本是1280x800的宽屏,但是 vbeinfo显示它的Bios只支持到1024x768,我想这是因为Bios内所含有驱动有关吧。
在启动的时候可以按 ‘C'进入GRub的ClI,然后输入 vbeinfo 会显示如下:
附件:
文件注释: vbeinfo命令显示

Selection_014.png [ 42.74 KiB | 被浏览 2005 次 ]


就可知道你的硬件支持的最高分辨率了。
在纸上记下这些数字,以备后用。
现在打开/etc/default/grub 用gedit
引用:
sudo gedit /etc/default/grub


然后在"GRUB_GFXMODE="后面用小于由vbeinfo命令得来的分辨率来代替,另外还要去掉该前面的注释符“#”,不然,是不会有效果的。改 后类似下面的
附件:

Selection_015.png [ 16.15 KiB | 被浏览 2005 次 ]


保存并更新
引用:
sudo grub-mkconfig -o /boot/grub/grub.cfg

注:如果你改变的分辨率大于640x480(这是系统默认的),这时你重启的话你会发现Grub的菜单的字体变小了,这是必然的,分辨率变大,更清晰了, 自然字体就变小了。所以我建议你的你的分辨率不要太大,要不然就会影响美观,适得其反了。
现在你就可以用适合你自已设定的分辨率的图片来美化Grub2了,比如我设定的GRUB_GFXMODE=1024x768,那我最好就用 1024x768大小的图片来做splash了,建议用背景不要太复杂的做splash,否则效果会不好。至于图片的格式也是要注意的,如果你手头没有现 成的png;tga格式的图片,可以用ps打开图片,另存为png或tga的即可。
假设我的图片的名字是myimage.png
复制该文件到/boot/grub/
引用:
sudo cp myimage.png /boot/grub/

注意要用你自己的图片的名字来代替“myimage”
修改配置文件05_debian_theme以让系统知道去哪儿找哪个图片
引用:
sudo gedit /etc/grub.d/05_debian_theme

在16或17行的地方可以看到 (如果你没有修改过该行)
引用:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do


用下行来代替 (不要直接代替,图片的名字一定要用你自己的。
引用:
for i in {/boot/grub,/usr/share/images/desktop-base}/myimage.{png,tga} ; do

保存 然后更新
引用:
sudo grub-mkconfig -o /boot/grub/grub.cfg

现在你就可以重启来看你自己的美化效果了。
我的E 文一般,所以有些地方理解有偏差,如果有错的地方,希望你能指出来,我再改正。谢谢了。

参考于 ~herman546/p20/GRUB2%20Splashimages.html#Splashimage_Font_Colors
阅读(8380) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~