Grub-Legacy-gfx (简体中文)

From ArchWiki
Revision as of 00:00, 6 December 2012 by Kynikos.bot (Talk | contribs) (use https for links to archlinux.org)

Jump to: navigation, search
注意: Arch Linux 已经用 GRUB2 替代了 GRUB Legacy。参见这里的通知。Grub2 也提供了背景图片支持。建议用户改用 GRUB2Syslinux

简介

本程序是在当前Arch仓库中的GRUB包的基础上修改而来,添加了闪屏图像(作为背景图)支持。

这个补丁并非官方的GRUB团队维护和支持,并且仅适用于GRUB 0.9x系列。该补丁被很多发行版所采用,比如Fedora/红帽、SuSE、Gentoo、MEPIS以及其他的一些版本。我使用的这个补丁基于Fedora Core 3所提供的SRPM包修改而来,对应最新的vanilla GRUB版本。

在安装完成后,你将会看到如下图所示的GRUB屏幕: http://www.mundolink.net/users/mariov/images/arch-grub-096.png

为了满足特殊的需求,那些喜欢旧的闪屏图像的可以选择旧的。 http://www.mundolink.net/users/mariov/images/arch-grub.png

New: In addition to the standard package, a new alternate one is available for those who follow the Reiser4FShowto steps and want a GRUB package with both reiserfs4 and splashimage.

安装前言

Pre-Install Notes

  1. Make a copy of your /boot/grub/menu.lst for backup. It is not replaced by the installation steps below, unless you remove your current grub package.
  2. We are dealing with your boot system info, so there is a small chance that things can be screw up. But I have not had any issues.
  3. If want to compile the package with the old splash image, or your custom splash image instead of the current one, you need to edit the PKGBUILD and change the md5sum assigned to splash.xpm.gz.
  4. The alternate package with reiser4 requires libaal, reiser4progs, and a reiser4 patched kernel. Those are not on Arch repos, you can get them and read about all the process involved on Reiser4FShowto, or grab my updated PKGBUILDs:libaal, and reiser4progs.
  5. Be sure not to upgrade grub via pacman after following this guide, as the version used in this guide is older than the current version available via pacman. You can set pacman to ignore any grub upgrades by editing your pacman.conf accordingly.

安装

1. 下载并保存下列文件到 /var/abs/local目录下:

2. 编译构建包:

# makepkg  

3. 安装包:

# pacman -U grub-0.97-1.pkg.tar.gz 

4. 编辑/boot/grub/menu.lst在操作系统列表前任何地方添加下面的闪屏设置部分:

splashimage /boot/grub/splash.xpm.gz

比如说:

# general configuration:
timeout   5
default   0
splashimage /boot/grub/splash.xpm.gz

重要提示: 从grub 0.96-4起,闪屏图像位置改为 /boot/grub/splash.xpm.gz而不是/grub/splash.xpm.gz。老用户需要修改一下路径。

实际上,你应该把 splashimage /path/to/your/image.xpm{.gz} 和grub的根引导分区联系起来。
如果你有单独的/boot分区:
splashimage /grub/splash.xpm.gz
否则:
splashimage /boot/grub/splash.xpm.gz
错误的路径会导致grub黑屏挂起,并且没有任何提示和光标:-(

5. 将新的 grub引导图像安装到 /boot目录。(将x改成你的驱动器编号 (比如hda):

# install-grub /dev/sdx

6. 当你的系统需要双重启动并且主引导设备是NTLDR时 - 记住更新你的引导文件(dd if=/dev/sdx of=/linux.bin bs=512 count=1)然后复制到你的NTFS引导分区中,如果你不知道是不是,跳过即可。

问题解决

黑屏有菜单

Stages 可能没有更新,重新运行install-grub (你的/boot分区或者MBR所在分区)。然后使用 checksplash.sh脚本以检测你的stage2 是否支持闪屏图像.

黑屏无菜单或者未正确显示

检查splashimage设置是否有误。如果你有单独的/boot分区,改成splashimage /grub/splash.xpm.gz试试看。同时也检查下splash.xpm.gz是否在grub目录下。

常见问题解答

我可以使用个性化的GRUB图像吗?

当然可以,不过图像要满足一下要求:分辨率640x480;色深14位;用gzip压缩成xpm格式。

修改闪屏需要重编译或者安装GRUB吗?

任何时间你都可以使用任意的闪屏图像,在首次安装后你不需要再次编译他,只需要用新的闪屏图像替换掉 splash.xpm.gz 即可,或者是编辑 menu.lst 修改闪屏路径就可以了

什么地方可以获取更多的闪屏他图像?

GNU GRUB 闪屏图像制作指南 - General GRUB bootsplash info and sample images. checksplash.sh - 检测你的stage2(内核镜像)是否支持闪屏图像。