linux更改硬盘紧急模式,Linux系统各个工作模式介绍以及进入紧急模式故障分析解决...

工作中碰到过好多次系统进入了紧急模式的问题,抽时间把相关的总结出来!

故障分析解决:

操作系统启动异常可能会进入紧急模式,碰到过如下情况(系统:centos系统):

1 iscsi 等远端访问磁盘出错导致:

打印如下:

1b78fe7a45717e2734cbe975fd368651.png

此时需要 root 密码进入系统,进入系统后根据提示通过 journalctl -xb 查看日志,分析具体是启动过程中哪个服务失败导致的。

一般来说,多个系统服务的启动失败都有可能导致系统进入紧急模式,包括 initrd-root-fs.target、initrd-switch-root.service、initrd-parse-etc.service

initrd-cleanup.service、initrd-fs.target、local-fs.target 以及 initrd.target。但比较常见的是一般是 local-fs.target 挂载本地文件系统失败导致。

可以首先通过命令 systemctl status local-fs.target 查看是否是本地文件系统挂载失败,如果是,再进一步对比查看日志与 /etc/fstab 确认是一

个磁盘挂载失败,较为常见的原因是 /etc/fstab 中有通过 iscsi 等远端访问的磁盘,而未添加 _netdev 挂载属性。

进一步,则需要查看日志,依次确认是哪一个服务导致的系统进入紧急模式。

2 系统switch-root失败导致:

打印如下:

2a80feebce353cd10e461600637a90bd.png

进入系统后根据提示通过 journalctl -xb 查看日志,找到如下的打印信息:

99b34805c69802f8b42a05d87653a0ab.png

根据提示信息可以发现是initrd-switch-root.service服务失败导致进入了紧急模式,查看对应的服务内容:

[Unit]

Description=Switch Root

DefaultDependencies=no

ConditionPathExists=/etc/initrd-release

OnFailure=emergency.target  // 服务失败进入紧急模式

OnFailureJobMode=replace-irreversibly

AllowIsolate=yes

[Service]

Type=oneshot

# we have to use "--force" here, otherwise systemd would umount /run

ExecStart=/usr/bin/systemctl --no-block --force switch-root /sysroot

KillMode=none

对比系统是否有/etc/initrd-release文件,如果有,执行/usr/bin/systemctl --no-block --force switch-root /sysroot,出现如下信息:

ebd3eefd048b0873098520631b2963d6.png

小系统里面/sysroot可以正常挂载,说明/sysroot是一个完整的系统,os-tree完整,很可能就是缺失os-release文件,查看大系统的确缺少,找一个正常的系统

把/etc/os-release文件拷贝进去或者重新安装包(centos-release)就行,系统正常启动。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值