GRUB(统一引导装入器)是基本的Linux引导装入器。
其有四个作用,如下:
1.选择操作系统(如果计算机上安装了多个操作系统)。
2.表示相应引导文件所在的分区。
3.找到内核。
4.运行初始内存盘,设置内核和相关模块。
GRUB的设置文件是

Fedora的是在/boot/grub/grub.conf

ubuntu中是在 /boot/grub/menu.lst

/boot/grub/grub.conf中典型的GRUB设置文件,如下图

[root@localhost ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:   You do not have a /boot partition.   This means that
#       all kernel and initrd paths are relative to /, eg.
#       root (hd0,9)
#       kernel /boot/vmlinuz-version ro root=/dev/hda10
#       initrd /boot/initrd-version.img
#boot=/dev/hda
default=1
timeout=30
splashimage=(hd0,9)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.9-1.667)
       root (hd0,9)
       kernel /boot/vmlinuz-2.6.9-1.667 ro root=LABEL=/ rhgb quiet
       initrd /boot/initrd-2.6.9-1.667.img
title Other
       rootnoverify (hd0,0)
       chainloader +1

对上图中GRUB的变量进行说明如下

变量             说明
#:          对菜单设置文件进行注释。
default:    指定默认操作系统。如果为0,则没有用户输入时,自动启动第一段中显示的操作系统。
timeout:    设置GRUB启动默认之前的时间极限(秒数)。在上图中为30秒。
splashimage: 指定默认GRUB引导时所使用的背景图像的位置。
hiddenmenu: 这个命令被使用时,他不显示GRUB菜单接口,在超时时间过期后载入默认项。用户通过按[Esc]键,能看到标准的GRUB菜单。能在其前加#或删除来达到显示菜单借口的目的。
title:       设置GRUB菜单中显示的选项。一个是显示Fedora Core (2.6.9-1.667),一个   为Other,也即我使用的视窗系统 XP。
kernel:        指定Linux内核地址。
initrd:        指定初始内存盘地址。
rootnoverify:   对视窗系统 XP之类的敏感操作系统指定引导文件所在分区。
chainloader: +1表示对指定分区中第一个扇区寻找引导文件。

说明1:password变量未被列出,是因为我在安装系统时,未选择引导装载口令。这个变量被使用时,他能防止不知道口令的用户编辑菜单的项目。

在GRUB中增加口令的办法:使用grub-md5-crypt命令,在提示下输入所要口令。能看到一系列奇怪的字符,能将其复制到设置文件中。非常容易从命令行复制这个口令,只要用鼠标加亮选择口令,在文本编辑器中打开/etc/grub.conf,在所要位置右单击鼠标,然后Linux即会自动插入加亮的MD5口令。

说明2:为了方便起见,/etc/grub.conf链接实际引导装入器的设置文件/boot/grub/grub.conf。

更有一些其他的GRUB变量未被列出,如果要查询更周详的信息,能参考如下:

能在系统里使用man grub或info grub命令。

以下是一些关于grub的站点

http://www.gnu.org/software/grub
- GNU GRUB 项目的主页。这个站点包含了GRUB发展状态的信息及一个FAQ。
http://www.uruk.org/orig-grub
- 在这个项目被脱管到免费软件基金会进一步发展前的最初的GRUB文件。
http://www.redhat.com/mirrors/LDP/HOWTO/mini/Multiboot-with-GRUB.html
- 研究GRUB各种不同的用法,包括引导非Linux操作系统。
http://www.linuxgazette.com/issue64/kohli.html
- 一篇介绍性的文章,讨论在一个系统上GRUB设置,包括GRUB命令行选项的概述。

补充 ubuntu中的

==============================================================================
default      0
timeout     3
hiddenmenu
title       Ubuntu 9.04, kernel 2.6.28-11-generic
uuid          bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel        /vmlinuz-2.6.28-11-generic root=UUID=5e0cc8d2-2b7f-41a5-aa58-acc670569b5f ro quiet splash 
initrd          /initrd.img-2.6.28-11-generic
quiet

title            Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
uuid           bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel        /vmlinuz-2.6.28-11-generic root=UUID=5e0cc8d2-2b7f-41a5-aa58-acc670569b5f ro single
initrd          /initrd.img-2.6.28-11-generic

title          Windows 95/98/NT/2000
root           (hd0,0)
makeactive
chainloader    +1

title       Ubuntu 9.04, memtest86+
uuid          bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel         /memtest86+.bin
quiet
==============================================================================
上面的选项的作用:
(1)default 0:此选项是在默认的情况下,GRUB启动哪个操作系统,如果装了多个操作系统,GRUB能够指定默认是启动那个操作系统。如果是0,则默认启动第一个(最上面的)的操作系统;如果是1,则默认第二个,以此类推。
(2)timeout 3:超时时间,单位是秒,在此时间内如果用户没有进行任何操作,那么将启动default指定的操作系统,如果是正数,则此等待时间规定为秒数,如果是 0,则立刻进入指定操作系统,如果是负数,则进入GRUB的程序界面,一直等待用户选择进入指定的操作系统。
(3)hiddenmenu:表示隐藏GRUB的程序界面,在Ubuntu系统中,默认情况下GRUB的程序界面是隐藏的,如果想显示,则需要按提示按下Esc键。
(4)title       Ubuntu 9.04, kernel 2.6.28-11-generic:表示出现在GRUB程序界面中的字符串,这里可以是任何字符串,原则上都使用引导的操作系统的名称。
(5)root(hd0,1):这个是GRUB中分区的表示方法,GRUB程序中分区的表示方法与Ubuntu系统中的表示分区方法不同,在Ubuntu 中表示分区的方法如同hda1:其中h表示IDE硬盘,d表示设备,a表示第一个IDE设备中的主盘,1表示此硬盘的第一个主分区(具体分配信息请查阅其 他有关资料)。而在grub中是使用(hd0,1)的方式表示的,其中h表示IDE硬盘,d表示设备,0表示第一块IDE设备中的主盘,1表示此硬盘上的 第二个分区。因此在GRUB程序v中,硬盘的分区是从0开始的,而硬盘数也是从0开始的,如Ubuntu系统的hdb5在GRUB程序中就表示为 (hd1,4)。注意,前面的root表示的是操作系统的启动分区,而不是root目录。
(6)kernel:kernel及其后面的部分指定的是具体的内核文件,并且根据分区的挂载点和特性,后面指定了内核文件所在位置以及内核文件名,并且指明了跟目录所在的分区,并且将其以只读(ro)方式挂载。
(7)initrd:这部分是虚拟磁盘的文件名。
(8)chainloader+1:存在Windows操作系统的时候就会有这一项,这是Ubuntu采用的链式启动引导器,即表示启动分区有GRUB的启动分区直接下移到下一个位置(windows的引导位置)。
通过对GRUB的配置文件menu.lst的配置,可以很容易对启动的操作系统进行控制(在此文件中有大量#表示的详细说明)。

 
 
 

grub配置指南的更多相关文章

  1. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

  2. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  3. P6 EPPM 安装与配置指南 16 R1 2016.4

       关于安装和 配置P6 EPPM 本指南告诉你如何自动 安装和配置您的应用程序. 在您开始之前,阅读 先决条件 P6 EPPM配置 (7页). 安装P6 EPPM 您将使用 安装程序 (窗口) . ...

  4. P6 EPPM 16.1 安装和配置指南 1

    安装和配置指南下一topiccontents这些指南解释如何安装和配置数据库服务器,和P6 EPPM,模块:他们还提供在P6 EPPM能够解决所有模块的概述.标准指南帮助您配置和部署应用程序向导P6 ...

  5. P6 EPPM R16.1安装与配置指南(三)

    P6 EPPM R16.1安装与配置指南(三) 解压:V137390-01.zip 修改 D:\P6_R161\p6suite\database\dbsetup.bat   的行 SET JAR_FI ...

  6. P6 EPPM R16.1安装与配置指南(二)

    P6 EPPM R16.1安装与配置指南(一) http://www.cnblogs.com/endv/p/5634620.html P6 EPPM R16.1安装与配置指南(二) 环境变量配置 新建 ...

  7. P6 EPPM R16.1安装与配置指南(一)

    标题 http://www.cnblogs.com/endv/p/5634620.html 安装与配置指南安装与配置指南(数据库)说明哪些How to set up the P6专业数据库和服务器.a ...

  8. SQL Server 2012 AlwaysOn集群配置指南

    1. AlwaysOn介绍 AlwaysOn是SQL Server 2012提供的全新综合.灵活.高效经济的高可用性和灾难恢复解决方案.它整合了镜像和群集的功能,基于OS 故障转移群集(Windows ...

  9. JBoss7配置指南

    JBoss7配置指南   1.    jboss各主要版本特性... 3 1.1.     jboss4特性... 3 1.2.     jboss5特性... 5 1.3.     jboss6特性 ...

随机推荐

  1. [转] libtool的作用及应用

    今天使用 autoconf 的时候遇到一个 libtool 的问题,觉得这个东西挺有意思,找了个文档过来,暂时记录. 转自:http://blog.csdn.net/larntin2002/artic ...

  2. Laravel中pluck的使用——返回指定的字段值信息列表

    $model = self::where(['is_delete' => 0, 'is_on_sale' => 1]) ->whereIn('goods.cat_id', Goods ...

  3. Java在不同线程中运行代码

    start()方法开始为一个线程分配CPU时间,这导致对run()方法的调用. 代码1 package Threads; /** * Created by Frank */ public class ...

  4. java.lang.NoClassDefFoundError: Ljavax/transaction/TransactionManager

    网上下载一个 jta.jar包 放到项目 的WebRoot 的lib文件夹下,解决.

  5. PHP5.4 需要添加的configure参数

    ./configure --prefix=/usr/local/php --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-p ...

  6. 采集并分析Nginx访问日志

    日志服务支持通过数据接入向导配置采集Nginx日志,并自动创建索引和Nginx日志仪表盘,帮助您快速采集并分析Nginx日志. 许多个人站长选取了Nginx作为服务器搭建网站,在对网站访问情况进行分析 ...

  7. ios中uiview 转场动画

    //转场动画1--头尾 -(void)TransitionAnimation1{ [UIView beginAnimations:nil context:nil]; [UIView setAnimat ...

  8. [转]awesome-tensorflow-chinese

    模型项目 Domain Transfer Network - Implementation of Unsupervised Cross-Domain Image Generation Show, At ...

  9. Solr Wiki文档

    相比ElasticSearch,Solr的文档详尽丰富,同时也显得冗余啰嗦. Solr的官方文档有两个地方: Solr官方教程 Solr社区维基 本文主要列出一些Solr Wiki中的主要讨论主题,方 ...

  10. 【LeetCode】210. Course Schedule II

    Course Schedule II There are a total of n courses you have to take, labeled from 0 to n - 1. Some co ...