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. ReactNative调用aar文件(附:如何打开、查看aar文件内容)

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7275897.html ReactNative可以用来进行一些嵌入式设备的操作终端开发,比如:ATM机.自动售卖 ...

  2. Plus One 加一运算

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  3. Flash XSS 漏洞详解 根治的好办法

    本文的目的是深层次的分析Flash的ExternalInterface的XSS漏洞,并提出比较有效的解决方案.   首先,我们看看什么情况下,会出现XSS.   第一种情况:        把flas ...

  4. java获取文件流

      CreateTime--2017年9月1日14:49:21 Author:Marydon servlet获取文件流的两种方式 方式一:使用绝对路径(推荐使用) import java.io.Inp ...

  5. python模块之httplib(在py3中功能进一步强大,请详看文档)

    # -*- coding: utf-8 -*-#python 27#xiaodeng#python模块之httplib(在py3中功能进一步强大,请详看文档) import httplib#是较为底层 ...

  6. mybatis-generator生成逆向工程两种方式

    本文博客地址:http://blog.csdn.net/soonfly/article/details/64499423 逆向工程下载 链接:https://pan.baidu.com/s/1YOAq ...

  7. 【总结】java regex 正则表达式 提取数字和去除数字,过滤数字,提取价格

    @Test public void test33() { String phoneString = "哈哈,13888889999"; // 提取数字 Pattern patter ...

  8. 树莓派使用DHT11温湿度传感器

    一.相关介绍 DHT11介绍: DHT11是一款比较便宜的温湿度传感器模块.读取数据只需要占用一个IO口.能够同时测量温度和相对湿度. DHT11的数据手册可以看这里:http://wenku.bai ...

  9. win7系统总是安装不了net2.0的解决方法

    一些网友询问说ghost win7系统总是安装不了net2.0怎么办呢?net2.0是什么?ATI显卡的控制中心 就需要在NET2.0的基础上.可是一些用户说win7系统总是安装不了net2.0如何解 ...

  10. 【java】详解集合

    目录结构: contents structure [-] 集合概述 什么是集合 Collection和Map的区别 List和Set的区别 ArrayList和LinkedList的区别 HashSe ...