内核启动失败与配置校验
Mihomo 与 sing-box 内核手册编辑部 · 更新于 2026-10-18
内核起不来时先确认配置文件位置,再做配置检查:sing-box 文档写有 sing-box check,mihomo 源码里有测试配置的 -t 参数。Linux 服务方式下两者都可用 journalctl 看日志。
内核无法启动时,可先确认配置文件是否位于预期位置,再做配置检查。sing-box 官方文档写有 sing-box check;mihomo 的检查参数只在源码里能看到:源码定义了 -t,含义是测试配置后退出。具体报错原文,官方没有说明。
mihomo 的配置位置与检查
源码里的默认配置文件名是 config.yaml,默认目录在 Unix 为 $HOME/.config/mihomo,Windows 为 %USERPROFILE%/.config/mihomo;设置 XDG_CONFIG_HOME 时使用 $XDG_CONFIG_HOME/mihomo。这些默认路径来自源码常量,不是文档写明的。
源码参数定义还列有 -d 指定配置目录、-f 指定配置文件。文档另给出 mihomo convert-ruleset 子命令用于规则集转换。启动检查前应区分是配置文件路径还是文件内容问题。
sing-box 的检查与服务日志
sing-box 使用 JSON 配置,run 未指定 -c 时默认读取 config.json;该默认文件名来自命令行源码。官方配置文档展示 sing-box check,也列出 format 与 merge 命令。check 用于配置检查,具体输出应以命令实际返回为准。
Linux 通过软件包安装时通常包含 sing-box 服务。官方软件包文档列出 systemctl 的 enable、disable、start、stop、kill、restart 服务命令,以及用 journalctl -u sing-box --output cat -e 查看日志,也可用 -f 跟随新日志。
端口与日志线索
mihomo 文档把 external-controller 定义为 RESTful API 监听地址,并以 127.0.0.1:9090 作为示例地址;sing-box 的 Clash API 由 experimental.clash_api 配置。端口被占用时会怎样报错,官方没有说明,遇到时以内核日志的实际内容为线索。
更多字段结构见mihomo 配置页与sing-box 配置页。
mihomo 官方 systemd 示例把二进制改名为 mihomo 放到 /usr/local/bin/,配置放在 /etc/mihomo,启动命令使用 mihomo -d /etc/mihomo;服务管理用 daemon-reload、enable、start、reload、status,日志用 journalctl -u mihomo -o cat -e(或 -f)查看。两套示例针对 Linux systemd 环境,不可直接当作 Windows 或 macOS 步骤。
常见问题
mihomo 如何检查配置?
命令行参数源码里有 -t,说明为测试配置后退出,文档没有单独写这条命令。源码里的默认配置名为 config.yaml,默认目录按 Unix、Windows 与 XDG_CONFIG_HOME 区分。
sing-box 如何检查配置?
官方配置文档展示 sing-box check 命令。sing-box 默认配置格式为 JSON,run 未指定 -c 时默认文件名来自源码记录。
端口被占用会显示什么错误?
端口占用时的报错原文,官方没有说明。可以先看内核日志:Linux 服务方式下 mihomo 用 journalctl -u mihomo,sing-box 用 journalctl -u sing-box。