那天晚上,我兴冲冲地打开Steam,准备玩《赛博朋克2077》的最新DLC。结果屏幕上弹出一行字:“更新失败 — 磁盘写入错误”。我点了重试,还是失败;重启Steam,还是失败。那一刻,我真的有点想砸电脑。Steam更新不了游戏的情况,在我这几年游戏生涯里出现过不少次,每次都是一场折磨。但这次我决定彻底搞明白问题所在。
第一反应:检查网络
我首先想到是不是网络抽风了。Steam的下载服务器经常因为地区网络波动而连不上。于是我打开了Steam设置里的下载选项,看到下载地区自动选择了“上海”。我试着改成“北京”或“美国洛杉矶”,点击确定后重新开始更新。结果还是不行。我又关掉了VPN,因为之前有过VPN导致下载报错的经历。但这次裸连也没用。我甚至在命令行ping了一下steam的下载地址,发现网络是通的。看来不是网络的问题。
- 更换下载地区:上海→北京→洛杉矶
- 关闭VPN、加速器
- ping下载服务器地址,确认连通性
磁盘空间与权限
接下来我检查磁盘。我的Steam装在D盘,剩余空间还有100多GB,按理说不至于不够。但我发现最近下载了好几个3A大作,碎片可能很多。我跑到Steam设置里,清空了下载缓存(这个操作会删除已下载的临时文件,但不会影响游戏本身)。然后我尝试更改Steam库文件夹,换个分区甚至新建一个文件夹。我在D盘新建了一个SteamLibrary,把游戏迁移过去。这次迁移花费了十几分钟,但迁移完成后再次更新,依然失败。我甚至检查了文件夹权限,确保我的用户有完全控制权,没有用。权限问题的话往往会出现“访问被拒绝”的提示,但这次提示是“磁盘写入错误”,可能不是权限。
重新安装Steam客户端
我开始怀疑Steam客户端本身有问题。以前有一次我Steam更新不了是因为客户端版本太旧,但这次客户端是最新的。我试着卸载Steam(注意备份steamapps文件夹),然后重新安装最新版。卸载、删除除steamapps外的所有文件、重新下载安装包安装。登录账户,然后验证游戏完整性。结果依然卡在更新上。我甚至用Steam的命令行参数清空了配置:在运行里输入steam://flushconfig。但毛用没有。
发现真凶:后台软件冲突
就在我准备重装系统的时候,我注意到任务栏里有一个我前几天安装的“雷神加速器”还在后台。我退出所有后台程序,包括杀毒软件、加速器、下载工具,然后再次尝试更新。你猜怎么着?更新瞬间就开始了,而且流畅下载完成。原来罪魁祸首是雷神加速器!它是我为了玩外服用加速器,但加速器自己带的网络过滤驱动影响了Steam的写入。我后来又在控制面板里彻底卸载了雷神加速器(因为即使关了它,驱动还在)。之后所有的游戏更新再也没有出过问题。