第6章GRUB引导器GRUB概述GRUB的特点GRUB运行原理使用GRUBGRUB应用举例本章小结GRUB(GRandUnifiedBootloader)是一个将引导装载程序安装到主引导记录的程序,主引导记录是位于一个硬盘开始的扇区。该程序允许位于主引导记录区中特定的指令来装载一个GRUB菜单或是GRUB的命令环境。这使得用户能够开始操作系统的选择,在内核引导时传递特定指令给内核,或是在内核引导前确定一些系统参数。6.1GRUB概述GRUB包含许多特性,这使得GRUB比其他可用的引导装载程序更加优越。提供了一个真正基于命令行的、先于操作系统的环境支持逻辑块寻址(LBA)方式配置能在每次系统引导时被读取6.2GRUB的特点GRUB的装载和运行原理比较复杂,这里只是简单介绍一下装载GRUB和操作系统的过程,其主要包括以下几个操作步骤:(1)装载基本的引导装载程序。(2)装载第二引导装载程序。(3)装载在一个特定分区上的操作系统,如Linux内核或者是Windows操作系统。6.3GRUB运行原理GRUB作为一种新型的引导装载程序,功能非常强大和完备,其安装以及命令的操作都提供了比较友好的用户界面,本节将介绍该引导器的安装、设备命名、接口使用等方面的内容。6.4使用GRUB一般情况下,RedHatEnterpriseLinux5的安装默认使用GRUB作为其引导装载程序。6.4.1GRUB的选择安装存储设备在GRUB中的一般格式为:type-of-devicebios-device-number,partition-number6.4.2GRUB的设备名称当在GRUB中输入包括文件的命令时,例如在多操作系统中使用一个菜单列表,文件名必须直接在设备和分区后指定。(device-typedevice-number,partition-number)/path/to/file0+50,100+25,200+1(hd0,0)+16.4.3GRUB的文件名称GRUB主要有三个强大的接口,分别提供了不同级别的功能。每个接口都允许用户引导操作系统,甚至可以在处于GRUB环境下的接口之间移动。6.4.4GRUB的基本接口6.4.5GRUB的基本命令GRUB包含了许多不同的命令,它们可以在命令行接口中以交互的方式执行。其中的一些命令能接在命令名后面的选项,这些选项用空格隔开。boot-:引导先前已经被指定并载入的操作系统或链式装载程序。chainloader-:将指定的文件作为一个链式装载程序载入。为了获取在一个指定分区第一扇区内的文件,使用+1作为文件名。displaymem-:显示当前内存的使用情况,这个信息是基于BIOS的。这个命令有助于确定系统在引导前有多少内存。initrd-:使用户能够指定一个在引导时可用的初始RAM盘。当内核为了完全引导而需要某些模块时,这是必需的。installp-:将GRUB安装到系统的主引导记录。(hd0,0)/grub/stage1(hd0,0)/grub/stage26.4.5GRUB的基本命令kernel-:当使用直接载入方式引导操作系统时,kernel命令指定内核从GRUB的根文件系统中载入。options选项是跟在kernel命令后面,在内核载入时传给内核。kernel/vmlinuzroot=/dev/hda3。root-:将GRUB的根分区设置成特定的设备和分区,比如说(hd0,0)。并挂入这个分区,这样文件可以被读取。rootnoverify-:完成root命令同样的工作,只是不挂入分区。配置文件在GRUB菜单接口中,创建用于引导操作系统的列表。配置文件可以允许用户选择执行事先设置好的一组命令。这些命令既包括前面给出的命令,也包括一些只用于配置文件的命令。color-:设定在菜单中使用的颜色,一种是作为前景色,一种作为背景色。可以简单地使用颜色名称,如red/black。default-:默认项目的标题名称。如果菜单接口超时,那它将被载入。fallback-:当这个命令被使用时,如果第一次尝试失败,那么这个项目的标题名称将被试用。hiddenmenu-:这个命令被使用时,它不显示GRUB菜单接口,在超时时间过期后载入默认项。用户通过按[Esc]键,可以看到标准的GRUB菜单。password-:这个命令被使用时,它可以防止不知道口令的用户编辑菜单的项目。6.4.6GRUB配置文件介绍附加选项,可以在后面指定一个后备的菜单配置文件timeout-:这个命令设定了在GRUB载入由default命令指定的项目前的时间间隔,以秒为单位。splashimage-:它指定在GRUB引导时所使用的屏幕图像的位置。title-:设定用来装载一个操作系统的一组特定命令的标题。6.4.6GRUB配置文件介绍GRUB最大的优点之一就是其强健的设计。更新内核或更改它在磁盘上的位置,不必重新安装GRUB。只需要修改/etc/grub.conf或者/boot/menu.lst(指向/etc/grub.conf的一个软链接)文件存盘即可。等到下一个引导过程开始,则修改的引导项将可以进行新的系统内核的引导。6.5GRUB的应用举例6.6本章小结本章主要知识点:GRUB的运行原理GRUB设备名称GRUB的基本接口GRUB的基本命令GRUB的配置文件