从Red Hat Linux 7.2起,GRUB(GRand Unified Bootloader)取代LILO成为了默认的启动装载程序。相信LILO对于大家来说都是很熟悉的。这次Red Hat Linux用GRUB代替LILO,可见GRUB大有过人之处。不过,相对于LILO来说,大家对GRUB还是要陌生一些。本文将对GRUB的基本情况、术语、接口、命令以及配置文件做个介绍,希望对大家有所帮助。
一、GRUB的概述
在Red Hat linux装载一个系统前,它必须由一个引导装载程序(boot loader,启动管理程序)中的特定指令告诉它去引导系统。这个程序一般是位于系统的主硬盘驱动器或是其他知道如何去开始linux内核的媒介驱动器上。
如果说一个x86系统只安装了Red Hat Linux而且只有一个版本的linux内核,那么通过引导装载程序开始Red Hat Linux的特定过程就不重要了。Red Hat Linux安装程序允许用户快速方便地配置引导装载程序存放在主硬盘驱动的主引导记录中来引导操作系统。
然而,为了能从多个linux内核或其他操作系统引导,那么就很有必要了解Red hat linux用于提供必要的引导选项的方法,以及理解引导的过程与如何去改变。
本文是讨论GRUB,它是Red Hat Linux用来在x86系统上装载操作系统的默认方法。同时,本文也将详细介绍用于控制引导过程的各种命令和配置选项。
GRUB的定义
GNU GRUB(GRand Unified Bootloader)是一个将引导装载程序安装到主引导记录的程序,主引导记录是位于一个硬盘开始的扇区。它允许位于主引导记录区中特定的指令来装载一个GRUB菜单或是GRUB的命令环境。这使得用户能够开始操作系统的选择,在内核引导时传递特定指令给内核,或是在内核引导前确定一些系统参数(如可用的RAM大小)。
x86的引导过程
当一个x86机器启动后,系统BIOS开始检测系统参数,如内存的大小、日期和时间、磁盘设备、以及这些磁盘设备用于引导的顺序等。通常情况下,BIOS都是被配置成首先检查软驱或光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。这些最初的扇区-主引导记录-开始装载一个预选择操作系统的过程,一个操作系统选项贩GRUB菜单,或是一个执行特定选项的GRUB命令行接口。
装载GRUB和操作系统的过程,包括以下几个操作步骤:
1、装载基本的引导装载程序,这通常是第一步。基本引导装载程序必须是位于主引导扇区中一个非常小的空间,少于512字节。因此,基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。这主要是归结于在主引导扇区中没有足够的空间用于其他东西了。
2、装载第二引导装载程序,这通常称为第二步。这第二引导装载程序实际上是引出更高级的功能
,以允许用户装载入一个特定的操作系统。在GRUB中,这步是让用户显示一个菜单或是输入命令。
3、装载在一个特定分区上的操作系统,如linux内核。一旦GRUB从它的命令行或是配置文件中,接到开始操作系统的正确指令,它就寻找必要的引导文件,然后把机器的控制权移交给操作系统。