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

来源:互联网 发布:fm2药淘宝交易 编辑:程序博客网 时间:2024/06/06 01:37

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


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



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

二、加密grub

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

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


重新编译生成grub.cfg文件


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


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


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

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

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

password_pbkdf2 用户名加密密码 

EOF   如下图

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


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


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


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




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

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

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

rd.break console=tty0


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

4)重新挂载在文件系统


5)改变更目录


6)修改密码


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


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


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


四、开机grub故障

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


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

这时候我们选择Troublesshooting排错


选择 resure a red hat enterprise linux system 


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


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


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


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

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


2)随后重启如下:


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

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

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


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


随后exit--exit重启验证 注意:重启之后进入bios调试 把CD-ROM优先级调下边以免开机进入bios


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