📄 553.html
字号:
<TR>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif"><IMG height=22
src="images/header_r2_c1.gif" tppabs="http://www.linuxhero.com/docs/images/header_r2_c1.gif" width=296 border=0
name=header_r2_c1></TD>
<TD background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colSpan=5>
<DIV align=right><FONT class=normalfont>当前位置:
<A href="index.html" tppabs="http://www.linuxhero.com/docs/index.html">本站首页</A>
<font color="#FF6699">>></font>
<A href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</A> | <A href="copyright.html" tppabs="http://www.linuxhero.com/docs/copyright.html">版权说明</A></font></DIV>
</TD>
<TD><IMG height=22 src="images/spacer.gif" tppabs="http://www.linuxhero.com/docs/images/spacer.gif" width=1
border=0></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=10 cellPadding=0 width="100%" bgColor=#ffffff
border=0>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0>
<TR>
<TD vAlign=top align=middle width="60%">
<TABLE cellSpacing=0 cellPadding=0 width="100%"
background="images/back.gif" tppabs="http://www.linuxhero.com/docs/images/back.gif" border=0>
<TBODY>
<TR>
<TD vAlign=top width="80%">
<DIV align=center>
<FORM action="search.html" tppabs="http://www.linuxhero.com/docs/search.html" method=get>
</FORM>
<TABLE cellSpacing=0 cellPadding=0 width="95%"
border=0><TBODY>
<TR>
<TD background="images/bgi.gif" tppabs="http://www.linuxhero.com/docs/images/bgi.gif"
height=30></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>grub入门</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>什么是 GRUB?<br>
<br>
GRUB是引导装入器--它负责装入内核并引导Linux系统。GRUB还可以引导其它操作系统,
如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT
和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引
导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。
另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必
处理不必要的麻烦。<br>
GRUB 是一个很棒的引导装入器。它有许多功能,可以使引导过程变得非常可靠。例如,
它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。(AIX、
SUN的系统?我还不知道能不能支持)这就意味着无论怎样它总能找到内核。另外,GRUB
有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无
价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩
色引导菜单<br>
Linux 世界在很长一段时间里一直使用 LILO 引导装入器,而且它可以让上百万的 Linux
用户引导系统。是的,的确是这样,LILO 很有效。但是,LILO 的维修率很高,而且很不
灵活。与其花很多时间来描述 GRUB 的优点,还不如演示如何创建自己的 GRUB 引导盘以
及如何使用它来引导系统。然后,我将说明 GRUB 的一些很“酷”的技术细节,并指导您
完成将 GRUB 安装到 MBR(主引导记录)的过程,以使它成为缺省引导装入器。<br>
如果您有点胆小,不必害怕。可以学习前半部分,创建 GRUB 引导盘,尝试使用 GRUB 而
不必弄乱现有的引导装入器。或者,可以用其安全的“驻留”方式来熟悉 GRUB。那么,让
我们立即开始吧。<br>
<br>
下载 GRUB<br>
<br>
要开始探究 GRUB 的精妙之处,首先需要下载、编译和安装它。但不要害怕 -- 根本不会
修改您的引导记录 -- 我们只是要编译和安装 GRUB,就像其它程序一样,在此过程中我
们可以创建 GRUB 引导盘。请不要担心;在修改引导过程之前,我会告诉您。<br>
现在开始。访问 ftp://alpha.gnu.org/gnu/grub/ 并下载可以找到的最新版本的 GRUB
tar 压缩包。我编写本教程时,最新的 tar 压缩包是 grub-0.5.96.1.tar.gz。下载了最
新版本后,就可以安装了。<br>
<br>
安装期<br>
<br>
这里是从 tar 压缩包安装 GRUB 所需输入的命令。我将在 /tmp 中编译源文件,并将所
有部分都安装到硬盘的 /usr 目录下。从 root 用户,输入以下命令:<br>
# cd /tmp<br>
# tar zxvf /path/to/archive/here/grub-0.5.96.1.tar.gz<br>
# cd grub-0.5.96.1<br>
# ./configure --prefix=/usr<br>
# make<br>
# make install<br>
<br>
现在已经安装了 GRUB,准备开始使用它。<br>
<br>
制作引导盘,第一部分<br>
<br>
要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然
后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它
将负责设置软盘的引导扇区。准备好了吗?<br>
<br>
<br>
制作引导盘,第二部分<br>
<br>
好,将一张空盘插入 1.44MB 软驱,输入:<br>
# mke2fs /dev/fd0<br>
创建了 ext2 文件系统后,需要安装该文件系统:<br>
# mount /dev/fd0 /mnt/floppy<br>
现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:<br>
# mkdir /mnt/floppy/boot<br>
# mkdir /mnt/floppy/boot/grub<br>
# cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub<br>
# cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub<br>
只需要再有一个步骤,就能得到可用的引导盘。<br>
<br>
<br>
制作引导盘,第三部分<br>
<br>
解压、编译和安装 GRUB 源 tar压缩包时,会将程序 grub 放到 /usr/sbin 中。该程序
非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。是的,尽管
Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用
GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面完全相同。<br>
这是有趣的设计策略,现在该使用驻留版本的 GRUB 来设置引导盘的引导扇区了。从 root
用户,输入 "grub"。GRUB 控制台将启动,显示如下:<br>
GRUB version 0.5.96.1 (640K lower / 3072K upper memory)<br>
[ Minimal BASH-like line editing is supported. For the first word, TAB<br>
lists possible command completions. Anywhere else TAB lists the possible<br>
completions of a device/filename. ]<br>
grub><br>
欢迎使用 GRUB 控制台。现在,研究命令。<br>
<br>
<br>
制作引导盘,第四部分<br>
<br>
在 grub> 提示符处,输入:<br>
<br>
grub> root (fd0)<br>
grub> setup (fd0)<br>
grub> quit<br>
<br>
现在,引导盘完成了。在继续下一步骤之前,在看一下刚才输入的命令。第一个 "root"
命令告诉 GRUB 到哪里查找辅助文件 stage1 和 stage2。缺省情况下,GRUB 会在指定的
分区或磁盘上的 /boot/grub 目录中进行查找。在安装引导盘时,也就是几分钟以前,我
们已将这些文件复制到正确的位置。接着,输入了 setup 命令,它告诉 GRUB 将引导装
入器安装到软盘的引导记录上;我们将在以后详细讨论这一过程。然后退出。现在,已经
制作好引导盘,可以开始使用 GRUB 了。<br>
<br>
<br>
使用GRUB引导系统之前,需要知道一些信息。首先,应知道哪个分区保存了Linux内
核,以及root文件系统的分区名称。然后,应查看现有LILO配置来寻找需要传递给内核的
变量,如 "mem=128M"。一旦获取了这些信息,就可以开始了。<br>
要启动 GRUB,需要关闭系统并退出引导盘。如果由于某些原因而不能立即关闭系统
(比如上班时在部门的服务器上测试 GRUB),那么只要在提示中输入 "grub" 并继续操
作。所有程序的运行情况都不会改变,只是您不能执行引导(因为 Linux 正在运行)。<br>
装入引导盘时,在屏幕顶部将出现一条消息,告诉您正在装入第一阶段和第二阶段。
几秒后,将会出现一个熟悉的屏幕,显示如下:<br>
GRUB version 0.5.96.1 (640K lower / 3072K upper memory)<br>
[ Minimal BASH-like line editing is supported. For the first word, TAB<br>
lists possible command completions. Anywhere else TAB lists the possible<br>
completions of a device/filename. ]<br>
grub><br>
可以看到,这些内容与在 Linux 中以驻留方式运行 GRUB 时出现的消息完全相同 --
只不过现在我们是使用 GRUB 来引导 Linux。<br>
在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB
有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是
您的正式 root 文件系统,也可能不是。例如,在 Gentoo Linux 中,有一个单独的小
分区专用于保存 Linux 内核与引导信息。大多数情况下,我们不安装这个分区,这样在
系统意外崩溃或重新引导时,就不会把它弄乱。<br>
这些,我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,
GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一
个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区,我们
很快就会讨论这个功能。但现在,让我们输入 root 分区。在提示中输入 root,但不要
按 Enter 键:<br>
grub> root (<br>
现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从
"hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,
在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的
root 命令看起来如下:<br>
grub> root (hd0,<br>
现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及
它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表:<br>
grub> root (hd0, (tab)<br>
Possible partitions are:<br>
Partition num: 0, Filesystem type is ext2fs, partition type 0x83<br>
Partition num: 1, Filesystem type unknown, partition type 0x82<br>
Partition num: 2, Filesystem type unknown, partition type 0x7<br>
Partition num: 4, Filesystem type is reiserfs, partition type 0x83<br>
Partition num: 5, Filesystem type is reiserfs, partition type 0x83<br>
如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好
理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了。<br>
<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -