linux系统排错恢复

1、磁盘引导阶段 mbr主引导记录异常的恢复

磁盘引导阶段 mbr主引导记录如果损坏或者缺失导致系无法正常启动。
模拟问题 :
使用该命令dd if=/dev/zero of=/dev/vda bs=446 count=1 #剪切446个字节的数据放入主引导记录所在的磁盘。通过 fdisk -l 查看系统存储设备,带有*的磁盘为主引导记录所在的磁盘。
在这里插入图片描述
出现系统启动异常
在这里插入图片描述

  • 选择进入挽救模式
    关闭虚拟机
    在这里插入图片描述
    讲系统安装包关在在光驱之上
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    chroot=/mnt/sysimage
    grub2-install /dev/vda #恢复主引导记录mbr
    exit
    exit
    #退出挽救模式
    在这里插入图片描述
    在这里插入图片描述
    退出使用系统镜像进行启动程序,选择使用硬盘进行系统启动。系统正常开启。
    在这里插入图片描述
    在这里插入图片描述
    挽救模式只是临时使系统正常开启,正常进入系统之后需要再次对主引导记录进行恢复。
    grub2-install /dev/vda
    在这里插入图片描述
    在这里插入图片描述
2、文件引导阶段引导文件丢失

引导文件: /boot/grub2/grub.cfg 作用:
1 指定/boot分区位置
2 加载内核
3 启动系统初始化进程

问题模拟:rm -fr /boot/grub2/grub.cfg 删除文件引导文件。
在这里插入图片描述

  • 当系统没有重启的时候
grub2-mkconfig > /boot/grub2/grub.cfg

使用该命令直接生成新的引导文件即可。

  • 当系统重新启动以后
    在这里插入图片描述
grub> set root='hd0,msdos1'    #指定/boot 分区的位置

#‘hd0,msdos1’(表示第一个磁盘的第一个分区),该位置为系统/boot分区所咋的位置,不是固定的,根据自己系统/boot分区的实际位置确定

grub> linux16 /vmlinuz-3.10-123.el7.x86_64 ro root=/dev/vd3    #指定内核文件以及根分区所在位置

#3.10-123.el7.x86_64为系统版本,根据具体系统版本而定;/dev/vd3 为/所在的设备名称,根据系统实际的根分区确定。
grub> initrd16 /initramfs-3.10.0-123.el7.x86_64.img # 指定系统初始化文件

grub> boot   #继续启动 

在这里插入图片描述
在这里插入图片描述
以上操作可以是系统正常启动,但是时临时的,所以进入系统后哈时需要执行:
grub2-mkconfig > /boot/grub2/grub.cfg
才能生成新的引导文件,确保下次正常系统正常启动。
在这里插入图片描述

3、文件引导阶段内核文件丢失

内核文件:/boot/vmlinuz-3.10.0-123.el7.x86_64
模拟问题 rm -fr /boot/vmlinuz-3.10.0-123.el7.x86_64
在这里插入图片描述

  • 进入挽救模式
chroot  /mnt/sysimage    #切换正常的跟环境
mount /dev/sr0  /mnt  #将带有系统安装包的光驱挂载在任意目录上
cd /mnt  #进入系统光盘
cp kernel-3.10.0-123.el7.x86_64.rpm /opt #将系统内核安装包复制到另一个目录
cd /opt # 切换到存放内核安装包的目录
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm |cpio -id   #将压缩的安装包进行解压
ls #显示该安装包分解后产生的文件
cd boot/   # 进入解压后产生的boot目录中,该目录中存在需要的内核文件。
cp  vmlinuz-3.10.0-123.el7.x86_64 /boot   #将系统丢失的内核文件复制到/boot中
exit
exit   #退出

在这里插入图片描述
在这里插入图片描述
退出挽救模式。选择使用磁盘启动系统 关闭虚拟机后开启,系统正常启动。

4、文件引导阶段系统初始化镜像文件丢失

系统初始化文件:/boot/initramfs-3.10.0-123.el7.x86_64.img
#模拟问题 : rm -fr /boot/initramfs-3.10.0-123.el7.x86_64.img
在这里插入图片描述

  • 当系统没有重启的时候
    mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
    uname -r #显示当前系统版本
    恢复正常
  • 当系统重启之后
    在这里插入图片描述
    进入挽救模式
    chroot /mnt/sysimage     #切换到正常的跟环境,
    mkinitrd   /boot/initramfs-$(uname -r).img $(uname -r)  # 重新生成系统初始化文件

在这里插入图片描述
退出挽救模式
使用磁盘启动系统即可

5、无限重启

模拟问题:systemctl set-default reboot #默认系统默认开机重启 导致一直在重新启动
在这里插入图片描述
开机时候在下图界面按上下键进行选择,然后按e
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ctrl+x 继续进行系统启动
正常进入系统后 进行设置systemctl set-default graphical.target ,将默认指向图形模式
在这里插入图片描述

6、忘记超级用户密码,进行重新设置

忘记超级用户密码,无法使用超级用户,需重新进行设置。
开机时候在下图界面按上下键进行选择,然后按e
在这里插入图片描述
进入下图界面,对内核文件进行修改
在这里插入图片描述
ctrl+x 继续进行系统启动
在这里插入图片描述
touch /.autorelabel #在内核强制级别下需要让内核知道进行的修改。默认一般使用该步骤。
退出后系统正常启动,超级用户密码为新设置的密码。

猜你喜欢

转载自blog.csdn.net/shang_feng_wei/article/details/89422366