1/3
2/3
3/3
[艾尔登法环][存档修复]“无法加载保存数据”问题存档修复方法
Fr000g
2022年03月09日 23:40

前言

校园网犯病,steam掉了,我正好这时候关游戏了,再上线发现进不去了,参考了贴吧老哥的经验,也看了看reddit上的帖子,修好我70+小时的档,分享下经验,希望可以帮到大家

问题描述

打开游戏时,卡在“无法加载保存数据。如要重试,请按‘确定’”

如图所示:

图片来自贴吧

游戏版本:1.02.3

损坏日期:2022.03.06

可能问题原因

因网络波动,steam断线,此时关闭并保存游戏,导致存档文件中存放联机ID的数据被覆盖为空,导致存档验证失败,无法载入存档。(注:可能有其他原因导致的存档损坏,本文章仅作参考)

大致修复思路

  1. 备份存档(一定记得备份),然后删除EldenRing目录下的存档文件

  2. 创建新的存档,得到用于联机的ID的数据

  3. 将得到的ID数据放回原存档中,修改数据校验位从而通过存档完整性验证

  4. 将恢复后的存档放入存档目录中

存档在此目录下

可能用到的工具和能力

  1. 010editor、WinHex、HxD等16进制文件编辑器(选一个即可)

  2. 基础的计算机知识和操作技巧

  3. 一定的阅读二进制文件的能力(非必需,有的话更好)

前置知识

老头环和部分FS社类魂游戏存档结构大致如下(不太准确,看个大概,对修复有点帮助)

纯手写

我们需要修改的地方有两处,一处位于综合数据19003B4处的ID数据,一处位于存档中的ID数据(位置不固定,看你哪个存档位坏了)

红色部分的md5数据校验由下方的蓝色部分的数据决定,每次打开游戏时,游戏程序会对通过蓝色部分的md5值与红色部分比对,分析存档是否被污染。因此,在修改完ID数据后,我们也要修改相应的md5数据校验的内容,通过游戏开始的存档检测。

具体步骤

(以HxD为例,这一步可能有些困难,需要的小伙伴移步至https://youtu.be/6Kha_xpAQMM,需要的多的话我去搬过来)

  1. 关闭steam云同步

  2. 备份存档:(非常非常重要,一定一定要保证有一份原始的数据,不然很有可能修废存档)按下WIN+R,输入%AppData%后回车,找到EldenRing文件夹打开后,看到有数字编号的文件夹,里面名称为ER0000.sl2的文件即为存档文件,其余文件不关键

  3. 备份后,删除数字目录下的所有文件

  4. 打开游戏,创建新的存档,后关闭游戏

  5. 用16进制编辑器(基础操作可以百度)打开新建的存档,在19003B4处找到16位16进制的ID数据,将其复制记录后关闭

  6. 用16进制编辑器打开损坏的存档,同样定位到19003B4处,可以发现此处之后16位数据变成了00 00 00 00 01 00 10 01(如果你的这里的数据不是这样,那么可能你的存档损坏不是上述原因导致的)将此处内容修改为刚才新档中记录的数据

  7. 全局搜索00 00 00 00 01 00 10 01,找到另一处ID数据被覆盖的地方,将此处修改为新档中记录的数据此时,我们已经修改了综合数据中的内容和某一个存档数据中的内容,下面需要修改每个存档位前的数据校验内容

  8. 此处说明1至3存档位的操作(坏哪个修哪个就行,其它存档位如法炮制,确保综合数据和损坏的存档栏位的数据校验位被修改即可)

光标在offset一栏中右键,“选择范围”

此处为存档位一

之后在上方工具栏找到 分析 -> 计算校验和 -> MD5

注意下方的MD5值

替换内容

  • 存档位3: 选中00500330到0028030F的内容,进行md5计算后得到32位的数值,将00500320到0050032F的内容替换为计算所得的md5的数据

  • 综合数据: 选中019003B0到019693AF的内容,进行md5计算后得到32位的数值,将019003A0到019003AF的内容替换为计算所得的md5的数据

最后,保存修改的数据,将修改后的存档放回原来的目录中,将新存档替换掉,再次打开游戏,不出意外的话,存档已经修好了(会报一个警告,无视就好)

Reference

https://www.**********/r/Eldenring/comments/t28de9/corrupted_save_file_solution/

https://tieba.baidu.com/p/7745020787#/

头图:96709196 - pixiv

希望本篇专栏能对您有所帮助。如果文章中有错误的内容,欢迎大佬在评论区指正。