<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>存档迁移 on Time Friend</title><link>https://time-friend.com/zh/tags/%E5%AD%98%E6%A1%A3%E8%BF%81%E7%A7%BB/</link><description>Recent content in 存档迁移 on Time Friend</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Sun, 20 Sep 2026 10:00:00 +0000</lastBuildDate><atom:link href="https://time-friend.com/zh/tags/%E5%AD%98%E6%A1%A3%E8%BF%81%E7%A7%BB/index.xml" rel="self" type="application/rss+xml"/><item><title>Eden 稳定版和 nightly 的存档为什么对不上: 用户档案 ID 与 UID 字节逆序</title><link>https://time-friend.com/zh/archive/eden-nightly-save-migration-profile-id/</link><pubDate>Sun, 20 Sep 2026 10:00:00 +0000</pubDate><guid>https://time-friend.com/zh/archive/eden-nightly-save-migration-profile-id/</guid><description>&lt;p&gt;我把 Eden 的主力版本从稳定版换成了 nightly。它和稳定版包名不同, 可以直接共存, 游戏也都能正常打开。但进去之后, 之前所有的存档一个都读不到, 每个游戏都像第一次玩。我第一反应是 nightly 把数据目录清了, 或者存档被覆盖了, 赶紧去翻文件。&lt;/p&gt;
&lt;p&gt;文件都在。少的不是存档, 是 nightly 去错了地方找。&lt;/p&gt;
&lt;h2 id="两个构建共用游戏-但不共用用户档案"&gt;两个构建共用游戏, 但不共用用户档案&lt;/h2&gt;
&lt;p&gt;Eden 把 Switch 的存档放在数据目录的 &lt;code&gt;nand/user/save/&lt;/code&gt; 下。这条路径不是只有一层, 它的结构大致是 &lt;code&gt;nand/user/save/0000000000000000/&amp;lt;用户档案ID&amp;gt;/&amp;lt;TitleID&amp;gt;/&lt;/code&gt;, 中间那层是&lt;strong&gt;用户档案&lt;/strong&gt;。稳定版和 nightly 是两个独立安装的应用, 各自的数据目录分开, 更关键的是: &lt;strong&gt;nightly 首次启动时会自己生成一个新的用户档案 ID&lt;/strong&gt;, 和稳定版那个没有任何关系。&lt;/p&gt;
&lt;p&gt;我这边稳定版的活动档案是 &lt;code&gt;D2AE7D815565D5C93F432C7C74A7DD6A&lt;/code&gt;, nightly 自动生成的是 &lt;code&gt;173CB8FB1F16348366B4CABB88A445D9&lt;/code&gt;。存档文件都在 nightly 的数据目录里(从稳定版拷过来之后), 但 nightly 只会去它自己那个活动档案目录里找游戏存档, 于是看不到。&lt;/p&gt;
&lt;h2 id="存档目录名从哪来"&gt;存档目录名从哪来&lt;/h2&gt;
&lt;p&gt;那个看起来像随机十六进制串的档案目录名, 其实不是随机的。日志里能观察到, 它来自用户档案的 UID, 并且是 UID 的&lt;strong&gt;字节逆序&lt;/strong&gt;排列——同一段身份数据, 换个字节序就成了目录名。两个构建只要各自生成了新 UID, 目录名就必然不同, 这也是为什么换构建、甚至 nightly 自己重新初始化之后, 存档会&amp;quot;对不上&amp;quot;。理解了这一点, 就不会再把它当成文件损坏。&lt;/p&gt;
&lt;h2 id="为什么直接拷存档会失效"&gt;为什么直接拷存档会失效&lt;/h2&gt;
&lt;p&gt;最容易踩的坑是: 把稳定版的 &lt;code&gt;save/&lt;/code&gt; 整个拷到 nightly 的 &lt;code&gt;save/&lt;/code&gt;, 以为就完事了。结果 nightly 里依然读不到。原因是稳定版拷贝过去的目录名是 &lt;code&gt;D2AE7D...&lt;/code&gt;, 而 nightly 的活动档案是 &lt;code&gt;173CB8FB...&lt;/code&gt;, 内容进了库, 但没进 nightly 真正会查的那个抽屉。所以迁移必须做&lt;strong&gt;两段覆盖&lt;/strong&gt;: 先把稳定版的存档根整体带过来, 再把稳定版活动档案里的内容, 再拷进 nightly 的活动档案目录。&lt;/p&gt;</description></item><item><title>从 emuMMC 里提取 Switch 存档: 非标准 AES-XTS、FAT32 与 DISF 的实现</title><link>https://time-friend.com/zh/archive/switch-emummc-save-extraction/</link><pubDate>Wed, 16 Sep 2026 10:00:00 +0000</pubDate><guid>https://time-friend.com/zh/archive/switch-emummc-save-extraction/</guid><description>&lt;p&gt;那台破解过的 Switch 已经不在我手上了, 只剩一张 512GB 的 SD 卡。我想做的事很具体: 把当年玩出来的游戏存档救出来, 导进 Android 上的 Eden(一个 yuzu 分支), 接着玩下去。&lt;/p&gt;
&lt;p&gt;我第一反应是插上读卡器去翻 &lt;code&gt;Nintendo/save/&lt;/code&gt;。里面确实有存档, 但只有两个, 文件名是 &lt;code&gt;8000000000000000&lt;/code&gt; 和 &lt;code&gt;8000000000000124&lt;/code&gt;, 都是 NAX0 加密的系统存档, 和游戏进度无关。整张卡能看到的目录翻了一遍, 找不到任何一处像游戏存档。这个结果很反直觉: 存档明明是这台机器产生的, 怎么会不在卡上。&lt;/p&gt;
&lt;p&gt;任天堂的说法是, 游戏存档只存在主机的内部存储 eMMC 里, 不能复制到 microSD; SD 卡上只有游戏本体、更新、DLC、截图和系统存档。那破解机的存档在哪——emuMMC。&lt;/p&gt;
&lt;h2 id="存档不在-sd-卡表面-而在-emummc-镜像里"&gt;存档不在 SD 卡表面, 而在 emuMMC 镜像里&lt;/h2&gt;
&lt;p&gt;破解常用&amp;quot;虚拟系统&amp;quot;emuMMC: 把主机整块 eMMC 完整复制到 SD 卡, 开机时引导到这份副本。于是卡里 &lt;code&gt;emuMMC/SD00/eMMC/&lt;/code&gt; 下的 &lt;code&gt;00&lt;/code&gt; 到 &lt;code&gt;07&lt;/code&gt; 不是八个文件, 是同一块内部存储被 4GB 切开的分片(受 FAT 单文件上限所迫), 旁边还有 &lt;code&gt;BOOT0&lt;/code&gt;、&lt;code&gt;BOOT1&lt;/code&gt; 两个引导分区。这张 SD 卡里因此藏着一整台 Switch 的内部存储, 大约 30GB, 游戏存档就在镜像的 &lt;code&gt;USER&lt;/code&gt; 分区。&lt;/p&gt;</description></item></channel></rss>