sing-box 1.14.3 Windows 7 启动失败怎么办?先回退 1.14.2
简答:如果 sing-box 1.14.3 在 Windows 7 SP1 启动时出现“initialize network: watch registry key”或“The parameter is incorrect”,先不要重写配置:确认使用 legacy-windows-7 构建,备份 config.json 和旧版程序,再回退到官方发行页中的 1.14.2,并依次执行 version、check -c 和 run -c 验证。官方 issue #4649 记录了 1.14.3 失败而 1.14.2 正常的现象。
定义:本文所说的“启动失败”,是指 sing-box 尚未进入正常运行阶段,就在 Windows 网络初始化或网络接口注册表监控阶段退出,而不是节点连接失败。
先试这 4 步:确认架构、备份、回退、验证
这类报错最短的处理路径不是先改 DNS、规则或节点,而是先确认程序包和版本。可以按下面顺序操作:
- 查系统架构:“控制面板 → 系统和安全 → 系统”显示“32 位操作系统”时选
386;显示“64 位操作系统”时,打开msinfo32,在“系统信息”中确认X64-based PC,再选amd64。 - 备份文件:复制
config.json、规则集、证书和当前sing-box.exe,不要直接覆盖或删除原文件。 - 换回版本:从官方 Releases 页面选择 1.14.2 中与架构匹配、且文件名包含
legacy-windows-7的构建。 - 命令验证:在程序目录执行
sing-box.exe version、sing-box.exe check -c config.json,确认无误后再执行sing-box.exe run -c config.json。
官方 issue #4649 记录的环境为 Windows 7 SP1 x64,使用 sing-box-1.14.3-windows-amd64-legacy-windows-7 时出现网络初始化错误,同一条记录称 1.14.2 可以正常运行。查看官方 issue #4649
| 下载文件类型 | 适用场景 | 当前处理建议 |
|---|---|---|
windows-amd64-legacy-windows-7 | Windows 7 64 位系统、系统信息显示 X64-based PC | 优先核对该架构和版本 |
windows-386-legacy-windows-7 | Windows 7 32 位系统,或系统信息显示 X86-based PC | 选择 386 legacy 构建 |
普通 windows-amd64 构建 | 文件名未标注 Windows 7 legacy | 不要因为能解压就直接用于 Windows 7 |
为什么先怀疑 1.14.3 的兼容性,而不是配置文件
官方 issue #4649 中的完整报错是:
FATAL[0000] start service: initialize network: watch registry key SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces: The parameter is incorrect.
这段信息有三个关键点:start service 表示程序正在启动;initialize network 表示失败发生在网络初始化;watch registry key 指向 Windows 网络接口相关的注册表监控。issue 还记录了复现命令 sing-box.exe run -c config.json,并明确写出 1.14.2 “everything is OK”。因此,如果你的系统、构建文件名和报错位置都相近,优先做版本对比比重写整份配置更有效。
这不是“所有 Windows 7 设备都必然失败”的结论,也不能证明只要回退就一定恢复;它只是根据官方 issue 中已记录的环境和版本差异,给出的优先验证路径。issue 创建于 2026-10-19,当前页面仍显示为 Open,暂不能把 1.14.3 的 Windows 7 问题写成已修复。
Windows 7 使用 legacy 构建还有运行时背景:Go 1.20 发布说明写明,Go 1.20 是最后一个能运行在 Windows 7、Windows 8、Windows Server 2008 和 Windows Server 2012 上的版本,Go 1.21 至少需要 Windows 10 或 Windows Server 2016。查看 Go 1.20 官方发布说明
在 Windows 7 中文界面确认 amd64 或 386
打开“控制面板 → 系统和安全 → 系统”,找到“系统类型”。如果显示“32 位操作系统”,按当前系统选择
386构建。如果显示“64 位操作系统”,按
Win + R,输入msinfo32并回车。在“系统信息”窗口查看“系统类型”:
X64-based PC对应amd64,X86-based PC对应386。这两个英文字段位于“系统信息”中,不是“控制面板 → 系统”页面。如需保存系统摘要,可打开命令提示符执行
systeminfo。该命令用于显示系统配置和操作系统信息,提交问题时可把输出中的版本、系统类型和处理器信息保存下来。查看 Microsoft Learn 的 systeminfo 说明
如果 1.14.2 的官方发行页暂时没有与你的架构匹配的 legacy-windows-7 资产,不要改用普通 windows-amd64 包碰运气。保留当前程序和配置,先核对官方发行页是否加载完整,或等待官方提供对应资产;无法复现正常启动时,再提交包含系统版本、架构、文件名和完整报错的 issue。
备份后回退到 1.14.2,并用命令验证
退出 sing-box。若程序在命令提示符中运行,回到原窗口按
Ctrl + C。在程序目录复制
config.json,例如命名为config-1.14.3-backup.json。如果配置引用规则集、证书或其他目录,也一并复制。将当前程序改名为
sing-box-1.14.3-failed.exe,不要直接删除,以便保留现场。打开 官方 1.14.2 发布页,按系统架构选择文件名包含
legacy-windows-7的构建。官方页面显示 1.14.2 于 2026-09-24 发布;1.14.3 于 2026-10-09 发布。版本和资产列表会变化,下载前应重新核对。将解压后的程序放回原目录,并确认文件名为
sing-box.exe。打开命令提示符,假设目录为C:\sing-box,执行:cd /d C:\sing-boxsing-box.exe version确认版本输出为 1.14.2 后,检查配置:
sing-box.exe check -c config.jsonsing-box 官方配置文档列出了
check命令和 JSON 配置结构。查看 sing-box 官方配置文档配置检查通过后,再执行:
sing-box.exe run -c config.json
如果 1.14.2 能启动,先保留这个可运行版本,并保存 1.14.3 的完整输出。不要因为回退成功就删除配置备份,也不要在未验证新版本前覆盖当前可运行程序。
1.14.2 也失败时怎么继续判断
使用完整路径执行
C:\sing-box\sing-box.exe version,确认调用的不是系统 PATH 中另一份程序。使用完整配置路径执行
sing-box.exe check -c C:\sing-box\config.json,避免当前工作目录错误。路径含空格时,用英文双引号包住路径。根据
check的结果区分问题:如果检查失败,先处理 JSON 格式、字段版本或引用文件;如果检查通过但run仍在网络初始化阶段退出,再记录完整报错。在备份副本上制作最小配置进行对比。最小配置能启动而原配置不能启动,说明应继续检查配置字段、外部文件或功能组合;两者都在网络初始化阶段失败,则更接近系统或程序兼容性问题。
如果官方发布页资产旁显示 SHA-256 摘要,可在 Windows 7 命令提示符中执行
certutil -hashfile 文件名 SHA256,将输出与发布页显示的摘要逐字比较。页面没有给出某个文件摘要时,不要自行推测校验值。
旧 issue #3326 记录过另一组 Windows 7 legacy 启动问题:Windows 7 SP1 64 位使用 1.12.3 legacy 构建时,堆栈出现在 sing-tun 的 Windows 网络接口监控相关代码;该 issue 的评论后来记录 1.12.4 legacy 包解决了当时的问题,页面也显示已于 2025-09-02 关闭。这只能说明类似兼容性问题可能随版本变化,不能据此推断 1.14.3 已有修复,或要求所有用户使用某个旧版本。查看官方 issue #3326
提交新问题时,建议提供 Windows 版本、系统位数、msinfo32 中的系统类型、完整程序文件名、执行命令、完整错误输出和脱敏后的最小配置;不要上传服务器地址、密钥或订阅内容。
回退完成后的自查清单
- 架构:32 位操作系统选
386;64 位操作系统再通过msinfo32确认X64-based PC或X86-based PC。 - 构建:Windows 7 优先选择文件名含
legacy-windows-7的资产,不把普通 Windows 包当作兼容包。 - 备份:保留 1.14.3 程序、1.14.2 程序、
config.json、规则集和证书。 - 验证:按
version→check -c→run -c顺序执行。 - 状态:2026-10-20 核验时,官方 issue #4649 仍为 Open;后续是否修复,以该 issue 和官方 Releases 页面为准。
本文的回退方案是针对官方 issue #4649 中记录的特定现象整理的验证路径,不代表所有 Windows 7 设备都一定能运行,也不承诺修改配置或回退版本即可解决所有启动问题。
常见问题
sing-box 1.14.3 在 Windows 7 上启动失败,需要重写 config.json 吗?
不建议一开始就重写。如果报错包含 initialize network、watch registry key 和 The parameter is incorrect,应先备份配置,确认使用 legacy-windows-7 构建,再回退 1.14.2 测试。只有 check -c 明确指出配置错误时,才优先修改配置。
Windows 7 64 位应该下载 amd64 还是 386?
如果“控制面板 → 系统”显示“64 位操作系统”,再打开 msinfo32 查看“系统信息”中的“系统类型”。X64-based PC 选择 amd64,X86-based PC 选择 386;文件名还应包含 legacy-windows-7。
1.14.2 也启动失败怎么办?
先用完整路径执行 sing-box.exe version,确认调用的是目标目录中的程序,再依次执行 check -c 和 run -c。随后使用备份配置制作最小配置进行对比,并保存完整错误、系统版本、架构和文件名,必要时按官方 issue 模板反馈。
普通 windows-amd64.zip 能不能直接用于 Windows 7?
不建议直接使用。Go 1.20 官方说明显示,Go 1.20 是最后支持 Windows 7 的版本,因此 Windows 7 应优先选择发行页中明确标注 legacy-windows-7 的构建。普通构建是否兼容,不能仅凭文件名或能否解压判断。
官方 issue #4649 已经修复了吗?
截至 2026-10-20,官方 issue #4649 页面仍显示为 Open,本文核验到的页面没有显示已关闭或已合并修复的信息,因此不能声称 1.14.3 的 Windows 7 问题已经解决。后续应以官方 issue 和 Releases 页面为准。
相关阅读
参考资料
- sing-box 官方 GitHub issue #4649:Windows 7 x64 使用 1.14.3 启动失败
- sing-box 官方 1.14.2 发布页
- sing-box 官方 1.14.3 发布页
- sing-box 官方配置文档:JSON 结构与 check 命令
- Go 1.20 官方发布说明:Windows 7 支持范围(go.dev)