Ubuntu 22.04启动时提示“Failed to start Apply Kernel Variables”问题求助
Ubuntu 22.04启动时提示“Failed to start Apply Kernel Variables”问题求助
嘿,从你贴出来的systemctl status systemd-sysctl.service日志里,我已经找到导致这个启动报错的具体原因啦,咱们一步步来修复:
问题根源分析
日志里明确显示了两个关键错误点:
- 无效配置行干扰:
/etc/sysctl.d/99-sysctl.conf里混进了非sysctl格式的命令(比如cat /proc/sys/vm/swappiness、sudo fstrim -v /),sysctl配置文件只认参数名=值的赋值格式,这些命令行被系统判定为无效,触发警告。 - 不存在的内核参数:配置里尝试设置
kernel.unprivileged_userns_clone=1,但你的Ubuntu 22.04内核不支持这个参数(提示No such file or directory),导致写入失败,最终让服务启动失败。
修复步骤
第一步:清理无效配置行
打开配置文件进行编辑:sudo nano /etc/sysctl.d/99-sysctl.conf找到第61、62、64行的这几行内容:
cat /proc/sys/vm/swappiness sudo fstrim -v / cat /proc/sys/vm/swappiness直接删除这些行,或者在每行开头加
#把它们注释掉(注释后系统会自动忽略)。第二步:移除不存在的内核参数
在同一个文件里,找到设置kernel.unprivileged_userns_clone=1的行(可以搜索关键词快速定位),同样把它注释或删除——你的内核不支持这个参数,留着只会继续报错。第三步:验证修复结果
保存文件后,先重新加载所有sysctl配置:sudo sysctl --system再重启
systemd-sysctl服务:sudo systemctl restart systemd-sysctl.service最后检查服务状态,确认是否正常:
sudo systemctl status systemd-sysctl.service如果输出里显示
Active: active (exited),就说明问题已经解决了。
额外小提示
fstrim是固态硬盘优化命令,不适合放在sysctl配置里,你可以用systemctl status fstrim.timer查看Ubuntu默认的定时任务,它会自动定期执行这个操作。- 想要查看
vm.swappiness的值,手动执行cat /proc/sys/vm/swappiness就好,没必要写在启动配置里占位置~
备注:内容来源于stack exchange,提问作者Attila B.
相关产品推荐
相关产品推荐

