Skip to content

Instantly share code, notes, and snippets.

@znxDomain
Last active October 25, 2023 11:55
Show Gist options
  • Save znxDomain/ba68c0e8e4eb1cfdce78827668965414 to your computer and use it in GitHub Desktop.
Save znxDomain/ba68c0e8e4eb1cfdce78827668965414 to your computer and use it in GitHub Desktop.
Nintendo Switch 32G -> 256G Upgrade Steps for MacOS
Based on this: http://www.nathanbunn.com/NandUpgradeSteps/
using this: https://github.com/ihaveamac/ninfs
and using this: https://github.com/rajkosto/memloader
Using native MacOS tools + NinFS and memloader on the switch.
- Make Backup of 32G NAND
Use Hekate
- Install 256G NAND
- Restore boot0/1 backups with hekate
- Restore rawnand backup with memload + macOS
inject hekate > load > payload > memloader > choose emmc >
`$ cat /Volumes/NX/backup/XXXXXXX/restore/rawnand.bin.* | sudo dd of=/dev/rdiskX bs=1m`
- ### # Change X to right physical disk form here on out
- Mount the switch NAND presented by memloader
Use NinFS with sudo
Running: ['/Applications/ninfs.app/Contents/MacOS/ninfs-bin', 'nandhac', '-f', '/dev/rdiskX’, '/Users/Shared/NAND’, '--keys', '/Users/Shared/keys.txt', '-o', 'allow_other']
Only need `bis_key_0X` in key file.
Mount USER.img
- Copy contents out of User partition
`$ rsync -a -v --progress "/Volumes/NO Name/" ~/backup/ `
eject disk image
- fix GPT table, move backup to end of disk
`$ sudo gpt -r show /dev/diskX`
`$ sudo gpt -r show -l /dev/diskX`
`$ sudo gpt recover /dev/diskX`
- Resize partition
`$ sudo gpt remove -i 11 /dev/diskX`
`$ sudo gpt add -b 5488640 -i 11 -s 483065852 -t 2B777F63-E842-47AF-94C4-25A7F18B2280 /dev/disk3`
- make new FAT32 file system
mount/unmount the user.dmg again, should show as /dev/diskZ (/dev/diskX+1)
`$ mount /dev/disk4`
`$ sudo newfs_msdos -F 32 -v USER -b 16384 /dev/diskZ`
- Restore content
mount user.dmg again, should show as /dev/diskZ (/dev/diskX+1)
`$ rsync -a -v --progress ~/backup/ /Volumes/USER/`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment