荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjksam (I want to believe...), 信区: Linux
标  题: [合集]甩开 LILO,使用 GRUB(zz)(转寄)
发信站: 荔园晨风BBS站 (Fri Oct 19 11:54:29 2001), 站内信件

jjksam (I want to believe...) 于Fri Oct 19 11:52:48 2001提到:

发信人: cluck (从零开始), 信区: Linux
标  题: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Thu Oct 18 21:40:58 2001)

Posted by 徐永久 on Tuesday October 16, @11:42PM
from the dept.
如果你玩过Linux ,那么你一定使用过或者知道 LILO ,这个在安装有Linux 的系统上使
用最广泛的多重启动管理程序。然而笔者今天要介绍的是随 Mandrake Linux 所带的
GRUB(GRand Unified Bootloader),让我们看看它怎样来代替LILO。

LILO 需要知道你的内核在驱动器上的实际位置,但是GRUB
却不需要,它不仅能读文件系统还能识别内核映像,而且它还支持最新的 2.4.1 内核所
带的 Reiser 日志文件系统。这意味着你不必在更新内核或者改变配置文件之后重新安装
GRUB。如果BIOS 支持LBA 的话,也没有1024 柱面的问题。另外还支持网络启动和无盘客
户机。

然而,或许我们对LILO 太熟悉了吧,也或许GRUB 还有很多需要完善?总之,安装
GRUB 看起来并不是一件很轻松的事情。下面我们就详细介绍GRUB 的安装和配置。

安装

在 /tmp 目录下解开文件:

# tar zxvf grub-0.5.96.1.tar.gz

进入 "grub-0.5.96.1" 目录,编译程序:

# ./configure
# make
# make install

配置:

和许多我们平常看到的多重启动管理程序一样,GRUB
提供一个菜单界面(LILO 不是菜单界面的)。GRUB的
缺省安装位置为 /boot/grub ,配置文件也放在这个目录下。缺省的配置文件名为
menu.lst,这个文件的功能就像和 lilo.conf
一样,定义多重启动选项以及磁盘映像。

我们来看一个 menu.lst 文件的示范例子:

timeout 5
color black/yellow yellow/black
default 0
password freeos

title My Mandrake
kernel (hd0,1)/vmlinuz root=/dev/hda3 idebus=66

title My Red Hat
kernel (hd0,6)/boot/vmlinuz root=/dev/hda7 idebus=66

title W2K Pro
root (hd0,0)
makeactive
chainloader +1

让我们详细分析一下各个选项的含义:

timeout - 缺省入口的显示延迟时间(秒)
color - 菜单显示的颜色组合,第一组颜色为前景色和背景色,
第二组为高亮时的组合。
default - 定义缺省的启动入口,这里的 0 就是使用定义的第一个入口。
password - 定义进入GRUB 高级特性时需要的口令。GRUB 利用其能读取文件系统的特色
,提供十分强大的功能。例如用户可以在grub 的启动提示符下输 'cat /etc/shadow' 来
读包含加密口令的文件,而不需要进入你的系统!所以,为你的系统设置一个口令十分重
要。

下面分析启动入口,每一个入口都应该以一个 'title' 的关键字开始,后面跟上对该启
动入口的描述。接下来就是 'kernel' 入口,

kernel (hd0,1)/vmlinuz root=/dev/hda3 hdc=ide-scsi

根据 GRUB 对设备的命名规则,我们可以很容易的理解上面这行的含义:软驱设备名为
fdx ,硬盘为 hdx,需要记住的是 GRUB 从0 开始计数,所以第一台硬盘为 hd0 而不是
 hd1。设备名用括号括起来,硬盘上的分区用逗号连接。例如 (hd0,1) 表示第一台硬盘
上的第二个分区,而 (hd1,5) 就表示第二台硬盘上的第一个逻辑分区。

GRUB 能读取大多数文件系统,上面这一行指定 GRUB 寻找
位于第一台硬盘上第二基本分区上的 /vmlinuz 文件,你也需要指定
'root=/dev/hda3' (假设你的根文件系统位于/dev/hda3),否则内核就不能挂接上根文
件系统,之后就是你自己想加入的其他参数了。这些参数就和LILO 启动时传递给内核的
参数一样,或者说和 lilo.conf 中 append 后面的参数一样。

另外一个比较特别的入口是启动Windows 2000 的入口,root 入口指向 Windows 2000 的
安装位置(C:\),接下来的入口设置分区的激活标志,最后的入口告诉 GRUB 搜索分区
的第一个扇区来启动那里的操作系统。

以上是对GRUB 的一个典型的多重启动设置的分析,在正式开始安装GRUB 之前,建议你手
头有一张LILO 启动盘或者一张应急启动盘,以防不测。

以root 登录,输入"grub"命令以后,就会看到如下的画面:

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB lists
possible command completions. Anywhere else TAB lists the possible completions
 of a device/filename. ]

grub>

以上看到的就是 grub 提示符,我们要在这个提示符下面安装GRUB。

grub> install (hd0,1)/boot/grub/stage1 d (hd0) (hd0,1)/boot/grub/stage2 p
(hd0,1)/boot/grub/menu.lst

GRUB 分为两个主要的步骤, stage1 和 stage2。Stage1 是一段嵌入MBR 的迷你代码。
Stage2 是主要部分,在 stage1 把控制权传递给它后,就由它来接管所有事情。

install 后面指定stage1 的位置,我们不仅说明了其分区
位置:(hd0,1),因为 GRUB 能读取文件系统,所以还说
明了分区上目录位置:/boot/grub/stage1,d 参数表示 stage1 将寻找 stage2 所在的
磁盘。接着就是 GRUB 的安装位置:(hd0) ,这里就是指安装在MBR。后面的参数指定
stage2 的位置:(hd0,1),和 stage1 的定义一样。p 参数指定 menu.lst 文件的位置。

对于 /boot 作为单独的分区的例子,需要采用下面的命令行:

grub> install (hd0,1)/grub/stage1 d (hd0) (hd0,1)/boot/grub/stage2 p (hd0,
1)/grub/menu.lst

以上例子假设 /boot 位于 (hd0,1) (也就是hda2),而 / 位于(hd0,2) (也就是 hda3)
,我们不能用 '(hd0,2)/boot/grub/stage1' ,因为GRUB 不知道 (hd0,1) 是 /boot ,
所以必须首先指向挂接为 /boot 的分区,然后把目录指向那里。

重新启动系统以后,就可以看到 GRUB 菜单了。看起来似乎很繁琐,这么长的命令行,是
的!对于那些 LILO 能正常使用的人来说,或许没有必要来玩这个危险游戏。但是,对于
那些想使用 GRUB 增强功能的人来说,试一下 GRUB 或许会有意想不到的惊喜。我的朋友
告诉我说他不能用 LILO 识别 1G 内存,希望 GRUB 能帮助办到。本文旨在抛砖引玉,
GRUB 还有很多的功能有待您的开发。

如果在配置和安装中遇到了麻烦,为什么不使用
info grub 或者 man grub 来寻求帮助呢?或者干脆上
GRUB 的官方网站

http://www.gnu.org/software/grub/

寻找 FAQ 和其他文档呢?

GRUB 的下载地点:
ftp://alpha.gnu.org:/gnu/grub/
截止到写稿时的最新版本为:0.5.96.1


jjksam (I want to believe...) 于Fri Oct 19 11:52:52 2001提到:

发信人: cluck (从零开始), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Thu Oct 18 21:49:48 2001)

grub在启动时可以更改启动项的内容.
如果你在windows下对硬盘分区做了改动(如合并两个分区或者把一个分区分成两个),
导致linux根分区从hda8变成hda*(*!=8).如果用的是lilo,你就只好用软盘或者loadlin
来启动了
但是在grub下,你可以按e来修改当前的启动项目内容.
还有在启动菜单下,按tab可以进入一个mini shell.其中集成了若干常用的系统命令.


jjksam (I want to believe...) 于Fri Oct 19 11:53:00 2001提到:

发信人: ClearMind (自由战士流血不止战斗不息永不言弃), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Thu Oct 18 22:35:35 2001)

GRUB还不能完全取代LILO,至少目前还远远没有。


jjksam (I want to believe...) 于Fri Oct 19 11:53:05 2001提到:

发信人: oasis2k (wahaha~~~~~~~~~~~~), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Thu Oct 18 23:12:17 2001)

现在的新版lilo多好阿,我还没有找到要换lilo的理由阿



jjksam (I want to believe...) 于Fri Oct 19 11:53:10 2001提到:

发信人: suzhe (烦着呢), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Thu Oct 18 23:32:07 2001)

但是 grub 的可靠性, 兼容性远远不如 LILO, 比如在软 raid 环境.



jjksam (I want to believe...) 于Fri Oct 19 11:53:15 2001提到:

发信人: zixia (Do you zixia!?), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Thu Oct 18 23:38:19 2001)

        为什么?

        没有 grub,我的 raid1 root 是不会成功di...



jjksam (I want to believe...) 于Fri Oct 19 11:53:19 2001提到:

发信人: crxvt (行者*无色之毒), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Fri Oct 19 00:04:39 2001)

那是你的设置不对di...



jjksam (I want to believe...) 于Fri Oct 19 11:53:24 2001提到:

发信人: zixia (Do you zixia!?), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Fri Oct 19 00:16:29 2001)

        lilo 不支持 reserfs root di,

        mlilo 才支持 di...

        你凭什么说我是不对di...

        说不出来的话你就要报告di...



jjksam (I want to believe...) 于Fri Oct 19 11:53:27 2001提到:

发信人: cybergene (基因~也许以后~~), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Fri Oct 19 00:55:33 2001)


//nod, 而且现在lilo也已经出了22.0.2乐,功能强了很多哦。。。


jjksam (I want to believe...) 于Fri Oct 19 11:53:35 2001提到:

发信人: xsz (卓不凡), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Fri Oct 19 01:52:20 2001)

呵呵,偶不需要grub,lilo足够了


jjksam (I want to believe...) 于Fri Oct 19 11:53:40 2001提到:

发信人: ClearMind (自由战士流血不止战斗不息永不言弃), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Fri Oct 19 08:37:40 2001)

布什啊你,谁说不支持的啊.


jjksam (I want to believe...) 于Fri Oct 19 11:53:47 2001提到:

发信人: kxn (xixi), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Fri Oct 19 08:57:43 2001)

为什么?


jjksam (I want to believe...) 于Fri Oct 19 11:53:53 2001提到:

发信人: kxn (xixi), 信区: Linux
标  题: Re: 甩开 LILO,使用 GRUB(zz)
发信站: BBS 水木清华站 (Fri Oct 19 09:00:47 2001)

                                              ~~~~~~~~~~~~~~
                      faint, 原来如比,不过拿软 raid 做根的人一定很变态


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店