分页: 1 / 18

[分享]美化你的GRUB,全面支持中文(菜单、提示、帮助)适用7.04-9.04

发表于 : 2007-09-08 17:07
daf3707
本文根据网络资料整理而成,在此鸣谢各位作者。
本方法适合 7.04-9.04版本,9.10使用了grub2,请看这里。
viewtopic.php?f=139&t=240837

本文总结:
1.用grub-gfxboot替代了系统自带的grub
2.在menu.lst里加入一条命令使用你的界面包。
3.安装中文字体,使之支持中文。
4.启用FrameBuffer。这样做的好处是:使美化后的提示信息与美化前一致,不会出现大段的字符信息了;zhcon不加参数也不会死机了,完美显示中文(当然还要加--uft8了);可以在tty下播放电影了!
5.还原回grub软件,以防以后升级内核失败。界面保留。
6.grub-gfxboot_0.97-40包已经可以支持ext4磁盘格式。
仅此而已。
风险提示美化有风险,行动须谨慎。我从7.04-9.04(包括新的文件系统ext4)一步步用过来的。一切正常)。
本美化的还原操作如下参见第9条。
==========================华丽的分割=================================
敬请注意156及179、180楼朋友提的情况:双硬盘,或者/boot单独分区的情况,并相应更改代码。以下以我的机器的情况说明:单硬盘,分/、/home、 /swp
提高成功率的做法,在清楚了上两行的情况下,提前下载好所有需要的附件(别等缷载了grub,附件下载不下来,欲哭无泪);复制代码;学会重装grub。

1.下载1楼、2楼、85楼、200楼的附件到~/grub文件夹下(以下皆以~/grub目录说明),fonts.rar不需要解压。179、180楼层有新的主题可能下载试用,谢谢大家的支持 :em03

2.进入存放message.tar.tar和fonts.rar文件的目录 ~/grub
(本步作用:1.删除ubuntu安装的grub包,2.展开message包到/boot .3.将fonts.rar重命名为fonts并移动到grub目录下。)

代码: 全选

cd ~/grub
sudo apt-get remove grub
sudo tar jxvf message.tar.tar -C /boot
sudo mv fonts.rar /boot/grub/fonts
另外需要对message主题包说明一下,如果你用了gfxboot_0.97-5,使用附件中的message.ugu*主题没有任何问题,如果你使用gfxboot_0.97-40 ,可以下载本楼附件suse.gz,这不是个压缩包,只是为了上传而加上的,不用解压,直接改名即可使用。这个包是全中文的,含中文帮助,推荐!请参见本贴最后的部分,安装并编译主题。

3.安装grub-gfxboot包,
i386的运行这条

代码: 全选

sudo dpkg -i grub-gfxboot_0.97-5_i386.deb
AMD使用这个

代码: 全选

sudo dpkg -i grub-gfxboot_0.97-11_amd64.deb 
4.设置grub
执行命令:

代码: 全选

sudo grub
后面的命令在此基础上运行,在grub>命令行下依次执行

代码: 全选

find /boot/grub/stage1 \\boot单独分区的要find /grub/stage1
root (hd0,6)     \\这一项的值取决于你上一步find返回的值
setup (hd0)  \\用find值的第1项
quit                  \\退出
5.备份并修改/boot/grub/menu.lst文件

代码: 全选

sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_back&&sudo gedit /boot/grub/menu.lst
将下面的内容填入timeout XX 下

代码: 全选

fontfile (hd0,6)/boot/fonts   \\boot单独分区的,改成<boot分区>/fonts格式,如(hd0,5)/fonts ,以下类推,不再提醒。
gfxmenu (hd0,6)/boot/message.ubugrey    \\(hd0,6)根据你上一步find /boot/grub/stage1显示的位置填写 !
message.ubugrey是你解压到boot目录下的登录文件的文件名,第2步/boot下有刚解压的3个,你可以根据自己的喜好更换其他登录界面文件。

6.重新安装grub

代码: 全选

sudo grub-install /dev/hda 
如果显示为“Not found or not a block device.”,请改执行

代码: 全选

sudo grub-install /dev/sda 
如果显示为“/dev/sda does not have any corresponding BIOS drive. ”,那么先执行命令

代码: 全选

sudo grub-install --recheck /dev/sda 
然后再执行

代码: 全选

 sudo grub-install /dev/sda 
7.大功告成,重启计算机看看.可能发现启动时提示的信息过多,有些有洁癖的人不愿意了,好吧继续(认为无碍的到此可以结束了)。
8.启用FrameBuffer。编辑文件

代码: 全选

sudo nano /etc/initramfs-tools/modules
末尾加入
fbcon
vesafb

代码: 全选

sudo nano /etc/modprobe.d/blacklist-framebuffer
注释掉(就是前面回#号)
#blacklist vesafb
再编辑menu.lst

代码: 全选

sudo nano /boot/grub/menu.lst
在kernel行后后面加vga参数。如
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=3c51a0d7-d373-473b-830e-225b6d7aafdf ro quiet splash vga=0x317
vga=0×317 即为1024*798 16位。如何知道你的显卡的支持的分辨率呢,用hwinfo --framebuffer先看一下显卡支持的vga数值

代码: 全选

sudo hwinfo --framebuffer 
找你合适的分辨率替换0x317.最后刷新并重启动

代码: 全选

sudo update-initramfs -u
好了,启用完毕,在字符下可以用 mplayer -vo fbdev 电影名 来看电影了,直接运行zhcon也不会死机了 :em11
9.恢复系统原来的软件包,以绝后患。
这样做了之后,以后升级内核时有时会用到grub脚本,而grub已经被我们干掉了,会失败而中断。为正常升级可如此这般。这样做了,你的grub引导界面会保留,只要你不要再 grub-install 之类的。
缷载grub-gfxboot包[/color]

代码: 全选

sudo apt-get remove grub-gfxboot
安装回系统自带的grub

代码: 全选

sudo apt-get install grub
到这儿就好了。如果你已经在内核安装时中断了,此时sudo apt-get install -f即可继续了。

10. gfxboot_0.97-40我使用以前的主题老是错误,通过212楼的朋友的办法编译成功,在此感谢

代码: 全选

sudo apt-get install gfxboot gfxboot-theme-*
将安装这几个主题:gfxboot-theme-nld gfxboot-theme-sles gfxboot-theme-suse gfxboot-theme-ubuntu gfxboot-theme-zen,你可以根据喜爱的程序自己选择。另外我ubuntu的编译不成功。缺东西。
安装完成之后,文件都在/usr/share下各包名称的目录里,以suse为例:

代码: 全选

cd /usr/share/gfxboot-theme-suse/
sudo make
mv ./boot/message /boot  #编译完成的message 在它的boot子目录下,移到/boot下
修改你的menu.lst里的这行,就可以换主题了。
gfxmenu (hd0,6)/boot/message.ubugrey
附件里的suse.gz,下载后直接改名为suse,再移到/boot下(sudo mv suse.gz /boot/suse),编缉menu.lst使用这样的gfxmenu (hd0,6)/boot/suse即可全面中文化了。

发表于 : 2007-09-08 17:09
daf3707
这是grub-gfxboot的deb文件,另外200楼也有提供新的下载(感谢200楼的兄弟)。
AMD的包(0.97-5)在85楼下载
另外还有提供了0.97-40的包,可以引导 ubuntu 9.04的ext4文件系统。
需要注意的是,各种版本的grub-gfxboot使用的主题可能并不通用。白话就是,在97-5可以用的主题,97-40就不一定适合,请更换。好在主题包不能用的情况下,系统还是可以引导的,回车即可用默认的grub界面引导.

效果图如下 (0.97-40的主题)
图片

发表于 : 2007-09-08 17:11
daf3707
这是完成后效果

发表于 : 2007-09-08 17:11
内存不足
双系统+适用,单系统没必要。

发表于 : 2007-09-08 17:13
内存不足
如果左边logo外围的一圈可以随着时间的减少而出现动画才漂亮.................

发表于 : 2007-09-08 17:15
daf3707
如果要其他的界面,可以下载下面的文件,替代之

发表于 : 2007-09-08 17:16
daf3707
另一款

发表于 : 2007-09-08 17:18
daf3707
再一款

发表于 : 2007-09-08 17:19
daf3707
如果左边logo外围的一圈可以随着时间的减少而出现动画才漂亮.................
当然会随着时间而转圈啦

发表于 : 2007-09-08 17:54
linyjfei
grub> find /boot/grub/stage1
Error 15: File not found

每次到这一步时都这样,/boot用的是reiserfs文件系统

发表于 : 2007-09-08 17:57
xhy
就装了一个Linux
启动的时候不需要选择

发表于 : 2007-09-08 18:16
daf3707
[转贴]另:我没试。不鼓励。
下面简要说说图片文件(message)制作方法,不当之处还请弟兄指点。
message文件实际上是一个类似“压缩”的包文件,里面包括了图片,文字说明等内容。
找一个别人已经做好了的 message 文件,修改里面的文件。
假设这个图片包文件名为:message_sundown
解开这个文件“message_sundown”包(我们可以新建一个目录,这里建立了一个testgrub目录,把message_sundown解压到这个新建的目录去)

代码:

代码: 全选

#mkdir  /testgrub
#cd /testgrub
#cpio -i < /下载文件的路径/message_sundown              
解开message_sundown文件,这个时候就可以看见/testgrub目录里生成了类似以下列表的文件

代码: 全选

-rw-rw-rw- 1 root root 39870 2007-02-28 00:32 back.jpg
-rw-rw-rw- 1 root root   573 2007-02-27 23:54 translations.zh_CN
-rw-rw-rw- 1 root root     9 2007-02-27 23:37 languages
-rw-rw-rw- 1 root root  2839 2007-02-27 01:01 zh_CN.hlp
-rw-rw-rw- 1 root root  1105 2007-02-27 01:01 zh_CN.tr
-rw-rw-rw- 1 root root 37820 2007-02-26 23:59 16x16.fnt
-rw-rw-rw- 1 root root  3129 2007-02-26 23:59 en.hlp
-rw-rw-rw- 1 root root  1267 2007-02-26 23:59 en.tr
-rw-rw-rw- 1 root root 70205 2007-02-26 23:59 init-
rw-rw-rw- 1 root root  1719 2007-02-26 23:59 timer_a.jpg
你可以更改里面的文件。其中back.jpg就是我们所看到的图片(分辨率800x600)。其中替换图片最好不要使用制图工具直接新建一个,除非你非常了解制图工具的导出图片格式及颜色要求等。

可以在原有图片的基础上,通过gimp把做好的图片,粘贴到原来back.jpg上,保存图片(按照gimp提示会自动按照原有图片格式保存)。图片大小一般都是 35Kb左右。

把做好的图片文件重新生成新的 message 文件

代码:

代码: 全选

#find /testgrub -type f | cpio -o > /boot/meesage_new
这里我们把生成的message放到了 /boot下,名字为“meesage_new”

最后修改 /boot/grub/menu.lst吧!!

发表于 : 2007-09-08 19:32
stlxv
比我的漂亮多了,收藏,哈

发表于 : 2007-09-08 19:51
eexpress
要美化grub的,都跑suse去了。。。。。

我就要快。

发表于 : 2007-09-08 22:28
wsyngj
不错。