Linux下的系统排错以及无图形修改root密码

一、Linux系统引导过程

(1) 开机BIOS(基本输入输出系统)自检,加载硬盘。
(2) 读取MBR,进行MBR引导。
(3) grub文件引导去寻找boot所在分区(Boot Loader)。
(4) 加载内核kernel。
(5) 启动init进程,进入初始化阶段
(6) 启动systemd初始化进程。
(7) 读取/etc/systemd/中的文件。
(8) 启动程序,执行/etc/rc.d/rc.local
(9) 启动登陆环境,进入系统登陆界面。

二、系统引导过程中的排错

1. 硬盘引导阶段
MBR主引导记录的恢复:
MBR的作用是为了记录/boot目标所在分区位置
(磁盘的0磁道1扇区的前446字节)
模拟问题: dd if=/dev/zero of=/dev/sda bs=446 count=1
首先查看/boot分区在那块磁盘上:
Linux下的系统排错以及无图形修改root密码
问题模拟,并重启
Linux下的系统排错以及无图形修改root密码
问题解决:

重启之后出现以下界面,如图所示:
Linux下的系统排错以及无图形修改root密码
关机,修改虚拟机启动方式,如下所示:
Linux下的系统排错以及无图形修改root密码
再次开机出现以下界面,选择Troubleshooting
Linux下的系统排错以及无图形修改root密码
选择第二个进入挽救模式,如下图所示:
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
在终端进行以下步骤,如图所示:
Linux下的系统排错以及无图形修改root密码
修改虚拟机启动方式,改为原来的由磁盘管理,如下图所示:
Linux下的系统排错以及无图形修改root密码
再次启动进入登陆界面,如下所示:
Linux下的系统排错以及无图形修改root密码
2. 文件引导阶段
引导文件的恢复:

模拟问题: rm -rf /boot/grub2/grub.cfg
首先了解引导文件的路径与内容:
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码

问题解决:

情况一: 当系统没有重新启动时
Linux下的系统排错以及无图形修改root密码
情况二: 当系统重新启动时
Linux下的系统排错以及无图形修改root密码
重新启动以后,你会看到以下界面,如图所示:
Linux下的系统排错以及无图形修改root密码
在上面的界面输入以下命令,如图所示:
Linux下的系统排错以及无图形修改root密码
此时你会看到登陆界面,如图所示:
Linux下的系统排错以及无图形修改root密码
但是,上面的操作只是临时的,为了不影响后后面操作,我们还需要进行以下操作,如图所示:
Linux下的系统排错以及无图形修改root密码
3. 内核文件丢失
内核文件的恢复:

模拟问题: rm -rf /boot/vmlinuz-3.10.0-514.el7.x86_64
首先了解内核文件的路径与内容:
Linux下的系统排错以及无图形修改root密码
问题模拟并重启,如下图所示:
Linux下的系统排错以及无图形修改root密码
问题解决:

重启以后会出现以下界面,如图所示:
Linux下的系统排错以及无图形修改root密码
关机,修改虚拟机启动方式,如下所示:
Linux下的系统排错以及无图形修改root密码
进入挽救模式,如下所示:
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
在终端进行以下步骤,如图所示:
Linux下的系统排错以及无图形修改root密码
关机,修改虚拟机启动方式,以硬盘启动,如下图所示:
Linux下的系统排错以及无图形修改root密码
此时你会看到以下界面,修复成功,如下所示:
Linux下的系统排错以及无图形修改root密码
4. 系统镜像文件丢失
系统镜像文件的恢复:

模拟问题: rm -rf /boot/initramfs-3.10.0-123.el7.x86_64.img
首先了解镜像文件的路径与内容:
Linux下的系统排错以及无图形修改root密码
问题解决:

情况一: 当系统没有重新启动时
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
情况二: 当系统重新启动时
Linux下的系统排错以及无图形修改root密码
系统重新启动以后,你会看到以下界面,如下图所示:
Linux下的系统排错以及无图形修改root密码
关机,更改启动方式为光盘启动,如下图所示:
Linux下的系统排错以及无图形修改root密码
重新启动,进入挽救模式后,执行下面命令,如图所示:
Linux下的系统排错以及无图形修改root密码
关机,改变虚拟机的启动方式,如下图所示:
Linux下的系统排错以及无图形修改root密码
重新启动,进入以下界面,修复成功
Linux下的系统排错以及无图形修改root密码
进入系统后再次查看,如图所示:
Linux下的系统排错以及无图形修改root密码
5. 开机启动级别被别人篡改
开机启动级别的恢复:

模拟问题: systemctl set-default reboot.target
首先了解启动的内容:
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
问题解决:
Linux下的系统排错以及无图形修改root密码
当我们开机后系统会不段重启,此时在该界面按上下键停止读秒,如图所示:
Linux下的系统排错以及无图形修改root密码
按"e"进入编辑模式,如下图所示:
Linux下的系统排错以及无图形修改root密码
删除上图中框选的内容,并修改为以下命令,如图所示:
Linux下的系统排错以及无图形修改root密码
按 ctrl + x进入登陆界面,如下图所示:
Linux下的系统排错以及无图形修改root密码
重新设定启动,如下图所示:
Linux下的系统排错以及无图形修改root密码
三、无图形界面修改root密码

1.开机按上下键停止读秒,如下图所示:
Linux下的系统排错以及无图形修改root密码
2.按"e"进入编辑模式,删除框选的内容,并添加rw rd.break,如下图所示:
Linux下的系统排错以及无图形修改root密码
Linux下的系统排错以及无图形修改root密码
按crtl + x 进入系统,编辑以下命令,如图所示:
Linux下的系统排错以及无图形修改root密码
最后出现以下界面,可用修改完的密码登陆,如图所示:
Linux下的系统排错以及无图形修改root密码