任天堂Switch升级等导致黑屏或卡Logo变砖修复
MAC电脑修复Switch卡Logo黑屏, 误点升级后卡logo, 升级致黑屏重装(系统降级)
1 | 1. hekate - tools - Backup eMMC - eMMC BOOT0 & BOOT1 |
第一件事:备份nand
无论你是不是单系统\双系统,都备份一次,有双系统的,可以把自己的EMUMMC备份到电脑,这个也是NAND备份。这个备份可能会在未来,救你机器一命。备份视频教程.
第二件事:提取prod.keys备份,用来不可知的时候手动救砖。
prod.keys提取教程
[可选步骤: 验证rawnand.bin文件] nxnandmanager下载地址(访问密码:3610)
有什么用
开机正版系统卡logo黑屏, 真实系统报错
- 手误点击了升级 重启后黑屏变砖
- switch自动升级17.0.0 开机正版系统卡logo黑屏
- 升级过程中断电, 重启后黑屏或卡logo
- 手动系统升级导致黑屏或卡logo
- 系统错误导致卡Logo
- WIFI芯片故障导致无法连接WIFI或蓝牙或卡Logo
- 这个需要先修复硬件
switch不管在正版系统还是真实系统上通过网络自动升级至17.0.0,再次启动,不管是在正版系统上开机卡logo黑屏,还是真实系统报错,还是switch的维护模式均无法进入系统。
相关大佬的说法:
说法1:这次升级17.0卡nintendo后logo的,可能就算大气层更新支持17.0.0,也需要还原本机EMMC备份以后才能进正版系统升级。
说法2:目前有可能之前误升级17.0.0正版系统导致卡logo变砖需要恢复EMMC备份后,从低于17.0.0的系统更新大气层1.6.0以后采取离线方式升级才行。卡logo是因为系统升级重建system分区的出错导致变砖,所以这个需要特别的注意。
相关内容
工具MAC
EmmcHaccGen generates a firmware package (BOOT0, BOOT1, Bcpkg2 1-4 and the 120 system save) from a firmware dump and a valid prod.keys. This can be used to unbrick switches or to upgrade/downgrade the console from rcm
EmmcHaccGen is written in c#, running under .net core (3.1). It should work on windows, macos or linux.
https://github.com/suchmememanyskill/EmmcHaccGen/releases/tag/3.1.0
EmmcHaccGen.CLI.zip
- FUSE filesystem Python scripts for Nintendo console files ninfs 2.0 Latest
Mount my switch rawNAND like it’s possible with HacDiskMount on Windows
- .NET 7.0
EmmcHaccGen需要用到.NET 7.0 到微软的网站下载MAC版本的.
操作步骤如下
1.导出系统密钥
工具:
Lockpick_RCM1.9.7.bin
TegraExplorer.bin
EmmcHaccGen.zip(Windows用户) EmmcHaccGen.CLI(MAC用户)
SystemRestoreV3.te
Firmware.16.1.0.zip
Firmware.17.0.0.zip
工具都集成在了网盘中分享的文件: Firmware16.1.0+1.5.5大气层联机.zip
①关闭switch(按住电源键15s可实现switch的强制关机),取出TF卡,复制Lockpick_RCM1.9.7.bin、TegraExplorer.bin两个文件到TF卡上大气层的 bootloader\payloads 文件夹下;
②通过hekate启动系统,在hetake界面下选择payloads;
③用密钥获取工具Lockpick_RCM1.9.7.bin启动;
④启动后,选择第一个项:Dump from sysnand,导出系统密钥,这里按音量+和音量-可以移动光标,按电源键确认;
⑤稍等一会,就会显示导出密钥的界面;
⑥按任意键返回最初的页面,将光标移动到Power off,按电源键关机;
⑦取出TF卡,导出的密钥文件在TF卡根目录的switch文件夹下,文件名为:prod.keys
将这个密钥文件prod.keys拷贝到电脑中与16.1.0相同的目录层, 下一个步骤需要用到
目录层级关系为:
- Firmware 16.1.0
- prod.keys
- EmmcHaccGen.dll
- EmmcHaccGen…..等EmmcHaccGen.CLI.zip文件解压后的所有文件
2.制作降级系统
①新建一个文件夹在电脑硬盘根目录下,解压EmmcHaccGen.zip 到该文件夹,将固件Firmware.16.1.0.zip系统固件以及刚刚生成的 prod.keys 密钥文件同时拷贝到该文件夹下;
②在此目录启动 CMD 执行命令
Windows命令如下:
软破和v1焊接(既注入和补丁机):
1 | EmmcHaccGen --keys prod.keys --fw 16.1.0 --no-autorcm |
续航和lite以及OLED:
1 | EmmcHaccGen --keys prod.keys --fw 16.1.0 --mariko |
MAC命令如下:
工具 EmmcHaccGen.CLI.zip
软破和v1焊接:
1 | dotnet EmmcHaccGen.dll --keys prod.keys --fw 16.1.0 --no-autorcm |
续航和lite以及OLED:
1 | # 参数内容 prod.keys 是当前执行目录下, 在上一个步骤提取到的prod.keys |
结果要实现: 同目录下会生成一个新文件夹: a-16.1.0_exFAT
③将SystemRestoreV3.te复制到这个文件夹下
④将这个文件夹拷贝到SD卡的目录, 下一个步骤需要用到
1 | #查看Mac系统自动生成的隐藏文件 |
3.手动系统降级
①通过hekate启动系统,在hetake界面下选择payloads,用密钥获取工具TegraExplorer.bin启动;
②选择Browse SD;
③进入SD后,选择我们刚才拷贝进去的文件夹NX-16.1.0_exFAT;
④选择SystemRestoreV3.te文件;
⑤确认后,选择Launch Script;
⑥进入后,选择Apply on Sysmmc;
⑦进入后,选择Restore Both;
⑧等待几秒后按电源键确认,开始备份系统以及恢复系统;
⑨耐心等待直至完成,可能需要10分钟左右;当出现fully down 或者 press any key to exit 时,证明恢复已经完成;一路按B到最顶层,再选择关机。
⑩再次通过hekate启动系统,在hetake界面下选择Launch,选择真实系统启动,这时系统能启动了,进入系统可查看系统版本是16.1.0|AMS 1.6.0|S,正版系统也能进入。
4.离线升级系统
①将固件Firmware.17.0.0.zip解压至TF卡根目录下;
离线升级正版系统
②通过hekate启动系统,在hetake界面下选择Launch,选择真实系统启动;
③进入真实系统,选择相册,运行Daybreak;
再次通过hekate启动系统,在hetake界面下选择Launch,选择真实系统启动,进入系统可查看系统版本是17.0.0|AMS 1.6.0|S;正版系统也能进入。
离线升级虚拟系统
进大气层虚拟系统, Daybreak
灵感来源
记switch自动升级17.0.0,开机正版系统卡logo黑屏,真实系统报错等处理事宜
20241022待核实内容
OLED修复系统, 卡在了第二个Logo(Switch Logo)
1 | dotnet EmmcHaccGen.dll --keys prod.keys --fw 'Firmware 17.0.0' --mariko |
使用EmmcHaccGen生成了相应配套的固件版本后, 怀疑EmmcHaccGen没有对a-17.0.0_exFAT - SYSTEM - save - 8000000000000120 这个文件进行签名(使用prod.keys, 和工具: hactoolnet.exe)
MAC电脑加载Switch分区
- Memloader is the payload you run on your Switch, so it appears as USB drive when you connect to your computer. Then run ninfs on your computer to mount the Switch partitions.
- ninfs (formerly fuse-3ds) is a FUSE program to extract data from Nintendo game consoles. It works by presenting a virtual filesystem with the contents of your games, NAND, or SD card contents, and you can browse and copy out just the files that you need. Windows, macOS, and Linux are supported.
Tools
- hactoolnet/LibHac - An alternative to hactool that supports more formats, and a C# library for reading file formats used by the Nintendo Switch OS.
- hactool - A tool to view informataion about, decrypt, and extract common file formats.
- nx2elf - convert Switch binaries to ELFs for easy loading in IDA
- HacDiskMount - Allows to open Switch eMMC RawNand dumps and mount them as a drive letter in Windows
- ninfs - FUSE scripts for Nintendo Switch files, similar to HacDiskMount but cross-platform.
- SwIPC - IPC code and documentation generator. Auto-generated from swipc-gen.
- ilia - An IPC Logger for the switch, so you can spy on all the IPC calls.
- switch_cert.py - Convert nintendo’s raw client certificate into an openssl cert.
- hthh’s switch-reversing - Various Switch reversing scripts.
最新硬解的Switch主机19.0.0故障
![image-20241027135355896](/Users/carlzeng/Library/Application Support/typora-user-images/image-20241027135355896.png)
硬解需要插入SD卡, 一般是exfat, 这时Switch主机会提示升级, 导致最新的固件变为19.0.0. 这样的情况,使用目前的19.0.0整合包 还是无法进入大气层虚拟系统
现象: 开机启动, 点 虚拟系统, 黑屏
为何最新更新的主机系统(19.0.0), 无法进大气虚拟系统?
1. 破解芯片不支持; 换树莓派
2. 内存卡不支持,, 大文件读取,速度等因素, 内存卡碎片多, 卡logo
格式化, 重新emummc拷贝进去
3. [失败]把识别的fat32任天堂文件夹复制粘贴到格式化为 exfat格式化的盘里
1. 复制到电脑,格式化完再复制进去
2. 512G的fat32的卡,插进去 也是提示更新主机
3. 32G的fat32的卡, 可以正常 不回提示更新主机, 正常创建出 任天堂 文件夹
4. 离线升级没问题
1. 离线升级的机器,用这个整合包就能进虚拟系统
5. [待测试]降级. 进大气层 真实系统, 然后选择 daybreak降级;
然后使用18.0.1的整合包; 或者继续使用当前19.0(仅仅无法进大气层虚拟系统)的大气层整合包
当然这么处理完以后, 可能会导致黑屏无法进入真实系统/正版系统
手动刷写Switch系统
远程协助, 修复 switch 固件, 报错; 手动刷写系统
软件工具
EmmcHaccGen
- 这个工具+ 固件(相同目下的文件夹) + prod.key 就可以生成出适合当前特定Switch主机的固件包(Proinfo, proinfof, PKG2-1-Normal-Main, PKG2-2-Normal-Sub, PKG2-3-SafeMode-Main, PKG2-4-SafeMode-Sub, SAFE, SYSTEM, USER)
- 支持Windows, Mac
NxNandManager
- 警惕这个工具经常报错, 和闪退; 一旦发生意外当前的步骤(或关联步骤)就要重新操作一遍
- 这个工具的第一个步骤是去加载证书! 确保解密正常才能进行恢复等等的动作
DiskGenius
- 分区工具; 可以适用于把正版系统emmu分区成 32G 或 64G(OLED) 根据需要还原的
固件
- 查看主机的熔断数, 根据熔断数来判断需要选用什么版本的固件
整合包
- 合适的大气层整合包中, 需要用到提取prod.key需要用到的插件: Lockpick_RCM.bin(banned)
prodinfo_gen
- 原始, 并停留在 Adds support for 14.0.0固件
- github.com/CaramelDunes/prodinfo_gen/
- Usage
- If you want to use a donor PRODINFO, place it at sd:/switch/donor_prodinfo.bin. Note: If the donor is a patched or Mariko Switch, you will need to copy the donor’s keys to sd:/switch/donor.keys.
- Launch prodinfo_gen.bin using your favorite payload injector or chainloader.
- You should find sd:/switch/generated_prodinfo_from_scratch.bin or sd:/switch/generated_prodinfo_from_donor.bin depending on what you selected.
- You can now write that PRODINFO to your NAND using a tool such as HacDiskMount (it is recommended to make a backup of the current PRODINFO first).
lockpick_rcm
- github.com/shchmue/Lockpick_RCM
- https://github.com/Kofysh/Lockpick_RCM
- New firmware is out and it brings the master_key_12 generation.
- Lockpick_RCM is a bare-metal Nintendo Switch payload that extracts encryption keys for use in file handling software like hactool, hactoolnet/LibHac, ChoiDujour, etc., all without booting into Horizon OS. 🚀
全部工具下载地址:
链接:https://pan.baidu.com/s/1uLhXq8Ljj33_DohLoIHBrQ?pwd=g2ro
提取码:g2ro
20241114
现替换新的大气层整合包, 适配当前固件(或者大于当前固件的大气层整合包)
修复正版系统, 成功, boot0 没有动.
证书ok的情况下, 使用工具加载正版系统GPP, 然后重新写入1-4, 清空其他SAFE和USER, 重新写入SYSTEM(重新注册0000120)
NxNandManager 加载上证书以后很好用, 全程修复不需要用到HacDiskMount工具即可实现
需要注意的是注册SYSTEM分区里面SAVE文件夹内0000000120文件的动作, 这个注册的动作也需要用prod.key
没有这个key或者忘记注册, 开机会抱错误: Pk92 decryption failed! pk91/pk92 mismatch or old hekate! Failed to lanch HOS! Press any key…
参考:
18.1.0switch救机降级详细教程switch大气层系统误升级更新开机启动报错修复教程提供大气层整合包18.1.0最终稳定版支持TX转大气层修复游戏
NS全机型手动刷写eMMC系统固件教程 https://www.bilibili.com/read/cv17856812/