在配置桌面端代理客户端时,Clash Verge (Rev) 凭借搭载 Mihomo (Clash Meta) 内核和极佳的 UI 体验,成为很多用户的首选。然而,在使用其最核心的 TUN 虚拟网卡模式接管系统级流量时,用户最常遇到的阻碍就是提示:“Service Mode Not Installed” (服务模式未安装),导致 Tun 模式开关无法开启,或者拨过去之后立刻自动弹回关闭状态。

这是因为 TUN 模式需要在操作系统的内核层注入虚拟网卡驱动(如 WinTun / MihomoTUN),这必须要求 Clash Verge 的核心后台系统服务(Mihomo Core Service)以超级管理员(SYSTEM)权限在系统后台常驻运行。如果该服务未安装、安装路径包含特殊中文字符、受 Windows Defender 等杀毒软件拦截,或者由于旧版内核残留冲突,就会导致报错。解决此问题的最核心方法包括:以管理员身份运行客户端重新安装服务、手动利用命令行注入服务、或者清理旧版本网卡缓存重新生成。


为什么会提示“Service Mode Not Installed”?

为了搞清楚报错原因,我们需要了解 Clash Verge 在开启 TUN 模式时的底层工作机制:

  graph TD
    User[用户开启 TUN 模式] --> Client[Clash Verge 主程序]
    Client -->|请求提权| Service[Mihomo Service 服务进程]
    Service -->|注入驱动| OS[WinTun / MihomoTUN 虚拟网卡]
    OS -->|接管全局流量| Core[Mihomo 内核进行分流]
    
    style Service fill:#f9f,stroke:#333,stroke-width:2px

当主程序请求 Mihomo Service 时,如果发现服务未处于 Running 状态,或者无法与之通信,便会抛出 “Service Mode Not Installed” 错误。常见诱因如下:

  1. 权限不足:普通用户权限启动客户端,导致没有权限向系统服务目录写入或注册系统服务。
  2. 安全防护拦截:Windows Defender 或第三方杀毒软件(如 360、火绒)误杀或拦截了 clash-verge-service.exe 写入系统服务的操作。
  3. 老版本残留冲突:升级客户端时,旧版的服务未能正确卸载,新版服务无法覆盖注册。

解决方案一:管理员权限一键修复(首选方案)

绝大多数情况下,只需通过临时提升权限即可一键解决此问题。

  1. 彻底关闭客户端:在系统右下角托盘图标上右键,选择 「退出 (Quit)」。确保后台无任何 Clash/Mihomo 相关进程。
  2. 以管理员身份启动:在桌面的 Clash Verge 图标上右键,选择 「以管理员身份运行 (Run as Administrator)」
  3. 重新安装服务
    • 进入左侧 「设置 (Settings)」 页面。
    • 找到 「服务模式 (Service Mode)」 选项,点击右侧的 「管理 (Manage)」(此时盾牌图标应为灰色或红色)。
    • 在弹出的对话框中,点击 「安装 (Install)」
    • 等待 2-3 秒,如果安装成功,系统托盘会弹出提示,并且 Service Mode 旁边的盾牌图标会变成绿色,说明核心服务已正常在后台常驻运行。
  4. 重新开启 Tun 模式:返回设置页面,将 「Tun 模式 (Tun Mode)」 开关打开即可。

解决方案二:手动命令行安装服务(极客方案)

如果客户端内置的“一键安装”因为各种系统限制依然报错,可以通过 PowerShell 命令行手动注入服务。

1. 找到服务核心文件

打开 Clash Verge 的安装路径,定位到以下文件:

2. 使用 PowerShell 运行安装

  1. 按下快捷键 Win + X,选择 「终端管理员」「Windows PowerShell (管理员)」
  2. 输入 cd 命令进入 Clash Verge 的安装目录(以您的实际安装路径为准):
    POWERSHELL
    cd "C:\Program Files\Clash Verge\"
  3. 执行服务安装命令:
    POWERSHELL
    .\clash-verge-service.exe install
  4. 执行启动服务命令:
    POWERSHELL
    .\clash-verge-service.exe start
  5. 打开系统服务管理器(运行输入 services.msc),找到 Clash Verge Core Service,检查其状态是否已显示为 **「正在运行 (Running)」**且启动类型为 「自动 (Automatic)」

解决方案三:清理残留网卡驱动与重置网络(终极排错)

如果在执行完上述方案后,开启 Tun 开关依然闪退,多半是系统中的 WinTun 虚拟网卡驱动发生了底层冲突。

1. 卸载多余的虚拟网卡

  1. 在计算机图标上右键,选择 「设备管理器 (Device Manager)」
  2. 展开 「网络适配器 (Network adapters)」
  3. 查找带有 WinTunClashMihomoTUNTAP-Windows Adapter 字符的设备。
  4. 在这些设备上右键,选择 「卸载设备 (Uninstall device)」,并勾选“尝试删除此设备的驱动程序”。
  5. 卸载完成后重启电脑。

2. 重置网络堆栈

若网络路由发生了死锁,可以通过命令行重置 TCP/IP 堆栈:

  1. 以管理员身份运行 CMD。
  2. 输入以下命令并回车:
    CMD
    netsh winsock reset
    netsh int ip reset
  3. 重启电脑,重新以管理员身份运行 Clash Verge 并再次尝试安装 Service Mode。

常见疑问解答 (FAQ)

Q1:为什么绿色盾牌变成亮绿色,但 TUN 开关还是打不开?

这通常是因为你的 Clash 配置文件(订阅)语法错误。TUN 模式在网卡创建成功后,需要由 Mihomo 内核加载订阅文件进行路由分流。如果你的订阅文件存在 YAML 语法冲突,内核会崩掉,表现出来的现象就是 TUN 按钮自动弹回。请去「连接日志」或命令行中查看内核报错原因。

Q2:Service Mode 必须每次开机都手动安装吗?

不需要。 一旦成功安装,它在系统层被注册为开机自启的系统服务(由 SYSTEM 用户托管),即使你没有打开 Clash Verge 客户端,该核心服务依然会在后台静默待命,开机直接打开客户端即可秒开 TUN 模式。

Q3:为什么 Windows Defender 频繁报毒 clash-verge-service.exe

由于该服务需要修改操作系统的系统级网络栈并添加虚拟路由表,这在行为特征上非常像某些特洛伊木马的“流量劫持”行为。只要您是从 Clash Verge 官方 GitHub 发布页 下载的安装包,即可忽略报毒,手动在 Windows Defender 中将其添加至“排除项”中即可。


相关推荐

版权声明

作者: 易邦

链接: https://e8k.net/posts/clash-verge-service-mode-fix/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。