Clash 无法启动怎么办?内核启动失败、端口占用与配置报错排查
本文要点
- 先看客户端日志里的第一条报错,端口占用、配置解析错误、权限问题各有明确提示。
- 多数启动失败是上次没有完全退出留下残留进程,或杀毒软件把内核文件删了。
- 配置报错时切回默认空配置能启动,就说明是订阅配置的问题,和客户端本身无关。
现象是什么
Clash Verge Rev 或其他 Clash 系客户端双击没反应、打开后闪退、主界面显示但提示「内核启动失败」「核心未运行」,或者界面正常但系统代理和节点怎么点都没反应。本文以 Clash Verge Rev 为主,ClashX Meta、Clash Meta for Android 的思路相同。
先做 1 分钟快速检查
- 打开任务管理器(macOS 用活动监视器),搜索 clash、verge、mihomo,把所有相关进程全部结束,再重新打开客户端。
- 看客户端的日志页面,或者安装目录下的日志文件,找最近一次启动的第一条报错,关键字一般是 port、bind、parse、permission、denied 之一。
- 如果客户端界面能打开,在配置列表里切换到默认的空配置,看内核能不能启动。能启动说明问题在订阅配置,不是软件坏了。
逐步排查
- 残留进程。上次关闭时只是关了窗口,内核还在后台跑,再开一个就冲突。结束所有相关进程后重开。macOS 上还要注意菜单栏里是否有多个图标。
- 端口被占用。日志里出现 address already in use、bind 失败等。占用者常见是其他代理软件、开发工具、下载软件,或者另一个 Clash。退出占用程序,或在客户端设置里把混合端口改成一个不常用的端口,改完后重新开启系统代理,系统代理会跟着新端口走。
- 杀毒软件隔离了内核。Windows 上 Defender 或第三方安全软件有时会把内核文件误判为威胁直接删除,客户端界面能开但提示找不到内核。到安全软件的隔离区恢复文件,把安装目录加入白名单,再重装一次客户端。下载地址只用官方仓库 https://github.com/clash-verge-rev/clash-verge-rev。
- 配置文件错误。日志里出现 parse、yaml、unmarshal、unknown field 等。订阅返回的配置里有当前内核不支持的字段,或者你手动改过配置文件把格式改坏了。切回默认配置能启动的话,先更新订阅,仍不行就在客户端里切换内核版本(Clash Verge Rev 的设置里可以选内核),或者联系机场确认订阅是否兼容你用的内核。
- 权限不足。日志里出现 permission denied、operation not permitted。多见于开启了 TUN 模式但没安装系统服务,或者 macOS 没有授权。在客户端设置里安装服务模式或以管理员身份运行;macOS 在系统设置的隐私与安全性里允许该软件的网络扩展。TUN 相关问题单独看 TUN 模式无法使用。
- 安装包或运行库问题。Windows 缺少必要的运行库、安装包下载不完整、或者 macOS 上提示「已损坏」「无法验证开发者」。Windows 重新下载完整安装包;Apple Silicon 相关的报错见 Apple Silicon 安装问题。
- 配置目录损坏。多次升级、强制退出后,配置目录里的缓存文件可能损坏。备份订阅链接后,删除或重命名客户端的配置目录,重新打开客户端会生成新目录,再重新导入订阅。
日志关键字对照
| 日志关键字 | 原因 | 处理 |
|---|---|---|
| address already in use / bind | 端口被占用 | 结束占用程序或改端口 |
| parse / yaml / unknown field | 配置文件错误 | 切默认配置,更新订阅或换内核 |
| permission denied | 权限不足 | 安装服务模式 / 管理员运行 |
| no such file / 找不到内核 | 内核被删除 | 恢复隔离文件并加白名单 |
| 无日志、直接闪退 | 残留进程或运行库缺失 | 结束进程,重装完整版 |
仍未解决时
备份订阅链接,完全卸载后删除残留的配置目录,从官方仓库下载最新版重新安装,按 Clash Verge Rev 教程 从头配置一次。如果重装后用默认配置能启动、导入订阅后就不行,基本是订阅配置和内核不兼容,把日志报错发给机场客服。实在不行可以暂时换一个客户端过渡,例如 v2rayN 或 sing-box,见 客户端大全。
常见问题
Clash Verge Rev 打开后一闪就没了怎么办?
先到任务管理器结束所有 Clash 相关进程再重新打开。仍闪退就检查杀毒软件是否隔离了内核文件,把安装目录加入白名单后重装。还可以在客户端的日志目录里查看最近一次启动报错,根据报错关键字对照处理。
Clash 提示端口被占用怎么解决?
说明代理端口已被其他程序使用,常见是上次未退出干净的 Clash 残留进程、其他代理软件或开发工具。结束占用程序即可,或者在客户端设置里把混合端口改成另一个未被使用的端口,然后重新开启系统代理。
Clash 内核启动失败是什么原因?
常见有四种:内核文件被杀毒软件删除或隔离,配置文件有语法错误或包含内核不支持的字段,TUN 模式需要的管理员权限或系统服务没装好,以及端口被占用。先切换到默认空配置试能否启动,再逐项排查。