1、grub中分区的表示方法

在说grub启动引导程序的配置文件之前,我们还需要了解一下,在grub中分区的表示方法。

从下图中我们可以看到,Linux系统的分区中是/dev/目录下自动识别设备分区名称,关于Linux系统的分区命名请看之前文章中的介绍。但是在grub的分区中,是有自己一套独立的标识方式,无论是SATA接口的硬盘还是IDE接口的硬盘,都用hd来表示硬盘(不再像Linux系统分区,识别成hdsd了)。括号中第一位数表示第几块硬盘,第二位表示硬盘中的分区号。

如下图所示:

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 :禁用LUKSLUKS用于给磁盘加密。
  • 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)总结

以上四条属性,titlerootkernelinitrd都是自动生成的,我再新安装一个操作系统,这四个属性也是自动生成,能看懂就好,这四个属性不用我们修改。

『学了就忘』Linux启动引导与修复 — 70、grub启动引导程序的配置文件说明的更多相关文章

  1. 『学了就忘』Linux启动引导与修复 — 69、启动引导程序(grub)

    目录 1.启动引导程序(Boot Loader)简介 2.启动引导程序grub的作用 3.启动引导程序grub的位置 4./grub目录中其他的文件简单介绍 提示: 简单地说,Boot Loader就 ...

  2. 『学了就忘』Linux启动引导与修复 — 72、Linux系统的修复模式(单用户模式)

    目录 1.单用户模式常见的错误修复 2.通过单用户模式修改系统密码 (1)进入grub启动引导程序中 (2)编辑相应的系统启动内容 (3)编辑grub配置文件内容 (4)启动系统 (5)修改root用 ...

  3. 『学了就忘』Linux启动引导与修复 — 74、Linux系统的修复模式(光盘修复模式)

    目录 1.光盘修复模式概念 2.光盘修复模式修复系统问题 (1)准备系统光盘 (2)进入BIOS (3)修改BIOS的启动顺序 (4)进入光盘修复模式 (5)修复系统 (6)修复系统实操 (7)总结 ...

  4. 『学了就忘』Linux启动引导与修复 — 71、grub启动引导程序的加密

    目录 1.什么是grub加密 2.grub加密步骤 3.grub加密的lock属性 1.什么是grub加密 上篇文章说了,系统在开机的时候,有一个5秒的读秒时间,方便你进入到grub界面中. 如下图所 ...

  5. 『学了就忘』Linux服务管理 — 75、Linux系统中的服务

    目录 1.服务的介绍 2.Windows系统中的服务 3.Linux系统中服务的分类 4.独立的服务和基于xinetd服务的区别 5.如何查看一个服务是独立的服务还是基于xinetd的服务 (1)查看 ...

  6. 『学了就忘』Linux服务管理 — 79、源码包安装的服务管理

    目录 1.源码包服务的启动管理 2.源码包服务的自启动管理 3.让源码包服务被服务管理命令识别 1.源码包服务的启动管理 # 通过源码包的安装路径,找到该服务的启动脚本, # 也就是获得该服务的启动脚 ...

  7. 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤

    目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...

  8. 『学了就忘』Linux启动引导与修复 — 68、Linux系统运行级别

    目录 1.Linux系统运行级别介绍 2.查看运行级别 3.修改当前系统的运行级别 4.系统默认运行级别 5./etc/rc.d/rc.local文件说明 1.Linux系统运行级别介绍 Linux默 ...

  9. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

随机推荐

  1. Kubernetes Deployment 源码分析(一)

    概述Deployment 基础创建 DeploymentReplicaSet滚动更新失败回滚历史版本回滚其他特性小结 概述 Deployment 是最常用的 Kubernetes 原生 Workloa ...

  2. CentOS部署多台服务器JDK(shell脚本部署)

    部署7台新服务器的jdk,数量不算多,但也不打算一台一台的部署,写了个脚本执行 [ #!/bin/bash# JDK 安装包名jdk_packge="jdk-8u162-linux-x64. ...

  3. 你以为我在玩游戏?其实我在学 Java

    大家好,我是程序员cxuan!今天和大家一起Look一下这个有趣的国外编程网站! 寓教于乐 "今天我们来学习 Java " . "Java 是一门面向对象的编程语言&qu ...

  4. 学信网改绑手机号码,但是忘记了老号码怎么办?利用node.js + puppeteer 跑脚本实现改绑手机号

    最近登录学信网发现自己学信网上绑定的手机号码不是目前自己使用的手机号码,于是想改绑手机号,但是发现不记得之前的手机号码了: 于是百度各种方法都无济于事:也不想重新注册账号,最后看见一篇文章通过Pyth ...

  5. 什么是齐博x1标签

    X系列的标签跟V系列的标签区别还是很大的.在V系列的时候,只有一种很简单的标签比如$label[XXXX]以前的标签相对现在的来说太简单的点,所以在功能上也比较受限.X系列目前有几下几种标签 {qb: ...

  6. 菜鸡的Java笔记 简单JAVA 类的开发原则以及具体实现

    /*  现在要求定义一个雇员信息类 在这个类之中包含有雇员编号 姓名 职位 基本工资 佣金等信息    对于此时给定要求实际上就是描述一类事物,而这样的程序类在在java之中可以将其称为简单java类 ...

  7. Spring Cloud Gateway的断路器(CircuitBreaker)功能

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. Java的初始化过程

    在刷题的过程中,时常会碰到关于Java中的类的初始化顺序的问题. 总结如下,便于以后复习: 初始化过程: 首先,初始化父类中的静态成员变量和静态代码块,按照在程序中出现的顺序初始化: 然后,初始化子类 ...

  9. MySQL配置参数innodb_flush_log_at_trx_commit

    innodb_flush_log_at_trx_commit 此参数有3个值可设置:0.1.2 0表示每秒刷写一次日志到硬盘,极端情况下MySQL或操作系统挂了最多丢1秒的数据更新 1表示每次事务提交 ...

  10. [loj6734]图上的游戏

    考虑原图是一条链的情况-- 思路:随机一个点$x$,将其所在段(边集)再划分为两段,重复此过程即可得到该链 实现上,(从左到右)维护每一段的左端点和边集,二分找到最后一个删除后$x$到根不连通的段,那 ...