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
修改完成后,我们重新编译成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
重启后等待系统开机即可,希望对您有所帮助。