Entering emergency mode. Exit the shell to continue“journalctl‘to view system logs。【比较全的解决办法】

Entering emergency mode. Exit the shell to continue“journalctl‘to view system logs。【比较全的解决办法】_第1张图片

1. 进入紧急模式并查看日志

  1. 输入root密码
    在紧急模式提示符下,输入root用户的密码以获得访问权限(如果root密码已知)。

  2. 查看系统日志
    运行以下命令查看启动日志,定位具体错误原因:

    journalctl -xb
    
    • / 键滚动日志,或使用 Ctrl+C 退出。
    • 关注以下关键错误信息:
      • Failed to mount /sysroot:根文件系统挂载失败。
      • XFS (dm-0)::文件系统错误(如XFS损坏)。
      • dracut-initqueue timeout:初始化脚本超时。
      • No such device /dev/mapper/xxx-root:LVM或磁盘映射问题。

2. 检查并修复文件系统

情况1:文件系统损坏(如XFS)
  • 确定损坏的分区
    通过日志中的 XFS (xxx)Failed to mount /dev/xxx 找到问题分区(如 /dev/dm-0/dev/sda1)。

  • 修复文件系统
    使用 xfs_repair 强制修复XFS文件系统:

    xfs_repair -v -L /dev/xxx
    
    • -L 参数会清空文件系统日志(可能丢失元数据,慎用)。
    • 示例:
      xfs_repair -v -L /dev/dm-0
      xfs_repair -v -L /dev/sda1
      
  • 验证修复结果
    修复完成后重启系统:

    reboot
    
情况2:通用文件系统错误
  • 使用 fsck 检查并修复文件系统:
    fsck -y /dev/xxx
    
    • -y 参数自动修复发现的错误。
    • 示例:
      fsck -y /dev/sda1
      

3. 处理LVM或磁盘映射问题

  • 检查LVM状态
    如果日志中提示 No such device /dev/mapper/xxx-root,可能是LVM卷未正确激活:

    vgdisplay          # 查看卷组(VG)状态
    lvdisplay          # 查看逻辑卷(LV)状态
    pvdisplay          # 查看物理卷(PV)状态
    
    • 如果卷组未激活,尝试手动激活:
      vgchange -ay       # 激活所有卷组
      
  • 手动挂载根文件系统
    如果LVM正常但系统无法挂载根分区,尝试手动挂载:

    mount /dev/mapper/xxx-root /mnt
    

4. 更新initramfs和GRUB配置

如果文件系统修复后仍无法启动,可能是initramfs或GRUB配置缺失模块或参数。

更新initramfs
  • 重新生成initramfs文件:
    dracut --force
    
    或指定内核版本:
    dracut --force /boot/initramfs-$(uname -r).img $(uname -r)
    
更新GRUB配置
  • 检查 /etc/default/grub/etc/fstab 的配置是否正确:
    cat /etc/fstab       # 确保挂载点和设备名称正确
    
  • 更新GRUB配置文件:
    grub2-mkconfig -o /boot/grub2/grub.cfg
    

5. 最后手段:备份数据并重装系统

如果上述方法均无效,可尝试以下步骤:

  1. 备份数据
    在紧急模式下挂载根分区并备份重要数据到外部存储:

    mount /dev/sdXn /mnt
    cp -r /mnt/home/* /path/to/external-drive/
    
  2. 重新安装系统

    • 使用安装介质(如Live CD/USB)启动系统。
    • 选择“重装系统”或“手动分区”,确保正确配置LVM和文件系统。

常见问题及对应解决方法

错误类型 解决方法
Failed to mount /sysroot 修复文件系统(xfs_repair/fsck)或检查 /etc/fstab 配置。
No such device /dev/mapper/xxx-root 激活LVM卷组(vgchange -ay)或检查 /etc/lvm/lvm.conf 配置。
dracut-initqueue timeout 更新initramfs(dracut --force)或检查硬件连接。
XFS (dm-0): 强制修复XFS文件系统(xfs_repair -v -L)。

注意事项

  • 备份数据:在执行文件系统修复或重建操作前,尽量备份重要数据。
  • 避免强制操作xfs_repair -L 会清空日志(可能丢失元数据),仅在确认数据安全时使用。
  • 硬件检查:频繁进入紧急模式可能是硬盘故障导致,使用 smartctl 检查磁盘健康状态:
    smartctl -a /dev/sdX
    

通过以上步骤,大多数紧急模式问题可以解决。如果问题复杂或不确定操作风险,建议联系专业支持团队。


特殊例子解决


从图片中显示的信息来看,系统已经进入了紧急模式(Emergency Mode),这是因为系统在启动过程中无法找到根文件系统和交换分区。具体来说,/dev/mapper/openeuler-root/dev/openeuler/root/dev/openeuler/swap 这些设备不存在,导致系统无法继续启动。
control+D进入修复已经没用,输入密码进入排查也无效!
重装系统时发现:


从图片中的信息来看,系统检测到存在多个具有相同名称的LVM(逻辑卷管理)卷组,这导致了冲突

  1. 进入Shell环境:你可以通过按Ctrl+Alt+F1然后Ctrl+B 2来访问一个可用的shell环境。在这个环境中,你可以执行一些命令来解决存储配置问题。

  2. 获取UUID:如果你不确定哪个卷组需要重命名,可以先获取所有卷组的UUID,然后根据UUID来决定重命名哪一个。你可以使用pvs -o +vg_uuid命令来列出所有卷组及其UUID。
    Entering emergency mode. Exit the shell to continue“journalctl‘to view system logs。【比较全的解决办法】_第2张图片

  3. 重命名卷组:你需要重命名其中一个或多个卷组,使得它们的名字是唯一的。你可以使用vgrename命令来进行重命名。例如,如果你有一个名为openeuler的卷组,你可以将其重命名为openeuler_new,命令如下:

 vgrename RRdNnc-BXDb-GOiI-K84G-3oEC-Ns1b-iqHMmx openeuler_new
  1. 验证更改:在执行上述命令后,你可以再次运行pvs -o +vg_uuid命令来验证卷组名称是否已成功更改,然后重启就可以正常进系统了。

你可能感兴趣的:(Entering emergency mode. Exit the shell to continue“journalctl‘to view system logs。【比较全的解决办法】)