当前位置:Linux教程 - Linux文化 - 实例演示:GRUB安装、配置及使用汇总

实例演示:GRUB安装、配置及使用汇总


(一)安装linux时安装grub.

安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR.grub 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT、2000、XP。

(二)grub的配置

一旦选择了grub为引导程序,下面我们来了解一下它的配置.

/boot/grub/grub.conf是grub产生一个引导选择菜单以及设置一些选项.下面是我的grub.conf:

#==========例子开始==========

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,6)

# kernel /vmlinuz-version ro root=/dev/hda10

# initrd /initrd-version.img

#boot=/dev/hda

default=0

timeout=10

splashimage=(hd0,6)/grub/splash.xpm.gz

# -->; Redhat Linux 8.0 ; Microsoft Windows XP ; 提示符处,输入:

grub>; root (fd0)

grub>; setup (fd0)

grub>; quit

现在,引导盘完成了。

(四).恢复被windows破坏的grub.

如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中的grub,这时需要恢复grub.

1.把linux安装光盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。

2.等安装界面出来后,按[F4]键,也就是linux rescue模式。

3.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。

4.然后会出现这样的提示符:

sh#

5.我们就可以操作GRUB了.输入grub:

sh#grub

会出现这样的提示符:

grub>;

我们就可以在这样的字符后面,输入:

grub>;root (hdX,Y)

grub>;setup (hd0)

如果成功会有一个successful......

这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。

(五).用NTLoader来引导linux.

如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub.并用windows的NTLoader来引导linux.

1. 安装grub

我用的grub是Redhat8.0带的grub安装包: grub-0.92-7.rpm

安装: rpm -ivh grub-0.92-7.rpm

其他安装方式也一样,只要你安装上grub就行了.RH8缺省用的grub, 1,2步骤可以省了.

2. 建立grub的环境

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

3. 生成grub的配置文件/boot/grub/menu.conf

按照上面所讲的grub.conf来生成一个配置文件.

注意了, 这里我的linux在/dev/hda4,所以menu.conf那些分区位置为(hd0,3),

你的可能不一样了,不能完全照着"画瓢"噢! 下面第3步install的中的分区位置也应该和你的系统一致.

3. 安装grub至Linux分区boot

将grub的stage1安装到/dev/hda4的boot扇区(hd0,3). 过程如下:

/sbin/grub (运行grub)

grub>; install (hd0,3)/boot/grub/stage1 d (hd0,3) (hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf

(注意,上面"grub>;"为grub的提示符,其后内容写在一行上.)

4. 取得grub的boot信息

过程如下:

dd if=/dev/hda4 of=/grub.lnx bs=512 count=1

这样得到grub的引导信息,只要用NT Loader来加载它就行了.

5. 将上面得到的grub.lnx弄到Windows的C盘根目录下

可以先把grub.lnx弄得软盘上,然后启动windows,拷贝到C:\; 情况允许也可以直接在Linux下拷贝到C:了. 我的C盘(即设备/dev/hda1)为FAT32, 可以直接从Linux下弄过去了. 如下:

mount -t vfat /dev/hda1 /mnt/c

cp /grub.lnx /mnt/c

umount /mnt/c

6. 修改NT Loader的boot.ini

在其中加入一行: C:\grub.lnx="Redhat Linux - GRUB"

加入后boot.ini的内容如下:

[boot loader]

timeout=15

default=C:\boot.lnx

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

[VGA mode]" /basevideo /sos

C:\grub.lnx="Redhat Linux - GRUB"

OK. 可以用NT Loader加载Linux了, 其实上面过程基本上和用NT Loader加载LILO一样.其基本思想就是用NT Loader来加载LILO或grub的引导区(grub.lnx), 其中的关键就是LILO或grub的引导区的获取.

(六)活用grub的交互功能

grub具有强大的交互功能.学会了将会使你受益非浅!

1.grub没有显示菜单怎么办?

当开机后进入grub界面但没了菜单,只剩下一个grub>;提示符,怎么启动呢?别急,看下面:

grub>;cat (hd0,6)/boot/grub/grub.conf (为了看参数)

grub>;root (hd0,6)

grub>;kernel (hd0,6)/vmlinuz-2.4.18-14 ro root=LABEL=/

grub>;initrd (hd0,6)/initrd-2.4.18-14.img

grub>;boot

OK!启动了吧!以上有些数字要根据你的实际情况更改.

以上这个方法也可以用于测试新编译的内核.

2.进入单用户模式.

有时不小心把root用户密码忘了,只能进入单用户模式来重新设置root密码.方法如下:

开机进入grub界面,按C进入命令行模式,然后按照上面的方法进行,只是在第三步要在后面加入single参数.