GRUB入门(转)

GRUB入门(转)

  什么是 GRUB?

  GRUB 是引导装入器 -- 它负责装入内核并引导 Linux 系统。GRUB 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT 和 2000。尽管引导操作系统看上去是件平凡且琐碎的任务,但它实际上很重要。如果引导装入器不能很好地完成工作或者不具有弹性,那么就可能锁住系统,而无法引导计算机。另外,好的引导装入器可以给您灵活性,让您可以在计算机上安装多个操作系统,而不必处理不必要的麻烦。

  GRUB 是一个很棒的引导装入器。它有许多功能,可以使引导过程变得非常可靠。例如,它可以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分区读取 Linux 内核。(AIX、SUN的系统?我还不知道能不能支持)这就意味着无论怎样它总能找到内核。另外,GRUB 有一个特殊的交互式控制台方式,可以让您手工装入内核并选择引导分区。这个功能是无价的:假设 GRUB 菜单配置不正确,但仍可以引导系统。哦,对了 -- GRUB 还有一个彩色引导菜单

  Linux 世界在很长一段时间里一直使用 LILO 引导装入器,而且它可以让上百万的 Linux 用户引导系统。是的,的确是这样,LILO 很有效。但是,LILO 的维修率很高,而且很不灵活。与其花很多时间来描述 GRUB 的优点,还不如演示如何创建自己的 GRUB 引导盘以及如何使用它来引导系统。然后,我将说明 GRUB 的一些很“酷”的技术细节,并指导您完成将 GRUB 安装到 MBR(主引导记录)的过程,以使它成为缺省引导装入器。

  如果您有点胆小,不必害怕。可以学习前半部分,创建 GRUB 引导盘,尝试使用 GRUB 而不必弄乱现有的引导装入器。或者,可以用其安全的“驻留”方式来熟悉 GRUB。那么,让我们立即开始吧。

  下载 GRUB

  要开始探究 GRUB 的精妙之处,首先需要下载、编译和安装它。但不要害怕 -- 根本不会修改您的引导记录 -- 我们只是要编译和安装 GRUB,就像其它程序一样,在此过程中我们可以创建 GRUB 引导盘。请不要担心;在修改引导过程之前,我会告诉您。

  现在开始。访问 ftp://alpha.gnu.org/gnu/grub/ 并下载可以找到的最新版本的 GRUB tar 压缩包。我编写本教程时,最新的 tar 压缩包是 grub-0.5.96.1.tar.gz。下载了最新版本后,就可以安装了。

  安装期

  这里是从 tar 压缩包安装 GRUB 所需输入的命令。我将在 /tmp 中编译源文件,并将所有部分都安装到硬盘的 /usr 目录下。从 root 用户,输入以下命令:

  # cd /tmp

  # tar zxvf /path/to/archive/here/grub-0.5.96.1.tar.gz

  # cd grub-0.5.96.1

  # ./configure --prefix=/usr

  # make

  # make install

  现在已经安装了 GRUB,准备开始使用它。

  制作引导盘

  要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它将负责设置软盘的引导扇区。准备好了吗?

  制作引导盘,第二部分

  好,将一张空盘插入 1.44MB 软驱,输入:

  # mke2fs /dev/fd0

  创建了 ext2 文件系统后,需要安装该文件系统:

  # mount /dev/fd0 /mnt/floppy

  现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:

  # mkdir /mnt/floppy/boot

  # mkdir /mnt/floppy/boot/grub

  # cp /usr/share/grub/i386-pc/stage1 /mnt/floppy/boot/grub

  # cp /usr/share/grub/i386-pc/stage2 /mnt/floppy/boot/grub

  只需要再有一个步骤,就能得到可用的引导盘。

  制作引导盘,第三部分

  解压、编译和安装 GRUB 源 tar压缩包时,会将程序 grub 放到 /usr/sbin 中。该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。是的,尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面完全相同。

  这是有趣的设计策略,现在该使用驻留版本的 GRUB 来设置引导盘的引导扇区了。从 root 用户,输入 "grub"。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> root (fd0)

  grub> setup (fd0)

  grub> quit

  现在,引导盘完成了。在继续下一步骤之前,在看一下刚才输入的命令。第一个 "root" 命令告诉 GRUB 到哪里查找辅助文件 stage1 和 stage2。缺省情况下,GRUB 会在指定的分区或磁盘上的 /boot/grub 目录中进行查找。在安装引导盘时,也就是几分钟以前,我们已将这些文件复制到正确的位置。接着,输入了 setup 命令,它告诉 GRUB 将引导装入器安装到软盘的引导记录上;我们将在以后详细讨论这一过程。然后退出。现在,已经制作好引导盘,可以开始使用 GRUB 了。

  使用 GRUB 引导系统之前,需要知道一些信息。首先,应知道哪个分区保存了 Linux 内核,以及 root 文件系统的分区名称。然后,应查看现有 LILO 配置来寻找需要传递给内核的变量,如 "mem=128M"。一旦获取了这些信息,就可以开始了。

  要启动 GRUB,需要关闭系统并退出引导盘。如果由于某些原因而不能立即关闭系统(比如上班时在部门的服务器上测试 GRUB),那么只要在提示中输入 "grub" 并继续操作。所有程序的运行情况都不会改变,只是您不能执行引导(因为 Linux 正在运行)。

  装入引导盘时,在屏幕顶部将出现一条消息,告诉您正在装入第一阶段和第二阶段。几秒后,将会出现一个熟悉的屏幕,显示如下:

  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>

  可以看到,这些内容与在 Linux 中以驻留方式运行 GRUB 时出现的消息完全相同 -- 只不过现在我们是使用 GRUB 来引导 Linux。

  在 Linux 中,当谈到 "root" 文件系统时,通常是指主 Linux 分区。但是,GRUB 有它自己的 root 分区定义。GRUB 的 root 分区是保存 Linux 内核的分区。这可能是您的正式 root 文件系统,也可能不是。例如,在 Gentoo Linux 中,有一个单独的小分区专用于保存 Linux 内核与引导信息。大多数情况下,我们不安装这个分区,这样在系统意外崩溃或重新引导时,就不会把它弄乱。

  这些,我们讨论的是 GRUB,需要指定 GRUB 的 root 分区。进入 root 分区时,GRUB 将把这个分区安装成只读型,这样就可以从该分区中装入 Linux 内核。GRUB 的一个很“酷”的功能是它可以读取本机的 FAT、FFS、minix、ext2 和 ReiserFS 分区,我们很快就会讨论这个功能。但现在,让我们输入 root 分区。在提示中输入 root,但不要按 Enter 键:

  grub> root (

  现在,按一次 Tab 键。如果系统中有多个硬盘,GRUB 将显示可能完成的列表,从 "hd0" 开始。如果只有一个硬盘,GRUB 将插入 "hd0,"。如果有多个硬盘,继续进行,在 ("hd2") 中输入名称并在名称后紧跟着输入逗号,但不要按 Enter 键。部分完成的 root 命令看起来如下:

  grub> root (hd0,

  现在,继续操作,再按一次 Tab 键。GRUB 将显示特定硬盘上所有分区的列表,以及它们的文件系统类型。在我的系统中,按 Tab 键时得到以下列表:

  grub> root (hd0, (tab)

  Possible partitions are:

  Partition num: 0, Filesystem type is ext2fs, partition type 0x83

  Partition num: 1, Filesystem type unknown, partition type 0x82

  Partition num: 2, Filesystem type unknown, partition type 0x7

  Partition num: 4, Filesystem type is reiserfs, partition type 0x83

  Partition num: 5, Filesystem type is reiserfs, partition type 0x83

  如您所见,GRUB 的交互式硬盘和分区名称实现功能非常有条理。这些,只需要好好理解 GRUB 新奇的硬盘和分区命名语法,然后就可以继续操作了。

  GRUB 命名约定

  到目前为止,您可能会感到一点困惑,因为 GRUB 所使用的硬盘/分区命名约定与 Linux 使用的命名约定不同。在 Linux 中,第一个硬盘的第五个分区称作 "hda5"。而 GRUB 把这个分区称作 "(hd0,4)"。GRUB 对硬盘和分区的编号都是从 0 开始计算。另外,硬盘和分区都用逗号分隔,整个表达式用括号括起。现在,回来看一下 GRUB 提示,可以发现如果要引导 Linux 硬盘 hda5,应输入 "root (hd0,4)"。如果已经明白了 GRUB 硬盘/分区命名,您也许要调整当前 root 命令行,以使它指向保存 Linux 内核的分区。按以下格式输完命令,然后按 Enter 键:

  grub> root (hd0,4) (hit enter)

  Filesystem type is reiserfs, partition type 0x83

  装入内核

  现在已安装了 root 文件系统,到装入内核的时候了。在 GRUB 提示中,依次输入 "kernel"、空格、到内核的路径、空格、内核参

  

本文来自:http://www.linuxpk.com/40105.html

-->linux电子图书免费下载和技术讨论基地

·上一篇:Redhatadvanceserver2.1集群的安装与管理

·下一篇:MandrakeLinux安装(6)
 
     最新更新
·安装配置技巧:如何实现自动Logoff

·MandrakeLinux安装(4)

·MandrakeLinux安装(2)

·Linux基本设置技巧:如何限制只有0组的用户可以su成root

·Linux基本设置技巧:如何在console顶部显示当前时间

·Linux基本设置技巧:如何限制用户的最小密码长度

·安装配置技巧:如何使特定用户具有smbmount上的目录的写权限

·安装配置技巧:tcsh如何用当前路径作提示符

·安装配置技巧:如何在consol下定义快捷

·如何修改grub的安装位置

·Linux基本设置技巧:如何使非root用户都不能远程登录

·Linux基本设置技巧:如何用lilo引导不同的运行级别

·Samba的安装

·新手入门之——Linux学习基础

·Linux下中文字体的安装

·Fedora软件包管理器system-config-packages

·Linux查看磁盘分区等命令和相关工具介绍

·Linux如何编译安装源码包软件

·华硕A2C笔记本安装SUSE9.3pro小结

·Linux发行版制作过程中的各个步骤

·FedoraCore5安装后的快速配置

·Fedora4.0中用VMware安装和使用Windows

·安装配置-安装SuseLinux10

·VMware虚拟安装FedoraCore4.0手册

·SlackwareLinux的安装之关於Linux的硬体drivers

·如何在硬碟建置Linux系统之指定安装目的分割区

·如何在硬碟建置Linux系统之指定安装来源(Source)

·RedHatLinux新手入门教程(5)

·RedHatLinux新手入门教程(4)

·RedHatLinux新手入门教程(1)


关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 网址大全 | 友情链接 | 免费注册

Copyright © 2004 - 2007 All Rights Reserved