rhel7 grub配置文件及排错 破解root密码

rhel7 grub配置文件及排错linux

RHEL7用了grub2,而再也不是grubshell

MBR分区的前446个字节存放的是系统引导程序grub,中间64字节是分区表,最后2个字节表示结束。那么什么是grub是怎么工做的呢?网络

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

1BIOS自检,检查硬件;ui

2、激活MBRMBR上不存在文件系统,能够视做硬件一部分,所以能够被直接读取加密

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

4、经过这个微系统,他会去引导分区,好比默认通常是sda1上去找内核文件如vmlinuz,而后再调用grub的配置文件。命令行

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

/boot/grub2/grub.cfg  /etc/grub2.cfg/boot/grub2/grub.cfg文件的符号连接)blog

/etc/grub.d/  

/etc/default/grub

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

wKiom1b-RAyiMl48AAAOnWvnOfY340.png 

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

wKiom1b-RBWCvn_pAAA_kVE7PiQ736.png 

这个是/etc/default/grub 文件。和其余的脚本比较起来,很是简单直观了。后面会举例如何修改

须要注意的是,最好不要直接去修改 /etc/grub2.cfg 文件。这个是由于若是后期升级内核,全部的配置都会失效。若是须要自定义这个文件,咱们能够修改对应的脚本或者 /etc/default/grub文件,而后经过 grub2-mkconfig 从新生成grub.cfg文件。

1:修改启动的等待时间

rhel7默认启动等待时间为5秒,下面将启动时间修改成3秒(注:若是改成-1,那么每次启动时需手动确认才能够)

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

wKiom1b-RCSS9CNEAAAXCfgHZZQ215.png 

修改以后从新编译生成grub.cfg文件

wKioL1b-RNKzbwrjAAAWKou8PVI729.png 

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

3:加密grub

开机界面的时候若是输入e,会打开编辑窗口,咱们能够根据须要进入rescue, emergency 或者 shell 模式。如何限制访问。

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

wKiom1b-RDbTLUr2AAAEjumesL0793.png 

从新编译生成grub.cfg文件

wKioL1b-ROaSgsxEAAAXt3pkEn0619.png 

重启以后输入e,就须要用户和密码才能进入编辑窗口了

以上设置的是明文密码,那如何设置密文口令呢?

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

wKioL1b-RV-gv6ZIAAACyqe0DQo308.png 

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

cat  <<EOF

set superusers=用户名

password_pbkdf2 用户名加密密码

EOF

以下图所示:

wKioL1b-RXLR4eLDAAAQa1dVrPY821.png 

从新编译生成grub.cfg文件

grub2-mkconfigo /boot/grub2/grub.cfg

重启验证

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

wKioL1b-RX3iNQfMAAAQvPjjZC8736.png 

 

 

在这个编辑窗口,咱们能够根据须要进入 rescueemergencyshell引导的3种模式。这3种模式对于系统启动排错颇有帮助,好比某个服务卡住了没法加载咱们能够经过这3种模式来排错。

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

wKiom1b-ROOipfCqAAAPoE2cuTw521.png 

ctrl+x启动

普通模式须要加载的服务不少,可是这个rescue模式加载的就少不少了,输入管理员密码就能够进入了。

wKioL1b-RZPxVjTcAAAnQHxCLP8705.png 

emergency 模式和rescue模式相似,不过加载的服务更少,把s改为 emergency就好了

 

那么若是忘记root密码了怎么办? 

方法1

1、重启系统,按e

2、在linux16那行的最尾部加上一下信息

rd.break  console=tty0

wKiom1b-RQeTsrZ4AACHB0UrsWE928.png 

3、按ctrl+x启动

4、从新挂在文件系统

wKiom1b-RRPQBRupAAAkcc9jWVM791.png 

5、改变根目录

wKioL1b-Rc-T0zKIAAAkad-2SFY201.png 

6、修改root密码

wKiom1b-RTiAjmD-AACa9GEN3Os000.png 

7、在根目录下建立相关文件(用于从新标记selinux环境值)

wKioL1b-ReiDLkfSAAAYcWFPz0s625.png 

8、退出,系统将会重启

wKiom1b-RU6z7sgeAAAsdHEKopE564.png 

方法2

linux16 的最后一行删除 rhgb quiet, 而后添加 init=/bin/sh, 他会用shell替代默认的daemon进程

wKiom1b-RWrxyZSfAAAQfpgv9Dw036.png 

ctrl+x启动

挂载文件系统为可写模式,缘由很简单,根目录加载的权限是ro,只读,从新加载成 rw的权限。

wKiom1b-RXuQ7OXXAAACJBErLsE078.png 

这个时候就能够修改密码了,执行passwd,按提示修改root密码

wKiom1b-RYXSMtWoAAAK95uOe2s802.png 

如何以前系统启用了selinux,必须运行如下命令,不然将没法正常启动系统:

wKioL1b-RjiRqkvtAAADN3xkQyE171.png 

建立这个文件会自动在开启的时候从新作标签即用于从新标记 SELINUX 环境值

运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启

注意:红帽考试时建议使用方法1,方法2在考试环境中以过期了。

开机排错

1. grub故障:好比把MBR的前446个字节都覆盖了。

wKiom1b-RZ-DcT9_AAAHmHoRg4Q435.png 

系统重启后则出现以下故障现象

开机的时候会自动尝试从本地,光盘和网络加载引导程序(若是光盘、网络等引导失败则会operatiing system not found);这里是从个人光盘加载的,由于本地的引导程序已经没有了.

wKioL1b-RlHBe7rDAAAN1ktMC-4727.png 

选择troubleshooting (排错)

wKiom1b-RbqwL6yJAAALEMnmXhY304.png 

选择resure a red hat enterprise linux system

wKiom1b-RdvhIyGuAAAUx2LUImo889.png 

选择continue,注意有耐心多等一下,有的时候会卡个10秒才有反应

按照提示,切换根到本机的系统

wKioL1b-Royh0qetAAArNfMxc2s025.png 

fdisk -l 看看启动分区是哪一个,有星号的就是

wKiom1b-RiKTp15jAAAKaMXGm1Q880.png 

重装一下 grub2 到启动分区就能够了

wKiom1b-RjDyHP26AAAG4DAFQ8I351.png 

重启就OK

2:若是grub引导程序没问题,可是咱们把内核文件或者grub.cfg配置文件给删除了怎么办

wKiom1b-Rj2Bcpv7AAAXPeEoHYU168.png 

重启以后,直接进入grub的救援模式,这代表引导程序木有问题,可是引导文件找不到了

wKioL1b-Ru3RAom_AAAFbg0JU_Q920.png 

和前面同样,光盘启动,切换根目录,挂载一下光盘到光盘挂载点, 顺便看看/boot目录,里面空荡荡的,内核文件和配置文件都没了

wKiom1b-RlOCKPYHAAAIHyJ4-B4261.png 

解决方法就是从新安装内核,能够用rpm 或者yum,用yum须要先卸载当前的,再安装; rpm能够强行--force覆盖安装。

wKiom1b-Rl7DhYBYAAAQRfpLiOE599.png 

装完内核以后,从新安装一次 grub2, 输入 grub2-install /dev/sda, 而后从新编译一下grub2就好了

wKioL1b-RxOShm5uAAAZmzAYfDE915.png 

重启系统就能够了。

重启以后,若是碰见如下问题:

问题是开机直接进入命令行模式,即便runlevel显示的是5,手动输入startx同样报错。

解决方式是从新安装图形化界面

yum grouplist

yum groupinstall 'Server with GUI'

相关文章
相关标签/搜索