首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | linux相关 | linux认证 | 下载中心 | 专题
oklinux
 系统管理:中文环境 系统管理 桌面应用 内核技术 Linux基础:安装配置 常用命令 经验技巧 软件应用 Linux数据库:Mysql POSTGRE
 网络管理:网络安全 网络应用 Linux服务器 编程开发:PHP CC++ Python Perl SHELL 嵌入式开发 | PHP基础 PHP技巧 PHP应用 PHP文摘
 首页 linux资讯动态 Linux专题 | 其他Unix Linux解决方案 硬件相关 Linux认证 企业应用 Apache | 相关下载:软路由 参考手册 开发工具
 → 当前位置:首页>linux基础>安装配置>正文

Linux操作系统配置基础祥解:GRUB入门

OKLinux www.oklinux.cn 2007-05-19 来源:赛迪网 sixth 会员收藏 游客收藏

 

什么是 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 (

共2页: 上一页 1 [2] 下一页
上一篇:菜鸟欢乐谷 Linux操作系统程式设计入门   下一篇:VMware下编译Linux内核(2.4.32)全过程
收藏于收藏夹】 【评论】 【推荐】 【投稿】 【打印】 【关闭

相关文章
·VMware下编译Linux内核(2.4.32)全过程
·谈虚拟内存virtual memory VM系统安装
·Slackware安装OpenOffice2.0简体中文版
· 如何扩大swap分区?
· Linux系统逻辑盘卷管理LVM详细介绍
· Linux系统中Fdisk分区的使用方法介绍
· 分区魔术师调整Linux磁盘分区要小心
· Windows下读写ext2分区
· 文件系统FAT32、NTFS、ext2
· ReiserFS与ext3主要不同
发表评论
密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。)
站内搜索
阅读排行榜
·安装大型Linux 集群: 配置
·什么是Linux?Linux与UNIX
·50MB的Linux操作系统 Feat
·新手看招 硬盘安装Ubuntu
·初手学堂:跟我学习安装配
·VMware下Linux系统的安装
·Linux不是Windows
·Windows与Linux系统比较
·彻底解决Fedora 6 中的添
·Red Hat Enterprise Linux
最新文章
·Slackware安装OpenOffice2
·谈虚拟内存virtual memory
·VMware下编译Linux内核(2.
· 如何扩大swap分区?
· Linux系统逻辑盘卷管理LV
· Linux系统中Fdisk分区的
· 分区魔术师调整Linux磁盘
· Windows下读写ext2分区
· 文件系统FAT32、NTFS、ex
· ReiserFS与ext3主要不同
· Windows fat32/ntfs 与 L
· ext2、ext3及reiserfs文
· 分区指南 实例解说fdisk
· Raid教程:全程图解手把
· 深入理解硬盘的 Linux 分

设为首页 - 加入收藏 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2007 All rights reserved OKLinux.Cn 版权所有
合作联系 QQ:18743986 Email:arlan8005#163.com