战眼摆烂悬疑重重,凯德六号妙手回春
从 War Thunder 的 BattlEye 安装失败一路排查百思不得其解,在 Destiny 2 停更前夕又给救了回来...
前言
事情的开端很简单:Bungie 已经明确宣布,《命运 2》会在 2026 年 6 月 9 日发布最后一次 live-service 内容更新,随后团队会转向新的项目方向,但游戏仍会继续保持可游玩状态。
我原本只是想在停更前回去看一眼,也算是临终关怀了,没想到这一眼先看见的是 BattleEye 的 1053。
背景
更早之前,我为了电池百分比显示和 Administrator Protection,用 ViveTool 开过一批 25H2 相关的测试功能,命令大致就是:
1
.\ViveTool /Enable /id:51406324,45172197,87654321
那时候我并没有把它们和后来的反作弊故障直接联系起来。毕竟系统平时还能用,文件还能正常落到 Documents,那个异常的 ADMIN_AKUTA 账户也只是像一枚没清理干净的历史脚印,顶多让人觉得“这台机器以前经历过点什么”,但并没有真正影响日常操作。
War Thunder 反作弊无法启动
直到 BattleEye(以下简称“BE”) 开始摆烂,最早把事情挑明的是《War Thunder》。很久以前卸载过(打雷的都知道是怎么回事),重装回来启动时反作弊打不开,BE 直接报的是:
1
Failed to install BattlEye Service (4, 5000041d)
那会儿我做过的事并不少,网上(比如 Reddit)常见的处理思路也几乎都围绕这些动作打转:
- 用管理员身份启动对应文件
- 重新安装 War Thunder,删掉 BattlEye 文件夹再让游戏重装、校验游戏完整性
- 尝试通过
msconfig调整启动策略,做 clean boot;禁用服务和启动项,确保 BE 服务能启动(然并卵根本启动不了,要么就是 1053) - 更新显卡驱动和 BIOS
- 把腾讯 ACE 之类的相关同类型反作弊组件清了一遍
- 临时关闭杀软和防火墙
但问题始终没有消失,当时我已经知道问题在 BattlEye 身上,但迟迟找不到根因。
它不像普通报错那样给你一个明确的“权限不足”或者“文件缺失”,而是像把所有线索都揉成一团,既像缺文件,又像服务注册坏了,还像系统安全状态不对。
建议里还有完整重装 Windows,我当然知道这个好使,但是电脑还有更要紧的工作,于是我把它先放下了,想着以后再说。
从 Destiny 2 无法启动开始的排查与最终解决
用户体系排查
几个月后的今天,Bungie 宣布《命运 2》即将迎来最后一次 live-service 更新。我于是把游戏重新下了回来,准备在停更前进去看一眼,结果又一次撞上了 BattlEye 的 1053。
于是就杠上了,这非得修好不可了。这次协助调试的是 GPT-5.5。
先查用户权限。结果很干净,whoami /all 里能看到 BUILTIN\Administrators,也有 High Mandatory Level,说明当前账户的管理员令牌并没有坏,系统权限体系至少表面上是正常的。换句话说,这次明显并不是“我其实不是管理员”这种低级问题。
驱动排查
再查服务。
在 Powershell 中,
sc是Set-Content的别名,应该使用sc.exe。
sc.exe 直接确认了 BEService 是存在的,路径也正常,指向 C:\Program Files (x86)\Common Files\BattlEye\BEService.exe,服务本身甚至是以 LocalSystem 运行的(因为我调了还没改):
1
2
3
4
5
6
7
8
9
10
11
12
13
(shell) sc.exe query BEService
SERVICE_NAME: BEService
TYPE : 110 WIN32_OWN_PROCESS (interactive)
STATE : 1 STOPPED
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
(shell) sc.exe qc BEService
SERVICE_NAME: BEService
TYPE : 110 WIN32_OWN_PROCESS (interactive)
START_TYPE : 2 AUTO_START
BINARY_PATH_NAME : "C:\Program Files (x86)\Common Files\BattlEye\BEService.exe"
SERVICE_START_NAME : LocalSystem
服务在,路径在,依赖也没明显问题,但真正的核心驱动 BEDaisy.sys 不见了。pnputil /enum-drivers、driverquery 都查不到 BattlEye 相关条目。也就是说,BEService 至少尝试过往下走,但驱动没有成功落地,反作弊链条卡死在“服务启动之后、驱动安装之前”的那一段。对一个内核级反作弊来说,这基本就等于没起来。
问题定位
真正把线索串起来的是 bcdedit /enum。那里面有两行被 AI 发现了异常:
1
2
3
4
5
6
(shell) bcdedit /enum
...此处省略
flightsigning Yes
hypervisorlaunchtype Auto
...
flightsigning Yes 的意思非常直接:这台机器还在接受 Flight/Test 签名链。正常零售版 Windows 不是这个状态,而更像是一个曾经跑过 Insider 测试、驱动调试、内核策略实验的混合环境。
BattleEye 这种东西对内核状态极其敏感,看到这种签名链,拒绝驱动加载其实非常合理。官方和社区的常见处理建议里,安全软件拦截、服务状态异常、驱动版本不对、clean boot、甚至 kernel debugging 之类的项也经常被提到;不少 Reddit 讨论里,1053 和 4, 5000041d 往往会和删 BattlEye 文件夹、重新验证游戏文件、开启 MSCONFIG 里的服务、更新驱动/BIOS、关闭防火墙和杀软放在一起排查。——但是确实想不到flightsigning这种事情上面。
解决
最后是很朴素的两步:把 flightsigning 关掉,再把 hypervisorlaunchtype 关掉,重启。
之后重启重装,BEDaisy.sys 出现,BattlEye 正常安装,命运2能启动了;我寻思着战雷反作弊应该也没问题了。
总结
这篇日志最后的感觉就很奇妙:我原本是想趁《命运 2》停更前回去打一眼,结果却让猎人导师最后“救了一命”。也算是双向奔赴了
快说谢谢凯德-6