You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04启动时提示“Failed to start Apply Kernel Variables”问题求助

Ubuntu 22.04启动时提示“Failed to start Apply Kernel Variables”问题求助

嘿,从你贴出来的systemctl status systemd-sysctl.service日志里,我已经找到导致这个启动报错的具体原因啦,咱们一步步来修复:

问题根源分析

日志里明确显示了两个关键错误点:

  1. 无效配置行干扰:/etc/sysctl.d/99-sysctl.conf里混进了非sysctl格式的命令(比如cat /proc/sys/vm/swappiness、sudo fstrim -v /),sysctl配置文件只认参数名=值的赋值格式,这些命令行被系统判定为无效,触发警告。
  2. 不存在的内核参数:配置里尝试设置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.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:23:12