Linux的系统排错

系统引导过程

系统引导指的是将操作系统内核装入内存并启动系统的过程。

系统引导概念图:
在这里插入图片描述

一、硬盘引导阶段,mbr主引导记录的恢复

模拟问题:

dd if=/dev/zero of=/dev/vda bs=446 count=1 ##从设备截取446字节的空间,覆盖原有的主引导记录,使得磁盘引导阶段出现问题。

且重启后系统起不来
在这里插入图片描述

原因: 没有了主引导记录,磁盘不知道下一步读取那部分内容。

解决方法:
我们可以从光驱中重新读取,恢复硬盘丢失的主引导记录。

步骤一: 从光驱启动
在这里插入图片描述
在这里插入图片描述

步骤二: 进入挽救页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注: 最终正常启动即可!

二、引导文件丢失的解决方案

模拟问题:

  rm -fr grub2/grub.cfg                   ###删除引导文件

在这里插入图片描述

解决方法:

1. 如果删除引导文件后未重启系统 ----------> 重新生成引导文件即可

grub2-mkconfig > /boot/grub2/grub.cfg          ##重新生成引导文件

在这里插入图片描述

2. 如果引导文件丢失后,重启了系统: ------> 手动引导

步骤一: 重新启动时,系统会让你指定引导文件内容:
在这里插入图片描述

  set root='hd0,msdos1'
  输入linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1
  initrd16 /initramfs-3.10.0-123.el7.x86_64.img
  boot

在这里插入图片描述
则回车启动成功。

步骤二: 生成引导文件

启动成功后(临时的)。若不生成引导文件,下次启动依然需要指定引导文件内容。
生成引导文件

grub2-mkconfig > /boot/grub2/grub.cfg          ##重新生成引导文件

在这里插入图片描述

四 系统内核文件丢失的恢复

模拟问题

rm -rf /boot/vmlinuz-3.10.0-123.el7.x86_64       ##删除内核文件

在这里插入图片描述

解决方案
步骤一 : 进入挽救模式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

五 系统初始化镜像文件丢失的恢复

模拟问题

rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img     ##删除系统初始化镜像文件

在这里插入图片描述

解决方案
该文件是通过命令生成的。删除后,可以通过命令恢复

没有重启系统

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 
                 #$uname -r显示版本号,加了括号,表示括号内的内容先执行,恢复镜像文件

在这里插入图片描述

重启了系统

切换到光驱启动进入到挽救模式

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) #命令生成系统初始镜像文件

在这里插入图片描述
在这里插入图片描述

六 系统启动级别的修复

模拟问题

systemctl set-default reboot.target      ##开机自动重启
ls -l default.target                     ##设置为一直重启模式

解决方案

步骤一: 开机按上下键停止读秒,按“E”进入编辑模式
在这里插入图片描述
步骤二: 选择内核启动行(hang),linux16 /vmlinuz-xxxxxx ro xxxxxxxxxxxxx, 手动输入级别5,ctrl+x退出,启动系统
在这里插入图片描述
步骤三: 回到图形界面将启动级别改回来

systemctl set-default graphical.target #重新设定启动

在这里插入图片描述

七 root用户密码破解的方案

步骤一:
在这里插入图片描述
步骤二:选择内核启动行:linux16 /vmlinuz-xxxx ro xxxx
修改为:ro ——> rw rd.break #改为读写,并在内核启动完成后终止系统初始化程序的执行
在这里插入图片描述
步骤三:

chroot /sysroot                     #开启shell
echo westos | passwd --stdin root   #永久修改root用户密码
touch /.autorelabe                  #重新初始化selinux,当selinux未开启时不需要操作

在这里插入图片描述
步骤四: 成功登陆!

用户名:root
密码:westos

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值