扫一扫
关注微信公众号

Linux操作系统GRUB引导程序配置方法大全2
2007-07-28   网络

2. 编译安装GRUB

  一般情况下,当完成Linux操作系统的安装后,系统中已经安装好了LILO或GRUB引导程序。由于系统出现故障或需要更换LILO为GRUB时,需全新或重新安装GRUB。如何安装和配置GRUB就是下面要介绍的内容。而有时候,GRUB出现了故障,但并不需要重新安装,从后面的内容中,读者也可以读到如何修复GRUB的知识。

  (1) 下载安装包

  可以从ftp://alpha.gnu.org/gnu/grub/下载GRUB的源码。具体安装方法请参考下面的内容,这里的安装过程都是在RHEL 4中进行的。

  (2) 检查是否安装GRUB

  #rpm -q grub

  如果显示grub-0.95-3.5或其它版本的GRUB的信息,说明系统已经安装了,则执行如下命令首先将其卸载:

  #rpm -e grub

  (3) 编译源码安装

  a.) 编译条件

  要编译GRUB的源代码,系统必须具备以下条件:

  q GCC2.95或者以上版本

  q 安装了GNU Make

  q binutils2.9.1.0.23或者个更高版本

  q Texinfo 4.0或者更高版本

  q Autoconf 2.5x

  q Automake 1.7 或者更高版本

  b.) 编译安装

  这里,假设下载的GRUB源代码为grub-0.95.tar.gz,并放在~/(当前用户的主目录)下。通过编译源代码安装GRUB的基本过程如下:

  #tar -zxvf grub-0.95.tar.gz #解压源代码

  #cd grub-0.95 #转入grub目录

  #./configure #生成Makefile文件

  #make install #编译代码并安装

  (4) 安装GRUB到MBR

  GRUB的工作目录是在/boot/grub下,而make install并没将其安装到/boot/grub。所以,安装完成后要执行如下一些操作:

  a) 把/usr/local/share/grub/i386-pc/目录下的所有文件统统拷贝到/boot/grub/目录下

  #cp /usr/local/share/grub/i386-pc/* /boot/grub/

  b) 在/boot/grub下创建grub.conf文件,并建立一个到grub.conf的软链接menu.lst

  #cd /boot/grub

  #touch grub.conf

  #ln -s grub.conf menu.lst

  注意!如果已经存在grub.conf,就最好不要再次创建,需要时直接修改即可。

  c) 确认/usr/local/sbin和/usr/local/bin在PATH变量的值中,执行如下命令检查

  #env |grep PATH

  如果发现/usr/local/sbin和/usr/local/bin不在PATH变量中,可以通过如下命令修改:

  #export PATH=$PATH /usr/local/sbin:/usr/local/bin

  d) 安装GRUB到MBR

  GRUB在启动中,被BIOS调用,只有放在MBR中才可以被调用,所以,GRUB要让BIOS调用,就必须安装在MBR中。实际上是将stage1安装到MBR中,也可能根据文件系统选择安装了stage1_5。下面,提供几个安装GRUB的例子:

  #grub-install /dev/hda //将GRUB安装到第1块IDE硬盘的MBR

  #grub-install /dev/sda //将GRUB安装到第1块SCSI硬盘的MBR

  #grub-install /dev/fd0 //将GRUB安装到软盘

  #grub-install /dev/hda1 //将GRUB安装到第1快硬盘的0扇区,当用其它引导程序引导系统时,往往选择这种方式,以免覆盖其它引导程序。

  e) 在GRUB的命令行模式下安装GRUB

  关于GRUB命令行模式及其操作方法请参考3小节的内容。在系统显示启动菜单时候按下c键,或者系统启动后在命令行执行/usr/sbin/grub程序,都可以进入GRUB的命令行模式。命令行模式下安装GRUB的基本过程如下:

  q 指定启动设备

  grub>root (hd0,0) #除了root后必须有空格,别的位置均不能有空格!

  此处(hd0,0)是指第1块硬盘的第1个分区。如果不能确定包含GRUB的stage1文件的分区,可以通过find指令查找确定:

  grub> find /boot/grub/stage1 #查找stage1

  GRUB将会查找文件/boot/grub/stage1并显示包含这个文件的设备名,这个设备就是上面要用到的设备。

  q 安装GRUB

  grub> setup (hd0) #除了setup后必须有空格,别的位置均不能有空格!

  这条命令将会在第1块硬盘的MBR安装GRUB,如果不想在MBR安装GRUB,而是希望将GRUB安装在某分区的引导扇区的话,可以用下面的命令安装:

  grub> setup (hd0,0) #除了setup后必须有空格,别的位置均不能有空格!

  这将会在第1块硬盘的第1个分区的引导扇区安装GRUB。

  q 退出GRUB

  grub>quit

  f) 重启机器,新安装的GRUB生效

热词搜索:

上一篇:Linux操作系统GRUB引导程序配置方法大全1
下一篇:Linux操作系统GRUB引导程序配置方法大全

分享到: 收藏