Switch 虚拟系统迁移指南:从文件系统到分区系统
概述
刚开始接触大气层的朋友,通常会先用“基于文件”的方式创建 emuMMC,操作简单、换卡方便。但实际使用中,部分游戏会出现卡顿:比如大乱斗选人界面、双人成行的启动动画、大型场景加载等。改为“隐藏分区(基于分区)”形式可以有效解决卡顿。
网上常见做法是:导出存档→重做隐藏分区系统→重装所有游戏→重配系统设置,过程繁琐。本文提供“无损迁移”方案:将“基于文件”的 emuMMC 直接迁移到“基于分区”的 emuMMC,保留全部游戏、存档与系统设置,同时获得更好的性能与稳定性。
我改进的一点,是 \emuMMC\SD00\Nintendo
可以不被删除,只需要移动。这样在你安装游戏很多的时候可以省下来很多拷贝时间。
迁移前的准备工作
1. 数据备份
⚠️ 重要提醒:迁移过程中存在数据丢失风险,务必做好完整备份!
必须备份的内容:
- 整个 SD 卡内容:备份 TF 全部的文件
- 大气层配置:备份
atmosphere
文件夹 - 游戏存档:通过 Checkpoint 或 JKSV 备份重要存档
2. 工具准备
必需工具:
- NxNandManager:用于处理 NAND 镜像(可选)
- DiskGenius (DG):Windows 下的分区工具
- 读卡器:建议使用 USB 3.0 以上的高速读卡器
系统要求:
- Windows PC(用于分区操作)
- 至少 64GB 的 SD 卡(推荐 128GB 以上)
- Switch 已安装 Hekate 引导
迁移步骤详解
第一步:分析当前系统
1.1 确认当前虚拟系统信息
当前文件路径:emuMMC/SD00/
系统版本:[记录当前版本]
USER 分区大小:[记录当前大小]
1.2 计算所需分区大小(以 Hekate 显示为准)
- 步骤:先进入 Hekate → Tools → emuMMC → emuMMC Info(或 SD File 详情页)查看当前 SD File 式 emuMMC 的容量/所需大小,记录下来。
- 常见数值(仅供参考):普通机约 29.xGB,OLED 约 59.xGB。
- 结论:稍后在 DiskGenius 中创建的 RAW 分区大小,务必与 Hekate 显示的 emuMMC 大小“完全一致”, 或者更大。
第二步:用 DiskGenius 分区(MBR + E0 类型)
2.1 基础操作
⚠️ 注意分区顺序:Hekate 按从左到右识别分区(SWITCH SD → RAW1 → RAW2 …)
- 如果 TF 卡不是 FAT32,可先在 DG 将其格式化为 FAT32(仅当确有需要)。
- (默认情况应该是 MBR)将分区表类型转换为 MBR:菜单「硬盘」→「转换分区表类型为 MBR」。
- 压缩现有 FAT32 分区以空出未分配空间:右键 FAT32 分区 →「调整分区大小」,在“末端”缩小,空出目标容量(大小=前一步在 Hekate 看到的 emuMMC 大小)。
- 在空闲空间上新建主分区:
- 大小:与 Hekate 显示的 emuMMC 大小完全一致(如 29.xGB 或 59.xGB;也可为你实际看到的 58.3GB 等值)
- 文件系统:保持未格式化(RAW),不要创建文件系统
- 分区类型 ID:其它(E0)
- 驱动器号:不分配
- 点击“保存更改/应用”以写入分区表与分区调整。
2.2 分区创建参数实例(以 Hekate 显示大小为准)
分区表:MBR
分区1:FAT32(原 Switch SD 分区,保持不动)
分区2:RAW(未格式化),大小=Hekate 显示的 emuMMC 大小,分区类型 E0
扇区范围:可参考 54623 - 62229(仅示例;以你实际卡的空闲区为准)
重要提醒:
- 只写入分区表与分区调整,切勿对新建 RAW 分区进行格式化。
- 确保顺序为:FAT32(左侧)→ RAW(右侧)。顺序变动会导致 hekate 识别错误。
第三步:执行迁移
3.1 通过 Hekate 创建分区虚拟系统
- 启动 Hekate
- 进入 Tools → emuMMC
- 选择 “Create emuMMC”
- 选择 “SD Partition”
- 选择刚创建的 RAW 分区(通常显示为 Part 1,对应 RAW1) 前面通过 DiskGenius 创建的分区 E0 可以被 Hekate 用作虚拟系统分区
- 选择源系统:
- 如果要基于当前文件系统:选择 “SD File”
- 如果要基于真实系统:选择 “SysNAND”
3.2 迁移过程监控
创建进度:[████████████████] 100%
预计时间:30-60分钟(取决于 SD 卡速度)
第四步:使用 NxNandManager 无损迁移 eMMC 数据
说明:多数情况下,此步用于将 SD File 形式的 eMMC 数据“无损写入”到新建 RAW 分区,是核心步骤。若你的 Hekate 版本提供“直接从 SD File 迁移到 SD Partition”的功能并已在第三步完成克隆,则可跳过此步。
- 将 TF 卡插入电脑,启动 NxNandManager(使用最新版本)。
- File → Open drive,选择 TF 卡(程序会显示隐藏分区)。
- 选择目标 RAW 分区。
- 点击左下角「full or partial restore」。
- 选择备份内容中的
\emuMMC\SD00\eMMC
文件夹,选中00
文件作为源。 - 开始还原,将文件制式 emuMMC 的 eMMC 数据无损写入 RAW 分区。
还原进度完成后即可关闭 NxNandManager。
第五步:恢复 Nintendo 目录
- 打开
\emuMMC\RAW1
与\emuMMC\SD00
,将\emuMMC\SD00\Nintendo
文件夹移动到\emuMMC\RAW1
下(注意仅移动Nintendo
文件夹,而非整个SD00
)。
参考结构:
TF卡根目录/
├── atmosphere/
├── bootloader/
├── switch/
├── emuMMC/
│ ├── RAW1/
│ │ └── Nintendo/ # 从 SD00 迁移
│ └── SD00/ # 建议删除(确认 RAW1 正常可启动后再删除)
└── ...
第六步:检查 emummc.ini 配置(关键参数)
- 由 Hekate 创建 emuMMC,一般会自动生成正确参数。通常无需修改。
- 文件位置:
/emuMMC/emummc.ini
。 - 适用场景:使用 DG 手动建分区或迁移后如遇识别异常,可核对/修正本文件。
示例:
[emummc]
enabled=1
type=0 # 0=隐藏分区(raw-based),1=文件模式(file-based)
sector=0x200 # 隐藏分区起始扇区(十六进制)
path=emuMMC/RAW1 # 配置文件目录名(与你的 RAW 目录一致)
nintendo_path=emuMMC/RAW1/Nintendo # 游戏库路径(建议与 RAW1 下 Nintendo 一致)
参数说明:
enabled
:是否启用 emuMMC。type
:0 为隐藏分区方式,1 为文件方式。sector
:RAW 分区起始扇区(LBA)的十六进制值。来自 DG 新建分区后的“起始扇区”或 Hekate 显示的 start sector。path
:指向emuMMC/RAW1
或emuMMC/SD00
等对应目录。nintendo_path
:Nintendo 目录路径,确保与前文所放置的位置一致。
获取与换算 sector
:
- 在 DiskGenius 选中新建的 RAW 分区 → 查看“起始扇区”(十进制)。
- 用计算器将十进制换算为十六进制,并在前面加
0x
。例如:起始扇区 32768 → 十六进制0x8000
。
注意:
- 若你之后再次调整分区,需同步更新该
sector
值。 - 若 Hekate 能正常识别并启动 emuMMC,通常无需手动编辑。
第七步:(可选)配置启动项
如果已经移除了基于文件的 emu 系统,也不存在其他虚拟系统,不需要这一步骤。
7.1 修改 hekate_ipl.ini
添加或修改启动项配置:
[虚拟系统-分区版]
fss0=atmosphere/package3
kip1patch=nosigchk
cal0blank=1
emummcforce=1
atmosphere=1
usb3force=1
icon=bootloader/res/icon_payloademu.bmp
emupath=emuMMC/RAW1
7.2 启动项说明
emupath=emuMMC/RAW1
:指向分区虚拟系统,一般不需要配置- 其他参数保持不变
7.3 检查状态与归档位修复
- 确认 emuMMC 状态为绿色:在 Hekate 中进入
Tools → emuMMC → emuMMC Info
查看状态,绿色表示分区映射正确且可用。 - 建议搞一遍修复归档位:在hekate里,
Tools → Arch bit . RCM . Touch . Pkg1/2 → Fix Archive Bit
。
第八步:验证和测试
8.1 启动测试
- 重启 Switch
- 选择新的分区启动项
- 验证系统启动正常
- 检查系统信息:设置 → 主机 → 系统版本
8.2 数据验证
- 游戏启动测试:确认游戏能正常运行
- 存档检查:验证存档完整性
- 网络功能:确认在线功能正常(如果需要)
常见问题和解决方案
问题1:虚拟系统无法启动
可能原因:
- 分区顺序错误
- 启动配置文件路径错误
解决方案:
- 检查
hekate_ipl.ini
中的emupath
设置 - 确认分区创建顺序正确
问题2:游戏无法启动或存档丢失
可能原因:
- 迁移过程中数据损坏
- 文件系统碎片问题
解决方案:
- 从备份恢复虚拟系统
- 重新执行迁移过程
- 使用 Checkpoint 恢复存档
问题3:分区无法识别
可能原因:
- 分区表损坏
- 分区格式不正确
解决方案:
- 重新创建分区表
- 确保分区为 RAW 格式
- 使用 DiskGenius 检查分区状态
注意事项和风险提醒
⚠️ 重要警告
分区系统是一锤子买卖:
- 一旦创建,分区大小无法轻易调整
- 分区顺序改变会导致系统无法识别
- 建议提前规划好分区大小
备份的重要性:
- 迁移前必须做完整备份
- 分区系统无法像文件系统那样简单复制
- 只能通过 Hekate 进行备份和恢复
兼容性考虑:
- 确保大气层版本与系统版本匹配
- 某些插件可能需要重新配置
- 在线功能需要谨慎测试
总结
基于文件的虚拟系统迁移到基于分区的虚拟系统可以获得更好的性能和稳定性。但这个过程需要谨慎操作,务必做好备份工作。
推荐的最终配置:
- 主力系统:RAW1(分区式)
- 备用系统:保留文件式作为备份
- 定期备份:使用 Hekate 备份分区系统
通过正确的迁移流程,可以在保持系统稳定性的同时获得更好的使用体验。