0

0

systemd 挂载单元失败显示 "Dependency failed" 但手动 mount 成功

舞夢輝影

舞夢輝影

发布时间:2026-01-18 15:51:55

|

179人浏览过

|

来源于php中文网

原创

systemd挂载失败主因是依赖单元未就绪,需检查Requires/After声明、反向依赖、fstab冲突及挂载点目录存在性,并通过journalctl定位具体失败依赖。

systemd 挂载单元失败显示 \

这通常是因为 systemd 挂载单元(.mount)依赖的其他单元(如网络、远程文件系统服务、或目标单元)未就绪,而手动 mount 时绕过了这些依赖检查。

检查挂载单元的依赖关系

systemd 在启动挂载单元前会严格检查 Wants=Requires=After= 等声明的依赖项是否已激活。如果依赖失败或超时(例如 NFS 服务器未响应、网络未就绪),挂载就会被跳过并报 “Dependency failed”。

  • 运行 systemctl list-dependencies --reverse your-mount-unit.mount 查看哪些单元依赖它,反向推导其前置条件
  • systemctl cat your-mount-unit.mount 检查 [Unit] 段中是否写了 Requires=network-online.targetAfter=nfs-client.target 等,但对应 target/service 实际未启动成功
  • 执行 systemctl status your-mount-unit.mount,重点看 Loaded 行末尾的依赖提示(如 (TriggeredBy: network-online.target)),再查那个 target 的状态

确认挂载点路径和 fstab 兼容性

systemd 会自动将 /etc/fstab 条目转为动态挂载单元,若同时存在同名的自定义 .mount 单元,可能引发冲突或依赖解析异常。

Designs.ai
Designs.ai

AI设计工具

下载
  • 确保没有重复定义:运行 systemctl list-units --type=mount | grep your-mount-point,看是否出现两个同名单元(如 mnt-data.mountmnt-data.automount
  • 若使用自定义 .mount 单元,建议从 /etc/fstab 中移除对应条目,避免 systemd 生成冲突的隐式单元
  • 挂载点目录必须存在且权限正确;systemd 不会自动创建父目录(除非加 mkdir -pExecStartPre= 中)

调试依赖未就绪的典型场景

常见于网络存储(NFS/CIFS)或加密卷(LUKS+ext4),它们对时机敏感:

  • NFS 挂载:需确保 nfs-client.target 已启动,且 rpc-statd.servicerpcbind.service(如需要)处于 active 状态;可加 Requires=nfs-client.targetAfter=nfs-client.target
  • CIFS 挂载:依赖网络和 systemd-networkd-wait-online.service(或 NetworkManager-wait-online.service),否则可能在 IP 还没配好时就尝试挂载
  • LUKS 解密后挂载:需明确设置 Requires=dev-mapper-your-crypt.deviceAfter=dev-mapper-your-crypt.device,不能只依赖 .device 自动发现

临时验证与修复建议

先快速定位问题,再做持久化修复:

  • systemctl start your-mount-unit.mount 手动触发,观察实时错误:journalctl -u your-mount-unit.mount -n 50 -f
  • 若报 “Job for xxx.mount failed. See 'systemctl status xxx.mount' and 'journalctl -xn'.”,接着运行 journalctl -xn 查最近 10 行完整上下文,常能看到具体哪个依赖 unit failed
  • 确认无误后,用 systemctl daemon-reload 重载配置,再 systemctl enable your-mount-unit.mount 启用开机挂载

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

84

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

24

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

56

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

16

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

9

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

26

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java 教程
Java 教程

共578课时 | 47.4万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号