rhel7 grub 配置文件及排错

RHEL7 用了 grub2,而不再是 grub 了 MBR 分区的前 446 个字节存放的是系统引导程序 grub,中间 64 字节是分区表,最后 2 个字 节表示结束。那么什么是 grub 是怎么工作的呢?

简单的说,开机会经历以下几步:

1、BIOS 自检,检查硬件;

2、激活 MBR,MBR 上不存在文件系统,可以视作硬件一部分,因此可以被直接读取

3、grub 加载到内存,生成一个微系统,微系统内置了精简版的文件系统

4、通过这个微系统,他会去引导分区,比如默认一般是 sda1 上去找内核文件如 vmlinuz,然 后再调用 grub 的配置文件。

grub 的主要把他的配置文件放在了 3 个地方。

/boot/grub2/grub.cfg  (/etc/grub2.cfg 是/boot/grub2/grub.cfg 文件的符号链接)

/etc/grub.d/  

/etc/default/grub

如下所示。他们的关系是 grub.cfg 里面通过 ####BEGIN  ##### 这种格式按照顺序调用 /etc/grub.d 里面的脚本实现不同的功能。grub.d 目录里面有很多数字开头的脚本,按照从小 到大的顺序执行。以 00__header 为例,他又会调用 /etc/default/grub 配置文件来实现最基本 的开机界面配置

例如:在/etc/grub2.cfg 是文件里面调用 /etc/grub.d/10_linux 来配置不同的内核,这里面有 2 个 menuentry (菜单入口),所以我们开机的时候会看见两个默认选项,一个是普通模式, 一个是救援模式

rhel7 grub 配置文件及排错_第1张图片

这个是/etc/default/grub 文件。和其他的脚本比较起来,非常简单直观了。后面会举例如何 修改 需要注意的是,最好不要直接去修改 /etc/grub2.cfg 文件。这个是因为如果后期升级内核, 所有的配置都会失效。如果需要自定义这个文件,我们可以修改对应的脚本或者 /etc/default/grub 文件,然后通过 grub2-mkconfig 重新生成 grub.cfg 文件。

例 1:修改启动的等待时间

rhel7 默认启动等待时间为 5 秒,下面将启动时间修改为 3 秒(注:如果改为-1,那么每次 启动时需手动确认才可以)

修改/etc/default/grub 文件,如下图所示:

rhel7 grub 配置文件及排错_第2张图片

修改之后重新编译生成 grub.cfg 文件

rhel7 grub 配置文件及排错_第3张图片

例 2:修改网卡的显示名字,这个前面做网络配置的时候提到过,这里不赘述了。

例 3:加密 grub 开机界面的时候如果输入 e,会打开编辑窗口,我们可以根据需要进入 rescue, emergency 或 者 shell 模式。如何限制访问。

在/etc/grub.d/00_header 文件末尾,添加以下内容

重新编译生成 grub.cfg 文件

rhel7 grub 配置文件及排错_第4张图片

重启之后输入 e,就需要用户和密码才能进入编辑窗口了 以上设置的是明文密码,那如何设置密文口令呢?

加密密码由命令 grub2-mkpasswd-pbkdf2 生成

在/etc/grub.d/00_header 文件末尾,添加以下内容

cat  <

set superusers=’用户名’

password_pbkdf2 用户名加密密码 EOF

如下图所示:

重新编译生成 grub.cfg 文件

grub2-mkconfig–o /boot/grub2/grub.cfg

重启验证

注:在文本终端模式下,安装并启用 gpm 后就可复制粘贴了。


 在这个编辑窗口,我们可以根据需要进入 rescue,emergency 和 shell 引导的 3 种模式。这 3 种模式对于系统启动排错很有帮助,比如某个服务卡住了无法加载我们可以通过这 3 种模 式来排错。

rescue 模式: 在 commandline 的配置末尾添加 s ,类似 rhel6 之前的单用户模式

按 ctrl+x 启动

普通模式需要加载的服务很多,但是这个 rescue 模式加载的就少很多了,输入管理员密码 就可以进入了。

rhel7 grub 配置文件及排错_第5张图片

emergency 模式和 rescue 模式类似,不过加载的服务更少,把 s 改成 emergency 就行了
 







你可能感兴趣的:(centos7)