ubuntu22.04部分分区挂载失败,进入紧急模式emergency mode

ubuntu22.04部分分区挂载失败,进入紧急模式emergency mode

1、问题描述

在ubuntu22.04文件系统启动过程中,如果某个分区在/etc/fstab定义了,但是某些原因导致分区损坏,致使在挂载过程中失败。ubuntu会进入到一个emergency mode,ubuntu启动过程中会打印log信息,如下:

You are in emergency mode. After logging in, type "journalctl -xb" to view

2、问题解决

2.1 修改/etc/fstab文件

可以将挂载不上的分区从/etc/fstab配置文件上删掉

#PARTLABEL=userdata     /userdata           ext4        defaults                0       2

2.2 修改服务进程

通过修改服务进程,让挂载失败后,不进入紧急模式emergency mode,然后通过手动修复分区,重新挂载的方式。
修改/lib/systemd/system/local-fs.target文件,把OnFailure和OnFailureJobMode屏蔽掉
OnFailure=emergency.target
OnFailureJobMode=replace-irreversibly

[Unit]
Description=Local File Systems
Documentation=man:systemd.special(7)
DefaultDependencies=no
Conflicts=shutdown.target
After=local-fs-pre.target
#OnFailure=emergency.target
#OnFailureJobMode=replace-irreversibly

通过上述的修改,系统启动过程中就算挂载失败也可以正常进入到系统。

3、定位问题

紧急模式是由于由于emergency.target触发的,将这个为线索进行搜索。

grep emergency.target -r /lib/systemd/system
或者
grep emergency.target -r /etc/systemd/system

再使用指令systemctl list-dependencies查看依赖关系

systemctl list-dependencies

在这里插入图片描述
那接下来是如何复现问题了
可以进行模拟分区损坏了,去破环分区,来复现是否有效修改

dd if=/dev/zero of=/dev/mmcblk0p8 bs=1 count=1024 seek=1024 conv=notrunc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赟赟、嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值