【问题处理】常见Linux系统启动失败

发布时间 2023-10-07 15:29:22作者: Luxf0

一、/dev/centos/swap does not exist

1、问题描述

服务器引导启动失败进入dracut:/#界面,提示Could not boot. /dev/centos/swap does not exist

2、原因分析

存在以下两种可能,需要临时修复进入系统后方可确认根因

  • a、grub引导配置指向swap信息不正确,系统引导时无法加载对应swap信息,导致系统引导失败

  • b、swap lv被误删除(/dev/centos/swap),系统引导时无法加载对应swap信息,导致系统引导失败

3、解决措施

  • 重启服务器,在选择引导启动界面,按下e进入grub修改界面,删除rd.lvm.lv=centos/swap配置,按下Ctrl + x引导启动

  • 引导启动进入系统后,修改/etc/grub2.cfg,纠正关于swap的配置(删除swap配置或者修改正确的swap路径)

二、Failed to mount /sysroot

1、问题描述

服务器引导启动失败进入:/#界面,提示Failed to mount /sysroot

2、原因分析

系统盘/dev/mapper/centos-root文件系统损坏,导致无法/根目录无法挂载,需要对文件系统修复后重试

3、解决措施

执行xfs_repair -L /dev/mapper/centos-root命令修复系统盘文件系统之后,重启服务器

a、修复系统盘文件系统
/# xfs_repair -L /dev/mapper/centos-root
b、重启服务器,系统可正常引导,查看/dev/mapper/centos-root成功挂载到根目录
[root@node58 ~]# df | grep root
/dev/mapper/centos-root                      52403200   16883624     35519576  33% /

三、重启服务器,系统无法引导,进入grub界面

1、问题描述

参考下图示意,重启服务器,系统无法引导,进入grub界面

2、原因分析

/boot/grub2/grub.cfg文件损坏

3、解决措施

  • 查看当前分区情况,如下图所示,存在grub、grub2、efi等文件夹,说明该分区为/boot启动分区

  • 设置root
set root=(hd0,msdos1)
  • 设置linux16
linux16 /vmlinuz-3.10.0-957.el7.x86_64 root=/dev/mapper/centos-root
  • 设置initrd16
initrd16 /initramfs-3.10.0-957.el7.x86_64.img 
  • 引导启动
boot
  • 系统启动后,重新生成grub.cfg文件
grub2-mkconfig -o /boot/grub2/grub.cfg