一、系统可能会出现的故障
1、管理员密码忘记
2、系统无法正常启动
- grub损坏(MBR损坏、grub配置文件丢失)
- 系统初始化故障(某文件系统无法正常挂载、驱动不兼容)
- 服务故障
- 用户无法登录系统(bash程序故障)
3、命令无法运行
4、编译过程无法继续(开发环境缺少基本组件)
二、单用户模式
单用户模式,也被称为维护模式,超级用户可以在此模式下恢复/修复系统问题。
在此模式下,系统会挂载所有的本地文件系统,但不开启网络接口。系统仅启动特定的几个服务和修复系统必要的尽可能少的功能。
当你想运行文件系统一致性检查来修复损坏的文件系统,或忘记 root 密码后重置密码,或要修复系统上的一个挂载点问题时,这个方法会很有用。
1、命令解释
- root 文件系统以 “只读(ro)” 模式挂载。你可以用下面的命令来验证下。下面的输出也明确地告诉你当前是在 “紧急模式”。
# mount | grep root
- 为了修改 sysroot 文件系统,需要用读写模式(rw)重新挂载它。
# mount -o remount,rw /sysroot
- 运行下面的命令修改环境,这就是大家熟知的 “监禁目录” 或 “chroot 监狱”。
# chroot /sysroot
- CentOS/RHEL 7/8 默认使用 SELinux,因此创建下面的隐藏文件,这个文件会在下一次启动时重新标记所有文件。
# touch /.autorelabel
三、模拟故障并恢复
1、管理员密码忘记
此问题处理比较简单,直接进入单用户模式进行密码更改即可。
开机启动,在出现内核选项时按"键盘e键"进行编辑;找到linux16行并在行尾添加内核参数 rd.break;并按ctrl+x进入单用户模式
mount –o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot
#######或者#######
开机启动,在出现内核选项时按"键盘e键"进行编辑;找到linux16行将 rd 改成 rw ,并在行尾添加内核参数 rd.break;并按ctrl+x进入单用户模式
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot
2、MBR损坏
- 模拟MBR损坏
#dd if=/dev/sda of=/root/mbr.backup count=1 bs=512 备份mbr数据
#dd if=/dev/zero of=/dev/sda count=1 bs=200 损坏MBR
#sync
#shutdown -r now
- 修复MBR
修复MBR需要进入紧急救援模式,挂载根文件系统,默认只读挂载在/mnt/sysimage目录下,需要修改内容挂载读写模式。
此挂载的根属于虚根。/dev没有设备文件,需要手动创建设备文件。Mknod
进入救援模式后,输入grup进入grup命令模式
查找根位于的磁盘,设定根
grub>find (hd0,0)/tab键
退出grup模式,sync同步到磁盘,重启
3、grup配置文件丢失
- 模拟grup文件丢失
- 报错信息
- 修复过程
输入boot回车启动,手动创建grup文件
chroot /mnt/sysimage/加载系统镜像此时会进入bash环境
grub2-install /dev/sda,重新构建sda磁盘
grub2-mkconfig -o /boot/grub2/grub.cfg,重新构建grub菜单配置文件
4、bash程序故障
- 模拟故障
- 故障现象
- 修复bash
挂载光盘
安装bash到根系统下
切换根环境
参考
单用户:https://linux.cn/article-12181-1.html
bash丢失:https://blog.csdn.net/weixin_40908896/article/details/93188977