一张卡带的临终告别:Switch 备份工具 nxdumptool 的完整上手指南
【免费下载链接】nxdumptoolGenerates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles.项目地址: https://gitcode.com/gh_mirrors/nx/nxdumptool
nxdumptool 是一款专为 Nintendo Switch 设计的开源备份工具,它能从游戏卡带和已安装的 SD/eMMC 存储中生成 XCI、NSP、HFS0、ExeFS、RomFS、证书与票证等多种格式的完整备份。如果你担心实体卡带损坏、数字游戏下架,或者想做合法的游戏数据归档,它就是给游戏数据上双保险的那把钥匙。
从一次惨痛经历说起
先说一个真实的故事。一位朋友收藏了多年的《塞尔达传说》实体卡带,某天从包里掏出来时,金手指已经氧化得没法读盘。那一刻他意识到:手里这盘"传家宝",其实只是一块随时可能报废的塑料。而数字版游戏也没好到哪去——商店下架、服务器关闭,都意味着你花钱买的东西可能在某天清晨消失。
于是问题变成了:如何在游戏还能正常读取时,给它做一份"全尸"级别的备份?
nxdumptool 就是为这个问题而生的。它不是一个"一键复制文件"的简单脚本,而是一套能读懂 Switch 存储结构、绕过系统限制、把数据原样抠出来的完整方案。接下来,我带你从零开始把它跑起来,再一步步讲清楚每种备份该怎么用。
第一步:先让最小示例跑起来
别急着研究功能,先让工具能在你的机器上编译通过,建立"它能用"的信念感。
- 获取源码:克隆项目仓库
git clone https://gitcode.com/gh_mirrors/nx/nxdumptool - 准备环境:nxdumptool 需要 devkitPro 工具链(含 libnx),并设置环境变量
DEVKITPRO。如果你经常编译 Switch 自制程序,这套环境应该已经有了。 - 编译:进入项目目录后直接执行
makeMakefile 会自动编译 libs/ 下的依赖库(libnxtc、libusbhsfs),最终生成
nxdumptool.nro。 - 部署:把生成的
.nro文件复制到 SD 卡的/switch/nxdumptool/目录,从自制程序启动器进入即可。
📌 注意:当前仓库是 nxdumptool 的 rewrite 重写分支(版本号 2.0.0),官方定位是"实验性但经过充分测试"。遇到个别场景跑不通时,可以尝试该分支提供的 PoC 概念验证构建。
在动手备份前,先看懂它到底能导出什么
很多新手卡在第一步,是因为分不清这些格式到底对应什么。其实 nxdumptool 的全部能力可以归成一张表:
| 备份对象 | 输出格式 | 一句话说明 |
|---|---|---|
| 游戏卡带整体 | XCI | 卡带完整镜像,最常见的全量备份 |
| 已安装游戏 | NSP | 数字版打包备份,也可来自卡带内的游戏 |
| 卡带分区 | Hash FS(HFS0) | 卡带内部文件系统的原始/解包导出 |
| 游戏内部文件 | ExeFS / RomFS | NCA 内部文件系统提取 |
| 认证数据 | Certificate / Ticket | 卡带证书、数字版票证 |
| 元数据 | NCA / NPDM / NACP | 单个内容归档或程序元数据 |
再加上卡带头部、InitialData、CardIdSet、Lotus ASIC 固件(LAFW)等进阶导出项,你会发现:它不是在"复制游戏",而是在"拆解整张卡带"。
卡带还是数字?先选好你的备份路径
动手前先明确目标,因为两条路径的入口完全不同:
| 对比维度 | 实体卡带 | 已安装数字游戏 |
|---|---|---|
| 入口 | Gamecard 选项卡 | Titles 选项卡 |
| 主备份格式 | XCI | NSP |
| 是否含卡带专属数据 | 是(证书、头部等) | 否 |
| 可批量操作 | 单卡处理 | 支持批量排队导出 |
| 适合人群 | 卡带收藏党 | 数字游戏重度用户 |
选定路径后,下面的场景可以直接照着做。
场景一:实体卡带收藏保护
问题:实体卡带随时可能物理损坏,需要一份完整的数字镜像。方案:使用 XCI 全量镜像备份。
进入 Gamecard 选项卡,工具会自动识别卡带并显示版本、容量、捆绑更新版本等属性。选择"Dump gamecard image (XCI)"后,有几个选项值得你逐个确认:
- Prepend KeyArea:把 4 KiB 的 KeyArea 块附加到 XCI 前部,生成"完整 XCI"。默认关闭,追求兼容性可以打开。
- Keep certificate:保留卡带证书(用于唯一标识每张卡带)。出于隐私考虑默认关闭。
- Trim dump:去掉最后一个 HFS 分区之后的填充数据,显著缩小文件体积。
- Calculate checksum:计算 CRC32 校验和,建议保持开启;如果联网,还可以让工具通过公开接口反向查重,验证你备份的卡带是否已被他人 dump 过(这正是很多存档验证数据库的比对依据)。
结果:一张 16GB 卡带经过 trim 后通常能省下 1~2GB 空间,且备份文件带校验和,可放心长期保存。
场景二:数字游戏归档与批量备份
问题:数字版游戏依赖任天堂服务器,存在下架与停服风险。方案:用 NSP 格式归档已安装游戏。
在 Titles 选项卡选中目标游戏后,选择 NSP dump。这里藏着 nxdumptool 最"懂行"的特性:Control.nacp 补丁。它能在打包时替你改写游戏的运行限制——比如解除截图/录像禁用、取消账号绑定要求、关闭 HDCP 限制。简单说,备份下来的 NSP 甚至可以当作一份"去限制化"的存档。
如果你数字库很大,工具还支持批量排队导出(bulk queued NSP dumping):把多个游戏加入队列,一次跑完,中途某个游戏出错不会中断整个任务。
结果:你的整个数字游戏库变成一堆可以随时重装、不受服务器状态影响的本地文件。
场景三:大文件备份的正确姿势——USB 直连 PC
问题:XCI/NSP 动辄十几 GB,写进 SD 卡既慢又占空间。方案:让 Switch 通过 USB 直接把数据流到 PC。
nxdumptool 内置了一套 USB ABI 协议(详见仓库host/目录的技术文档),Switch 端选择输出存储为"USB host (PC)",PC 端运行主机程序即可接收数据流。这套方案的好处是:Switch 只负责读,PC 只负责存,大文件传输既不用经过 SD 卡中转,也不受 FAT 单文件 4GB 上限困扰。
PC 端配置要点:
- Linux:安装 libusb,并添加一条 udev 规则(
idVendor=057e, idProduct=3000)后执行sudo udevadm control --reload-rules。 - Windows:用 Zadig 给设备安装 libusbK 驱动,再运行
host/目录下的 Python 主机端脚本(依赖见requirements-win32.txt)。
顺带一提,工具还通过 libusbhsfs 支持 USB 移动硬盘/优盘(FAT、NTFS、EXT 均可用),存储不够时插一块硬盘就是扩容方案。
常见报错与排查思路
备份路上你会遇到几个"教科书级"的坑,先记下来,遇事不慌:
| 报错现象 | 原因 | 处理方式 |
|---|---|---|
| 提示"nogc 补丁已启用" | 自制固件禁用了卡带读取 | 关闭 nogc 补丁;注意这可能会触发 LAFW 固件更新 |
| 提示"需要更新 LAFW" | 卡带要求的 Lotus ASIC 固件版本过低 | 用该卡带在官方系统更新一次主机再试 |
| 提示"插入了 Switch 2 卡带" | 当前版本不支持 T2 卡带 | 取出,更换 Switch 1 或 Switch 2 Edition 卡带 |
| 提示"文件大小超过可用空间" | 目标存储剩余空间不足 | 换输出存储,或开启 XCI Trim 选项 |
| 文件名出现大量下划线 | 非法字符被自动替换(SD 卡还只保留 ASCII) | 这是正常机制,可自定义 Filename 避免 |
如果怀疑是程序问题,项目在romfs/logs/保留了日志,提交 issue 时附上日志能大幅提高排查效率。
进阶技巧:让备份又快又稳
- 超频加速:配置项
overclock(默认开启)会在 dump 期间对 CPU 与内存超频以提升速度,官方认为这相对安全;如果你用 sys-clk 给程序配了专用时钟档位,它会自动让路。 - 命名规范:
naming_convention支持两种输出命名——完整版{名称} [{ID}][v{版本}][{类型}]或仅{ID}_v{版本}_{类型}。追求可读性选前者,追求文件系统兼容性选后者。 - 直接改默认配置:所有默认参数都集中在
romfs/default_config.json,比如 NSP 的remove_console_data(去除控制台绑定数据)和enable_screenshots(允许截图)等,在改 UI 前可以先看看这份文件,理解每个开关的语义。
想深入了解实现,推荐按source/core(核心备份逻辑)→source/tasks(后台任务)→source/views(基于 borealis 的界面)的顺序读源码,模块划分非常清晰。
写在最后
回到开头那个朋友的故事:他后来用 nxdumptool 给全柜子的卡带都做了 XCI 备份,连卡带头部和证书都没落下。备份不是"折腾",而是给多年收藏上的一道保险。
无论你是担心卡带老化的收藏党、怕游戏下架的数字党,还是想研究 Switch 文件系统的技术爱好者,nxdumptool 都值得放进你的工具箱。它免费、开源、格式覆盖全面,而且重写分支正在快速迭代——下一个版本可能就会带来你想要的特性。动手跑一次make,你的备份之旅就开始了。
【免费下载链接】nxdumptoolGenerates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles.项目地址: https://gitcode.com/gh_mirrors/nx/nxdumptool
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考