如何给 3DS 存档上一道保险?JKSM 备份与恢复上手全记录
2026/8/28 0:15:47 网站建设 项目流程

如何给 3DS 存档上一道保险?JKSM 备份与恢复上手全记录

【免费下载链接】JKSMJK's Save Manager for 3DS项目地址: https://gitcode.com/gh_mirrors/jk/JKSM

我的 3DS 里躺着两百多个小时的《精灵宝可梦 太阳》,却在一次"手滑删除"之后变成了空白存档。那晚之后,我彻底用上了 JKSM(JK's Save Manager for 3DS)——一款专为任天堂 3DS 设计的开源存档备份与恢复工具。今天我把自己的完整经历整理出来,从编译到日常备份,一次性讲透。

先从一场"删错档"的惨案说起

事情发生在换机之后。我把旧机器的 SD 卡拔出来,插进新机器,想看看游戏进度还在不在。结果系统提示存档损坏,我手一抖按了"格式化",两百多小时的冒险瞬间清零。

那一刻我意识到一个残酷的事实:3DS 自带的存档管理功能,只能"删除",不能"备份",更不能"恢复"。任何一次误操作、一次存档损坏、一次设备更替,都可能让你的游戏进度永久蒸发。

如果你也经历过这种心碎,接下来的内容应该能帮到你。

JKSM 是什么?一句话说清楚

JKSM 的全名是JK's Save Manager for 3DS,你可以把它理解成"3DS 的存档保险柜":它能把游戏存档从机器里读出来,打包存到 SD 卡上;需要的时候,再原样写回去。它支持的范围比想象中广:

  • 3DS 卡带游戏(Game Card)
  • eShop 数字版游戏(SD Card)
  • 装在机身 NAND 里的内容
  • GB/GBC 虚拟控制台、DSiWare 等各类标题

更关键的是,它不只管"用户存档"这一种数据。只要你按下 L/R 肩键,就能在五种存档类型之间来回切换,见下文的详细说明。

开工之前,先备齐这三样

在动手之前,请确认你的设备满足这些条件:

  1. 已安装自定义固件(CFW)——homebrew 应用能跑起来的前提;
  2. SD 卡为 FAT32 格式——文件系统兼容性最稳;
  3. 操作全程保证电量——备份恢复中途断电,后果比你想的严重。

顺便提醒一句:JKSM 目前还处在重写(rewrite)阶段,README 里开发者自己都写了"WIP,可能有 bug 和崩溃"。介意的话可以先观望,愿意尝鲜的话,继续往下看。

编译实录:从 clone 到 .3dsx

JKSM 并不提供现成的打包下载,需要你自己编译。整个过程分三步,我先给你看命令,再讲细节。

第一步,拉取源码:

git clone https://gitcode.com/gh_mirrors/jk/JKSM cd JKSM

第二步,准备编译环境。你需要安装 DevkitPro,并确保以下库都已就位:

  • 3ds-sdl
  • 3ds-libpng
  • 3ds-freetype
  • 3ds-libjson-c
  • 3ds-curl
  • 3ds-libzstd
  • 3ds-zlib
  • 3ds-minizip

第三步,编译:

make -j

等编译结束,你会在JKSM子目录下看到三个关键文件:

  • JKSM.3dsx——Homebrew 菜单用的入口文件;
  • JKSM.cia——CFW 直接安装的格式(需要额外执行make cia);
  • JKSM.smdh——应用的图标与元数据。

小提示:这个项目用的是 C++23,对编译器版本有要求,建议把 devkitARM 更新到最新再动手。

装进机器后,我的第一次实操

JKSM.3dsx放进 SD 卡的3ds/JKSM目录,从 Homebrew 菜单启动。下面是控制方式的总览,我按自己的使用习惯重新排了序:

  • L / R 肩键:切换当前操作的存档类型,或进入设置菜单;
  • 十字键:在图标或文本列表里移动光标;
  • A 键:打开选中的游戏,进入备份界面;
  • X 键:呼出附加菜单(擦除存档、导入/导出 Secure Value);
  • Start:退出 JKSM;
  • Select:直接设置你的 Play Coins(游戏金币)数量。

进入某个游戏的备份菜单后,逻辑非常直接:

  • 选中New Backup按 A,会弹出键盘,让你给备份命名;
  • 在已有备份上按 A,是用当前存档覆盖这个备份;
  • Y则是从这个备份恢复存档;
  • X可以删除这个备份;
  • B退回上一个界面。

这里有个细节我很喜欢:恢复、覆盖、删除这类危险操作,默认要求长按 A 三秒才能触发,屏幕上会依次提示 "Hold [A]" → "Keep Holding [A]" → "Almost there!"。防呆设计做得相当到位。

五种存档类型,别再傻傻分不清

很多新手的第一个困惑是:为什么同一个游戏有多个存档条目?因为 3DS 的"存档数据"远不止一种。用 L/R 切换时,你会依次看到这几种类型:

  1. User Save Data(用户存档)——最常见的主存档;
  2. Extra Data(扩展数据)——游戏在 SD 卡/NAND 上保存的补充数据;
  3. Shared Extra Data(共享扩展数据)——多款游戏共用的数据;
  4. BOSS Extra Data——SpotPass/推送服务相关数据;
  5. System Save Data(系统存档)——部分游戏放在 NAND 里的存档。

每个游戏支持哪几种,JKSM 会事先检测并在界面上标出来。完整枚举定义在JKSM/include/Data/SaveDataType.hpp,想深入了解可以去翻一翻。

备份文件存放的位置也很有条理,全部在sdmc:/JKSM/下分目录管理:

  • User Saves——用户存档备份;
  • Extra Data——扩展数据备份;
  • Shared Extra Data——共享扩展数据备份;
  • BOSS Extra Data——BOSS 数据备份;
  • System Saves——系统存档备份;
  • Secure Values——Secure Value 的导入导出中转目录。

设置菜单逐项拆解

按 L/R 切到 Settings 页,你会看到下面这些开关。我逐个测过,给你翻译成大白话:

设置项它到底管什么
Refresh Title List重新扫描游戏并重建缓存,让以后启动秒开
Text Menus把图标网格切换成纯文本列表,老机器跑起来更轻快
Use ZIP备份时打包成 ZIP 而不是散文件夹,官方建议 New 3DS 用户开启
Force English无视系统语言,强制英文界面
Preserve Secure Values备份时尽量保留 Secure Value,而不是顺手删掉
Hold to confirm overwrite / restore / deletion是否要求长按 A 三秒来确认危险操作

这些配置会以 JSON 形式保存在sdmc:/config/JKSM/JKSM.json,配置文件读取和写入的逻辑在JKSM/source/Config.cpp,想改默认值直接看那里就行。

三个容易被忽略的彩蛋玩法

彩蛋一:自由设定 Play Coins。按 Select 就能把游戏金币改成任意数值。手头缺金币解锁 Mii Plaza 内容的玩家,应该会喜欢这个功能。相关代码在JKSM/source/JKSM.cppSetPlayCoins()

彩蛋二:Secure Value 的导入导出。在游戏上按 X 打开附加菜单,你可以把 Secure Value 导出到 SD 卡,再在另一台机器上导入——这招对"多机同步存档"特别有用,前提是开启设置里的 Preserve Secure Values。

彩蛋三:老用户无缝迁移。如果你之前用的是 JKSV,JKSM 首次启动时会自动把sdmc:/JKSV下的旧备份目录重命名迁移到新的sdmc:/JKSM/结构里,省得你手动搬文件。迁移逻辑在JKSM/source/FS/FS.cpp里,实测有效。

另外,sdmc:/JKSM/cache.bin是标题扫描缓存,遇到"游戏列表没更新"的怪问题,可以回设置菜单点一下 Refresh Title List,它会自动重建。

新手最容易踩的坑

根据我的使用经历,这几个坑最值得提前避开:

  • 别在老款 3DS 上开 ZIP 导出——压缩对老机器的 CPU 压力很大,慢到怀疑人生;
  • 恢复存档前确认版本兼容——不同版本游戏的存档不一定能互相通用;
  • 操作进行中别拔 SD 卡、别强制关机——这是备份失败的头号原因;
  • 首次启动出现游戏列表为空别慌——先执行一次 Refresh Title List 再等等看;
  • 出问题先看日志——运行日志写在sdmc:/JKSM/JKSM.log,比瞎猜靠谱得多。

如果你打算换字体,项目里自带的fontcompressor子工程就是干这个的:编译后用它压缩字体文件,替换JKSM/romfs/里的NotoSansJP-ExtraBold.ttf再重新编译即可。

写在最后

从那次惨痛的删档事故到现在,我的存档已经有了一整套双份备份的习惯:SD 卡一份、电脑一份。JKSM 把"备份"这个动作从"不可能"变成了"三秒钟的事",这就是它对我最大的价值。

最后留一个问题给你:你现在还有哪台游戏机的存档是裸奔的?如果手头正好有 3DS,不妨今晚就试试给它上一道保险——把玩机心得回来分享给我。

【免费下载链接】JKSMJK's Save Manager for 3DS项目地址: https://gitcode.com/gh_mirrors/jk/JKSM

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询