grub学习笔记一(入门简单配置篇)


现今的linux世界里有两种流行的系统引导加载程序可供选择,lilo和grup。
其中grub的流行程度已经超越lilo,成为redhat、suse等发行版本的系统默认引导加载程序。
对于在同一主机上运行多个操作系统(比如windows、freebsd、linux等)的用户,在频繁切换各个操作系统时grub便可派上用场。

如何安装grub?
既然是简易使用就不展开解释了,很多linux发行版都自带了grub,如果没有需要另外安装,g或b一下,资料教程一大堆。


实验环境:
一台主机,主机只有一个40G的IDE硬盘,现在需要在这块硬盘上安装三个系统,分别是WindowsXP、RedHat AS4、Ubuntu。通过配置RedHat的grub作为这三个系统的引导程序。

最终效果图如下:

注:本文部分图片是由本人爱机nok*a 612*c拍摄的,光线不足而且是趴在地上拍的,所以出来的效果有点对不起观众...已经做好了被各位嘲笑的心理准备...

如图所示是装好所有系统并配置好grub后的最终效果图,所有系统都能完美进入。


一、系统安装注意事项

系统安装虽然简单,但如果忽略一些细节,后果是无止境的郁闷。

1.先装windows,后装linux
强烈建议先安装windows系列!那么一切都会变得简单。
至于windows系列如何强横如何无理地改写mbr等这里不详细解释了,有兴趣的朋友可以深入研究一下。

2.安装redhat时最好通过手工分区
红帽的自动分区系统比较古怪,为避免装下一个系统ubuntu时出现无法预计的问题(绝不是恐吓...),安装时最好采用手工分区,分三个区即可:
swap(大小为内存的2倍)
boot(大小100M就ok,用于放置系统内核、img文件等)
root(大小随意,因为还要给ubuntu保留10G左右的空间,所以要看着办)

3.安装ubuntu时不用再次安装引导程序
ubuntu的安装和redhat差不多,要注意的是无需再装一次grub,将引导程序的勾选项去掉,用余下的硬盘空间建一个boot和root分区即可,swap可以指定用同一个。

弄了半天,终于装完系统了。。。可喜可贺!!!


二、配置grub

这里主要简单介绍一下如何通过配置grub的配置文件grub.conf达到实验目的,有兴趣的朋友可以深入研究一下grub。

首先要知linux的内核文件放置的位置是/boot目录

#vi /boot/grub查看grub.conf文件的内容


如图所示为本人配置后的grub.conf文件内容,下面来分析一下grub.conf文件的配置方法。

注释内容                  \\忽略不计
default=0               \\系统进入grub引导后,如果没有接受到来自键盘的任何输入  信息,那么将会自动引导第一个title的系统,0表示第一个系统,1表示第二个系统,如此类推
timeout=10            \\grub引导等待操作时间,随便设
splashp_w_picpath           \\内核启动时启动画面,默认即可

Windows XP
title                          \\填写要在grub中显示的系统名称,系统安装后会自动生成一个默认的titel,可以随便更改,对比参照图1和图2的显示状况
rootnoverify (hd0,0) \\windows的grub配置和linux有些不一样,rootnoverify作为grub的辅助选项,使grub能识别NTFS等分区
chainloader +1         \\ 从一个指定位置引导加载程序

其实上面的选项在安装完redhat后都会自动生成,默认即可,只需改一下title就行。

RedHat
title                            \\国际惯例,随便改
root                            \\指定linux系统根目录,(hd0,1)表示第一块硬盘的第二个分区
kernel                         \\指定linux内核的位置,这里将从/boot/vmlinuz-2.6.9-5加载内核
initrd                           \\指定img加载位置,默认即可

上面的选项在安装完redhat后会自动生成,基本设置默认即可(按照实际情况修改一下root、kernel位置等)。

Ubuntu
titel                              \\国际惯例,随便改
kernel                          \\指定ubuntu的内核位置,和其他参数
initrd                            \\指定img加载位置

ubuntu的配置和redhat有一些区别,kernel和initrd都要加上磁盘参数,不同的操作系统在grup的配置上可能有所区别,具体系统具体分析。

grub学习笔记一~完结