rhel7 grub配置文件及排错root密码找回

MBR 分区的前 446 个字节存放的是系统引导程序 grub,中间 64 字节是分区表,最后 2 个字 节表示结束。

开机会经历以下几步

1、BIOS 自检,检查硬件;

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

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

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

      grub配置文件 /boot/grub2/grub.cfg     /etc/grub.d/   /etc/default/grub

一、修改启动的等待时间

在rhel7默认的启动时间是5秒,下面修改成10秒    注意:如果修改成-1,那么每次启动时都需要手动确认才可以 

修改/etc/default/grub

rhel7 grub配置文件及排错root密码找回

修改完成后,我们重新编译成grub.cfg文件 然后reboot重启验证。

rhel7 grub配置文件及排错root密码找回

rhel7 grub配置文件及排错root密码找回

这边截图有点慢了 其实它是10秒的等待时间。

二、加密grub

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

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

rhel7 grub配置文件及排错root密码找回

重新编译生成grub.cfg文件

rhel7 grub配置文件及排错root密码找回

随后重新启动,到了启动界面按e会提示输入用户名密码 我们设置的用户为yankai 密码为123.haha

rhel7 grub配置文件及排错root密码找回

输入密码后回车进入了编辑窗口

rhel7 grub配置文件及排错root密码找回

上面的设置的是明文密码,为了安全考虑我们怎么设置密文密码。

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

cat  <<EOF set superusers=’用户名’

password_pbkdf2 用户名加密密码 

EOF   如下图

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

rhel7 grub配置文件及排错root密码找回

我们把 | 后边的所有密文密码复制下来

rhel7 grub配置文件及排错root密码找回

复制完以后我们打开/etc/grub.d/00_header文件,在文件末尾添加以下几行

rhel7 grub配置文件及排错root密码找回

之后我们重新编译生成grub.cfg文件 重启验证。

rhel7 grub配置文件及排错root密码找回

rhel7 grub配置文件及排错root密码找回

rhel7 grub配置文件及排错root密码找回

三、root密码忘记了怎么办? 不要慌张,以下就介绍怎么找回root密码

1)重启系统按e键 进入编辑窗口

2)在linux16中最尾部添加一条信息

rd.break console=tty0

rhel7 grub配置文件及排错root密码找回

3)修改完后按ctrl+x启动

4)重新挂载在文件系统

rhel7 grub配置文件及排错root密码找回

5)改变更目录

rhel7 grub配置文件及排错root密码找回

6)修改密码

rhel7 grub配置文件及排错root密码找回

7)在根目录下创建相关的文件,用于重新标记selinux环境值

rhel7 grub配置文件及排错root密码找回

创建完成后 exit---exit 它自己会重新启动-稍等即可。

rhel7 grub配置文件及排错root密码找回

重启之后输入设置的密码即可。

rhel7 grub配置文件及排错root密码找回

四、开机grub故障

grub故障,比如我们把MBR的前446个字节都覆盖掉

rhel7 grub配置文件及排错root密码找回

重新启动则会出现以下故障现象。开机的时候会自动尝试从本地,光盘和网络加载引导程序(如果光盘、网络等引导失败则会 operatiing system not found);这里是从我的光盘加载的,因为本地的引导程序已经没有了. 

rhel7 grub配置文件及排错root密码找回

这时候我们选择Troublesshooting排错

rhel7 grub配置文件及排错root密码找回

选择 resure a red hat enterprise linux system 

rhel7 grub配置文件及排错root密码找回

出现以下选项,我们输入1 回车

rhel7 grub配置文件及排错root密码找回

光盘启动,切换根目录,挂载一下光盘到光盘挂载点--重装一下 grub2 到启动分区就可以了

rhel7 grub配置文件及排错root密码找回

然后exit--exit它会重启,等待即可

rhel7 grub配置文件及排错root密码找回

五、:如果 grub 引导程序没问题,但是我们把内核文件或者 grub.cfg 配置文件给删除了怎么办

1)删除/boot/下的所有文件

rhel7 grub配置文件及排错root密码找回

2)随后重启如下:

rhel7 grub配置文件及排错root密码找回

3)和前面一样我们进入调试bios选项进入光盘选项 这里就不再介绍了。

解决办法:重新安装内核,可以使用rpm或者yum,用yum需要卸载当前的 在安装

rpm 可以强行--force 覆盖安装。 

rhel7 grub配置文件及排错root密码找回

4)装完内核之后,重新安装一次 grub2, 输入 grub2-install /dev/sda, 然后重新编译一下 grub2 就行了 

rhel7 grub配置文件及排错root密码找回
随后exit--exit重启验证 注意:重启之后进入bios调试 把CD-ROM优先级调下边以免开机进入bios

rhel7 grub配置文件及排错root密码找回

重启后等待系统开机即可,希望对您有所帮助。