如何恢复Fedora中无法启动的systemd-modules-load.service服务?
修复Fedora启动时systemd-modules-load.service失败的问题
步骤1:在rd.break紧急模式下获取可读写的根环境
当你通过添加rd.break内核参数进入受限shell后,执行以下命令:
# 将根文件系统重新挂载为可读写模式 mount -o remount,rw /sysroot # 切换到真实的系统根环境 chroot /sysroot
步骤2:定位modules-load.d中的错误配置
问题根源是你修改的modules-load.d配置文件存在错误(比如模块名拼写错误、模块不存在),按以下方式排查:
- 列出所有modules-load.d目录下的配置文件:
ls -l /etc/modules-load.d/ - 查看你为Anbox修改过的配置文件(比如
anbox.conf)内容:cat /etc/modules-load.d/你的配置文件名.conf - 检查文件中每行的模块名是否正确,比如Anbox需要的
ashmem_linux和binder_linux是否拼写正确。
步骤3:临时移除/修正错误配置
- 如果找到可疑配置文件,先重命名备份:
mv /etc/modules-load.d/可疑文件名.conf /etc/modules-load.d/可疑文件名.conf.bak - 若不确定哪个文件出错,可暂时移走所有自定义配置:
mkdir -p /etc/modules-load.d/backup mv /etc/modules-load.d/*.conf /etc/modules-load.d/backup/
步骤4:验证服务能否正常启动
执行以下命令测试服务启动情况,并查看错误日志:
# 尝试启动服务 systemctl start systemd-modules-load.service # 查看服务的详细错误日志(如果启动失败) journalctl -u systemd-modules-load.service -xe
根据日志提示的具体错误(比如“Failed to find module 'xxx'”),修正配置文件中的错误模块名,或者删除对应模块的加载行。
步骤5:恢复系统并重启
处理完成后,退出chroot环境并重启:
exit reboot
额外注意事项
如果你之前尝试禁用了systemd-modules-load.service,需要重新启用它:
systemctl enable systemd-modules-load.service
内容的提问来源于stack exchange,提问作者Maxwell
相关产品推荐
相关产品推荐

