GRUB 2 安装及配置笔记
[作者/yjwork]
传说 GRUB 2 支持很多格式的背景,比如 JPEG、PND、TGA 等格式,支持 24 色,支持 800x600、1024x768,支持中文菜单显示。于是,受诱惑,安装了一下,但由于网上资料少,自己配置找的比较辛苦。不过还好,基本搞定了。写下来,做个笔记。
- 安装 GRUB 2。我用的是 Debian Lenny,安装相当简单,直接执行:
apt-get install grub2系统依赖装上 grub-pc 和 grub-common,安装过程中提示: GRUB upgrade scripts have detected a GRUB Legacy setup in /boot/grub. In order to replace the Legacy version of GRUB in your system, it is recommended that /boot/grub/menu.lst is adjusted to chainload GRUB 2 from your existing GRUB Legacy setup. This step may be automaticaly performed now. It's recommended that you accept chainloading GRUB 2 from menu.lst, and verify that your new GRUB 2 setup is functional for you, before you install it directly to your MBR (Master Boot Record). In either case, whenever you want GRUB 2 to be loaded directly from MBR, you can do so by issuing (as root) the following command: upgrade-from-grub-legacy 小解释:这个提示是说装 GRUB 2 时侦测到你有旧的 GRUB 设置,系统将采用旧的设置来引导,新的 GRUB 2 暂时会成为旧 GRUB 的一个项目引导,当你确定 GRUB 2 可以正常使用后,运行 upgrade-from-grub-legacy,旧的 GRUB 会消失,只留 GRUB 2 的菜单。 Chainload from menu.lst? 将 GRUB 2 用旧的配置 menu.lst 引导?这里建议使用。 The following Linux command line was extracted from the `kopt' parameter │ │ in GRUB Legacy's menu.lst. Please verify that it is correct, and modify │ it if necessary. │ Linux command line: │ <确定> │ 这里不大了解,不过我是没输入任何东西自己确定的。 - 安装完成后,重启。你会发现 GRUB 菜单有点不同了,上面有 GRUB 2 的项目,在中间还有段提示,当你确定 GRUB 2 能正常使用后,使用 upgrade-from-grub-legacy。不能引导的话,下面保留有原来的 GRUB 设置,可以直接使用。
使用
upgrade-from-grub-legacy命令后,将删除原来的 menu.lst 项目。 - GRUB 2 的设置有所变化,不是原来的 menu.lst,而是 /boot/grub/grub.cfg。
- 看看 grub.cfg,学习下这个文件(注意,默认情况下 /boot/grub/grub.cfg 为只读文件,修改的话,请先
chmod +w /boot/grub/grub.cfg) # # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/update-grub using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### set default=0 #默认为 0,就是排第一个的项目。 set timeout=5 #等待时间 set root=(hd0,7) #设置 root 分区 search --fs-uuid --set 15d9bbc2-a1be-400c-883b-0b038a8174e0 if font /usr/share/grub/ascii.pff ; then #这里的 ascii.pff 为默认的字体,不支持中文,如果 #要中文支持,请改为 unicode.pff set gfxmode=1024x768 #默认为 640x480 #设置分辨率,这个建议跟你想设定的图片大小一致 insmod gfxterm #插入模块 gfxterm,当你前面设置为 unicode.pff 后,这个终端支持中文显 #示,它还支持 24 位图像 insmod vbe #插入 vbe 模块,GRUB 2 引入很多模块的东西,要使用它,需要在这里加入 insmod png #比如我们要想他显示 png 的图像做 GRUB 2 的背景,需要添加前面这行 insmod jpeg #添加 jpg 支持。在 /boot/grub 下可查看模块,带 .mod 的文件 insmod tga #如果要使用 tga 的图片做背景的话,gurb2-themes 里就是这种文件 terminal gfxterm #设置 GRUB 2 终端为 gfxterm background_image /boot/grub/111.png #设置背景图片 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=cyan/blue set menu_color_highlight=white/blue #这两行为 Debian 下的菜单颜色设置,如果默认的话 #你会发现背景完全被蓝色挡住了,你需要修改 blue #你可以改为 black,这样背景就会出现 ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_hurd ### ### END /etc/grub.d/10_hurd ### ### BEGIN /etc/grub.d/10_linux ### set root=(hd0,7) search --fs-uuid --set 15d9bbc2-a1be-400c-883b-0b038a8174e0 menuentry "Debian GNU/Linux, linux 2.6.26-1-amd64" { linux /boot/vmlinuz-2.6.26-1-amd64 root=UUID=15d9bbc2-a1be-400c-883b-0b038a8174e0 ro initrd /boot/initrd.img-2.6.26-1-amd64 } #这里的 root=xxxx 也可以使用 /dev/hdax 来代替。 #当你的系统无法启动,而又不想打那么长的话。 #在 GRUB 2 启动时的命令行里,使用 (hd 加 tab 键可以看到分区和 uuid 号 menuentry "Debian GNU/Linux, linux 2.6.26-1-amd64 (single-user mode)" { linux /boot/vmlinuz-2.6.26-1-amd64 root=UUID=15d9bbc2-a1be-400c-883b-0b038a8174e0 ro single initrd /boot/initrd.img-2.6.26-1-amd64 } #默认的 GRUB 2 好像没添加 Windows 的项目,这样添加 menuentry "启动 Windows" #菜单名字 { set root=(hd0,1) #设置 Windows 分区,这里要注意 GRUB 2 是硬盘从 0,分区从 1 开始 chainloader +1 #原来的 GRUB 是 hd0,0 开始 } ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/30_os-prober ### ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/40_custom ### # This file is an example on how to add custom entries ### END /etc/grub.d/40_custom ### - 以上只是我在 Debian Lenny 上安装 GRUB 2 的一点心得,高中毕业,E 文不太好,具体英文的话,可能理解有点偏差。如果哪里有错误,请指出,谢谢。
更新
增加截图如下:
使用手机拍摄,效果不好,只好拍个局部,请见谅。
装过,又卸了; 那个命令行的速度非常慢
原来可以这样. 不过还是习惯简单一点
怎不上图呢
支持16:10的分辨率吗?
赞
我的问题是如果purge的使用grub2,然后重装windows,之后用liveCD貌似没有办法修复grub
GRUB自带的命令行速度不敢恭维,的确慢,只是我用的不多 图片的话,GRUB我不好截图 分辨率的话,16:10我没试过 livecd好像是GRUB,是不是可以在LIVECD装GRUB2后修复呢 大家有条件的话,可以试试,反馈个信息来看看 其实我也是刚用,找了很多资料才看懂点 不全面的地方希望大家补充
@yjwork: 照下来也可以。。。没有太大改变的话就没必要换了。。
身为菜鸟的我,一般不敢动这种东西,不过还是受教了。
想截图的同学可以考虑 QEMU + Grub 2 ... :D 还是继续这么用着吧. 研究快速启动应该比这个重要些 :D
然后可以试试http://grub.gibibit.com/
Toy:使用手机拍摄,效果不好,只好拍个女性侧身的局部,请见谅。
很好的东西,不过我不会用,稳定压倒一切。
很佩服这种大胆的尝试,不知道如果GRUB损坏了怎么办,对这方面了解的很少。
求背景图片……
DO NOT EDIT THIS FILE
#
It is automatically generated by /usr/sbin/update-grub using templates
from /etc/grub.d and settings from /etc/default/grub
#
都已经这样说了,还要改这个文件,这样下次更新就可能把自己的设置都冲掉
有条件的话可以用虚拟机试试。
至于重装win,现在有的ghost版的貌似只还原镜像,不改写mbr。嫌麻烦的话可以先配置好win,然后ghost一下。我在单位用的那台电脑就这么整的。
露点了。。同求背景。
GRUB 2 装了一段时间了,在 PC 上跟 GRUB4DOS 比我还没发现什么优势。不过在 MacBook 上很有用(安装 grub2 的时候自动依赖 grub-efi 而非 grub-pc),可以无须 BootCamp 的支持直接通过 EFI 引导 Debian。
对这个不怎么感兴趣,倒是现在有新的Framebuffer驱动不,支持原来不行的vbe的显示模式。 宽屏电脑老是不支持相应的分辨率,Uvesafb也不行
http://laiba.tianya.cn/laiba/images/88248/12280933990033326543/A/1/l.jpg
背景 @hqking 默认不识别WINDOW系统,不改不行
不同系统依赖的包也不同
赞啊~
The following Linux command line was extracted from the `kopt’ parameter │ │ in GRUB Legacy’s menu.lst. Please verify that it is correct, and modify │ it if necessary. │ Linux command line: │ │
以下 Linux 命令从旧版本GRUB的 menu.lst 文件中的 ‘kopt’ 参数中提取出来,请检查是否正确,如果有必要的话请修改。
GRUB 的配置文件中有个 kopt 参数可以保存引导内核时附件的命令,更新内核的时候包管理脚本会读取这个参数,生成相应的 GRUB 选项。
发现一个问题,补充下: grub2在debian 下安装 desktop-base,原来的界面换成debian的图形界面了 apt-get install desktop-base 如果这样安装了desktop-base之后,grub会更新,原来的两部分会相应修改为(其他不明显变化就不给出了):
BEGIN /etc/grub.d/00_header
set default=0 set timeout=5 set root=(hd0,7) search --fs-uuid --set 15d9bbc2-a1be-400c-883b-0b038a8174e0 if font /usr/share/grub/ascii.pff ; then #这里改为不支持中文的字体 set gfxmode=640x480 #修改为640x480 insmod gfxterm
insmod vbe #模块重改为默认的vbe,其他去掉 terminal gfxterm fi
END /etc/grub.d/00_header
BEGIN /etc/grub.d/05debiantheme ### 关键是这里起了变化
set root=(hd0,7) search --fs-uuid --set 15d9bbc2-a1be-400c-883b-0b038a8174e0 insmod png #debian定义的加载图像模块在这里了,那我们就按它的标准吧,以后还是改这里 if background_image /usr/share/images/desktop-base/moreblue-orbit-grub.png ; then
背景指定为debian默认的,想改就改这里的吧
set colornormal=black/black #看来black透明还是没错的 set colorhighlight=magenta/black else set menucolornormal=cyan/blue set menucolorhighlight=white/blue fi
END /etc/grub.d/05debiantheme
另外:windows的菜单会再次消失,需要添加
看来如果要修改grub.conf的话,需要备份一个在其他地方了,grub2还是不很人性...
不建议安装grub2,原因: 第一,grub里的map命令grub2没有 第二,grub里的setup命令grub2没有 第三,不知道怎么从grub2恢复成grub
等等。。。你的难道是Sun的机器。 看到显示器上是Sun的标志了。。。。
SUN的显示器 PC电脑,穷呀 没显示器用,拿了个SUN淘汰的显示器来用
哇塞,竟然是SUN的显示器。NB啊。
@yjwork 我看到裸体美女了。真滴。
其实我是在gnome-look下的
真有个美女哇
我也很喜欢grub2,配置比较简单,速度也不错!
但有个问题让我很苦恼: grub2在加载启动菜单项之前会单屏显示“Welcome to Grub!”的字样,其实就是它的广告啦,真的很让人不爽,有没有办法去掉!
grub在启动前也会显示个load grub storage2之类的……
装grub2可耻地失败了. 于是又用LiveCD 恢复了grub.