封面

修理Minecraft基岩版卡死闪退的心路历程

起因:

我在 Windows 上玩 Minecraft 基岩版,开了官方新出的光影。先是越来越卡,最后卡死、闪退。从那一次之后,MC 就再也无法正常进入游戏。

一开始我以为是最普通的那种问题:

驱动?显卡?设置?但事情很快变得不普通。


我第一时间去看了 事件查看器和WinDbg,每次崩溃都能看到一条非常一致的记录:错误码:c0000005

这一步让我产生的第一个想法是:这不像是配置不够,更像是程序访问了不该访问的内存。

于是我开始怀疑三个方向:

1. DX12 / 光追相关

2. NVIDIA 驱动 / NGX

3. Minecraft 自身的数据损坏


接下来几天,我几乎把网上能搜到的办法都试了一遍:

更新 / 重装显卡驱动

清理 NVIDIA 缓存(DXCache / GLCache / NGX)

强制关闭光追(能进设置的时候)

删除 MC 本地缓存、配置文件

重装 Minecraft

重装 Gaming Services

重装 Xbox App

重置 Microsoft Store

用 PowerShell 重新注册 UWP 应用

每一步我都有“理论依据”,但结果只有一个:只要登录账号、只要同步数据,必闪退。


后来我发现一个非常诡异的现象:

不登录微软账号 → 不闪退

一登录账号 → 过一会必闪退

而且崩溃时间点很统一:主界面加载完成后,过几十秒或在加载内容时闪退。

这让我开始怀疑:会不会不是显卡和游戏,而是账号相关的数据?


接着我:

用同一个微软账号在另一台电脑登录MC → 正常

用另一个MC账号在我这台电脑登录 → 正常

在我这台电脑新建一个Windows 本地用户→ 登录原账号 → 正常

只有一种情况必崩:

这台电脑 + 这个 Windows 旧用户 + 这个 MC 账号

这时候我才确定:问题不在账号、不在机器,而在 Windows 用户级别的数据。


我开始做一些非常激进的尝试:

清空 Credential Manager 里的 Xbox / Microsoft 凭据

删除用户级注册表里的 Xbox / GamingServices

删除 AppData 里所有 Xbox / MC / Store 的残留

重装 Gaming Services

用命令行强制删除测试用户

说实话,到这一步我已经不太指望修好,已经想重装系统了,但我还是想搞清楚到底坏在哪。

不过最后我不尝试了,我也把测试的windows用户删了,理论上到这里事情已经结束了。

但真正离奇的事情,是后来发生的。


今天,我再次打开MC,它弹出了一个优惠的公告弹窗。

然后我发现只要弹窗在,MC 就不闪退。

我什么都不敢点就挂着,过了一会我关掉弹窗没闪退。

我继续什么都不动,等了几分钟,还是没闪退。

接着我尝试进世界,以前这里是必卡死,这一次世界加载进去了。

我正常退出世界没闪退,重启电脑再进一次依旧正常。

发布评论
全部评论(1)
avatar
熙林#1120849

好厉害