『学了就忘』Linux启动引导与修复 — 70、grub启动引导程序的配置文件说明
1、grub中分区的表示方法
在说grub启动引导程序的配置文件之前,我们还需要了解一下,在grub中分区的表示方法。
从下图中我们可以看到,Linux系统的分区中是/dev/目录下自动识别设备分区名称,关于Linux系统的分区命名请看之前文章中的介绍。但是在grub的分区中,是有自己一套独立的标识方式,无论是SATA接口的硬盘还是IDE接口的硬盘,都用hd来表示硬盘(不再像Linux系统分区,识别成hd和sd了)。括号中第一位数表示第几块硬盘,第二位表示硬盘中的分区号。
如下图所示:

2、grub的配置文件
上一篇文章我们说过,grub启动引导程序的配置文件有三个,源文件是/boot/grub/grub.conf,而/boot/grub/menu.lst和/etc/grub. conf文件是/boot/grub/grub.conf文件的两个软链接文件,说白了三个文件就是一个文件。
查看grub的配置文件,内容如下:
执行命令:[root@localhost ~]# vim /boot/grub/grub.conf
结果如下图所示:

在实际工作中的服务器上,不可能安装多系统,原因:
- 第一、选择需要进入的系统需要在本机上选择,而我们的服务器往往远处。
- 第二、多个系统占用过多的系统资源。
- 第三、虚拟机比真实机使用起来方便很多,比如系统崩溃了,恢复快照就可以等,根本没有必要安装多系统。
3、grub的配置文件内容说明
(1)grub的整体设置
1)default属性
default=0:默认启动第一个系统。也就是如果在等待时间结束后,用户没有选择进入哪一个系统,那么系统会默认进入第一个系统。如果有多系统并存,那么每个系统都会有自己的title字段,如果想要默认进入第二个系统,这里就可以设为 default=1,以此类推。
2)timeout属性
timeout=5:等待时间,默认是5秒。也就是进入系统时,如果5秒内用户没有按下任意键,那么系统会进入default字段定义的系统。当然可以手工修改这个等待时间,如果timeout=0则不会等待直接进入系统,timeout=-1则是--直等待用户输入,而不会自动进入系统。
说明:
在进入Linux系统的时候,会出现如下画面:

此画面读秒的时候,按下任意键,就可以进入到grub启动引导程序,选择需要启动的系统。
如下图所示:

这个timeout=5就是图1中的读秒数。
这里还有要注意一点,在图2界面的时候,Linux系统是没有启动好的,网卡此时并没有加载好, 所以远程终端是无法连接的,这就是上面说的只有到本机上才能操作。
3)splashimage属性
splashimage=hd(0,0)/grub/splash.xpm.gz:这里是指定grub启动时的背景图像文件的保存位置的。记得CentOS 6.X启动时后台的蓝色图像吧,就是这个文件的作用。hd(0,0)代表第一个硬盘的第一个分区,而我们在系统安装时,/boot分区就是第一个分区,所以这个背景图像的实际位置就是/boot/grub/splash.xpm.gz(说明hd(0,0)=/boot)。
4)hiddenmenu属性
hiddenmenu:隐藏菜单。启动时默认只能看到读秒,而不能看到菜单,如果想要看到菜单需要按任意键。
如果注释了这句话,那么启动时就能直接看到菜单了。
以上就是grub的整体设置,个人觉得除了default属性,其他的都没有什么好修改的。
(2)CentOS系统的启动设置
接下来介绍CentOS系统的启动设置。
1)title属性
title CentOS(2.6.32-279.el6.i686):title就是标题的意思,也就是说在title后面写入的是什么,那么系统启动时在grub的启动菜单中看到的就是什么,如上图中的选项名称。
如果有多个系统,每个系统都会有一个title属性。
2)root属性
root hd(0,0):是指启动程序的保存分区(也可以说是主启动目录的位置)。这里要注意啊,这个root并不是管理员用户,也不是根目录同级的root目录,而是主启动目录的位置。在我的系统中,/boot分区是独立划分的,而且设备文件名为/dev/sda1,所以在grub中,就被描述为hd(0,0),也就是说root是/boot分区下的根目录。
3)kernel属性
kernel属性就是描述内核加载的选项,下面简单说明一下:
/vmlinuz-2.6.32-279.el6.i686:指定了内核文件的位置,这里的/是指/boot分区。ro:启动时以只读方式挂载根文件系统,这是为了不让启动过程影响磁盘内的文件系统。(这些选项都是在系统启动过程中的选择)root=UUID=b9a7a1a8-767f-4a87-8a2b-a535edb362c9:指定根文件系统的所在位置。这里和以前的Linux版本不太一样了,不再是通过分区的设备文件名或卷标号来指定,而是通过分区的UUID来进行指定。那么如何查询分区的UUID号呢?方法有很多种,最简单的办法就是查询/etc/fstab文件,命令如下:

可以看到/分区的UUID和kernel行中的UUID是匹配的。
注意一下,grep命令后的·/,在/后是有空格的。rd_NO_LUKS:禁用LUKS,LUKS用于给磁盘加密。rd_NO_MD:禁用软RAID。rd_NO_DM:禁用硬RAID。rd_NO_LVM:禁用LVM。以上禁用都只是在启动过程中禁用,是为了加速系统启动的。(启动完了自动开启,所以这些属性我们不必太关注)KEYBOARDTYPE=pc KEYTABLE=us:键盘类型。crashkernel=auto:自动为crashkernel预留内存。LANG=zh_CN.UTF-8:语言环境。rhgb:(redhat graphics boot)用图片来代替启动过程中的文字信息。启动完成之后可以使用dmesg命令来查看这些文字信息。(如启动时候的百分比等)quiet:隐藏启动信息,只显示重要信息。(系统启动的时候按ESC键,可以查看隐藏的信息)
提示:以上这么多信息,我们平时真的用不到,大概知道什么意思就可以了。
4)initrd属性
initrd /initramfs-2.6.32-279.el6.i686.img:加载虚拟文件系统,指定了initramfs内存文件系统镜像文件的所在位置。
5)总结
以上四条属性,title、root、kernel、initrd都是自动生成的,我再新安装一个操作系统,这四个属性也是自动生成,能看懂就好,这四个属性不用我们修改。
『学了就忘』Linux启动引导与修复 — 70、grub启动引导程序的配置文件说明的更多相关文章
- 『学了就忘』Linux启动引导与修复 — 69、启动引导程序(grub)
目录 1.启动引导程序(Boot Loader)简介 2.启动引导程序grub的作用 3.启动引导程序grub的位置 4./grub目录中其他的文件简单介绍 提示: 简单地说,Boot Loader就 ...
- 『学了就忘』Linux启动引导与修复 — 72、Linux系统的修复模式(单用户模式)
目录 1.单用户模式常见的错误修复 2.通过单用户模式修改系统密码 (1)进入grub启动引导程序中 (2)编辑相应的系统启动内容 (3)编辑grub配置文件内容 (4)启动系统 (5)修改root用 ...
- 『学了就忘』Linux启动引导与修复 — 74、Linux系统的修复模式(光盘修复模式)
目录 1.光盘修复模式概念 2.光盘修复模式修复系统问题 (1)准备系统光盘 (2)进入BIOS (3)修改BIOS的启动顺序 (4)进入光盘修复模式 (5)修复系统 (6)修复系统实操 (7)总结 ...
- 『学了就忘』Linux启动引导与修复 — 71、grub启动引导程序的加密
目录 1.什么是grub加密 2.grub加密步骤 3.grub加密的lock属性 1.什么是grub加密 上篇文章说了,系统在开机的时候,有一个5秒的读秒时间,方便你进入到grub界面中. 如下图所 ...
- 『学了就忘』Linux服务管理 — 75、Linux系统中的服务
目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...
- 『学了就忘』Linux服务管理 — 79、源码包安装的服务管理
目录 1.源码包服务的启动管理 2.源码包服务的自启动管理 3.让源码包服务被服务管理命令识别 1.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚 ...
- 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤
目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...
- 『学了就忘』Linux启动引导与修复 — 68、Linux系统运行级别
目录 1.Linux系统运行级别介绍 2.查看运行级别 3.修改当前系统的运行级别 4.系统默认运行级别 5./etc/rc.d/rc.local文件说明 1.Linux系统运行级别介绍 Linux默 ...
- 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区
目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...
随机推荐
- hdu 1166 敌兵布阵(单点更新,区间查询)
题意: N个工兵营地.工兵营地里的人数分别为:a1,a2,....aN Add i,j:第i个工兵营地里增加j人 Sub i,j:第i个工兵营地里减少j人 Query i,j:查询第i个第j个工兵营地 ...
- SpringCloud概念
SpringCloud概述 1.SpringCloud是什么? 官方解释: 官网: https://spring.io/projects/spring-cloud/ SpringCloud是一系列 ...
- WPF进阶技巧和实战09-事件(1-路由事件、鼠标键盘输入)
理解路由事件 当有意义的事情发生时,有对象(WPF的元素)发送的用于通知代码的消息,就是事件的核心思想.WPF通过事件路由的概念增强了.NET事件模型.事件由允许源自某个元素的事件由另一个元素引发.例 ...
- 几个你不知道的dubbo注册中心细节
你会正确配置backup地址吗? 在配置dubbo注册中心时,一般会这样写 dubbo.registry.protocol=zookeeper dubbo.registry.address=127.0 ...
- 什么?还在用delete删除数据《死磕MySQL系列 九》
系列文章 五.如何选择普通索引和唯一索引<死磕MySQL系列 五> 六.五分钟,让你明白MySQL是怎么选择索引<死磕MySQL系列 六> 七.字符串可以这样加索引,你知吗?& ...
- MyCat读写分离+MySql主从(一主一从)
数据库一直在项目担当着一位核心的角色,是所有项目结构中的底层,说白了,我们程序员进行项目开发都是在和数据打交道,而数据都是保存在数据库中,如mysql.oracle.postgresql等等,如果一个 ...
- 菜鸡的Java笔记 第二十 - java 方法的覆写
1.方法的覆写 当子类定义了与父类中的完全一样的方法时(方法名称,参数类型以及个数,返回值类型)这样的操作就称为方法的覆写 范例:观察方法的覆写 class A{ public void ...
- Java设计模式之(二)——工厂模式
1.什么是工厂模式 Define an interface for creating an object,but let subclasses decide which class toinstant ...
- [hdu7033]Typing Contest
为了避免浮点运算,不妨将$f_{i}$乘上$C=10^{2}$,问题即求$\max_{S\subseteq [1,n]}\frac{\sum_{i\in S}(C^{2}-(\sum_{j ...
- [cf1261F]Xor-Set
构造一棵权值范围恰为$[0,2^{60})$的权值线段树,考虑其中从下往上第$h$层($0\le h\le 60$)中的一个区间,假设其左端点为$l$,即$[l,l+2^{h})$ 这样的一个区间具有 ...