Hacking Homebrew Switch stock firmware won't read Sandisk 512 GB SD card formatted in FAT32 (using fat32format with 32K clusters) but will read exFAT.

superkrups20056

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2012
Messages
95
Trophies
0
XP
147
Country
United States
Hello,

I bought a new Sandisk U1 512 GB SDXC microSD card to replace my 128 GB microSD card. I have games that I have bought on my stock firmware 13.2.1. I have them backed up using Checkpoint. My dream is to dual boot emuNAND (file based) and stock sysNAND using my new SD card formatted in FAT32. I am aware of how to do this.

The issue is that my old SD card was formatted in exFAT, and I am finding that my stock firmware will not read my new card formatted in FAT32 (only exFAT). I have tried multiple approaches, including partitioning with hekate. Formatting the microSD card with the stock firmware under "formatting options" yields an exFAT partition, even if the original partition was FAT32.

I have another switch on firmware 9.0 that is able to read a 400 GB SanDisk SDXC formatted to FAT32 on stock firmware. Why isn't the above switch able to read my 512 GB SDXC card in FAT32 on 13.2.1?
 

Draxzelex

Well-Known Member
Member
Joined
Aug 6, 2017
Messages
17,822
Trophies
1
Age
27
Location
New York City
XP
11,796
Country
United States
Hello,

I bought a new Sandisk U1 512 GB SDXC microSD card to replace my 128 GB microSD card. I have games that I have bought on my stock firmware 13.2.1. I have them backed up using Checkpoint. My dream is to dual boot emuNAND (file based) and stock sysNAND using my new SD card formatted in FAT32. I am aware of how to do this.

The issue is that my old SD card was formatted in exFAT, and I am finding that my stock firmware will not read my new card formatted in FAT32 (only exFAT). I have tried multiple approaches, including partitioning with hekate. Formatting the microSD card with the stock firmware under "formatting options" yields an exFAT partition, even if the original partition was FAT32.

I have another switch on firmware 9.0 that is able to read a 400 GB SanDisk SDXC formatted to FAT32 on stock firmware. Why isn't the above switch able to read my 512 GB SDXC card in FAT32 on 13.2.1?
Have you tried using GUIFormat?
 

pic1972

Member
Newcomer
Joined
Dec 25, 2020
Messages
24
Trophies
0
Age
49
XP
340
Country
Italy
You can format the 512GB sd card in FAT32 with RUFUS. Maybe your switch with firmware 13.2.1 has drivers only for exFAT. Updating the firmware with daybreak you should be able to install FAT32+exFAT drivers....
 
  • Like
Reactions: binkinator

Dimensional

Well-Known Member
Member
Joined
Dec 7, 2008
Messages
961
Trophies
0
Age
32
Location
Texas
XP
2,074
Country
United States
Any SD Card with a capacity greater than 32 GBs will only have official support for exFAT. While you can try to format it to FAT32, due to limitations in the partition type, this can lead to massive sector sizes on large capacity drives, which can make it unstable or unusable on various devices with easy FS corruption, or for devices that depend heavily on SD cards, crashes and FS corruptions.

There's the chance that because the Switch only officially support using exFAT on SDs with more than 32 GBs of storage, there isn't any way around it except for shrinking the partition and adding a new one. I don't have a hacked Switch, so I can't determine how it detects and if it will force a formatting.

To make sure I'm following, are you trying to format the entire SD as a single FAT32 partition, or give it multiple partitions?
 
Last edited by Dimensional,
  • Like
Reactions: AkikoKumagara

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
1,970
Trophies
1
XP
1,331
Country
United States
e: found an article and video of the actual guy that made 32G the arbitrary limit in Windows Format.exe owning up to his short sightedness in creating it.

https://www.theregister.com/2021/01/04/windows_format_fat32/

in the video…he recommends using Rufus to get around his mistake. He also reveals that even in Windows you can get around the limit by using the command line.

Rufus and GUIFormat allows you to break Microsoft’s arbitrary recommendation to use larger partition sizes with smaller cluster sizes. Linux doesn’t have this artificial limitation either. Microsoft only did this to provide middle of the road performance to fit the average needs of the vast majority of users. They didn’t want “Microsoft Windows” to perform poorly (in this case waste disk space) should somebody chose a fringe format. The spec for SD cards readily accepts much larger partitions (up to 2TB) using FAT32.

Cluster Count * Cluster Size = Partition Size

FAT16FAT32NTFSexFAT
Max Cluster Size32K (64K WinNT)32K64K (4K Compression)32 MByte
Max Cluster Count65526268,435,445 (4,177,920 16Bit)4,294,967,296?
Max Partition Size2GB (4GB WinNT)8TB (Actual 2TB, 127GB 16Bit)64 TB (Basic - 2TB)64 ZB (Best 512 TB)
Min Partition Size360 KByte (FAT12)512 MByte10 MBytes?
Max File Size2GB (4GB WinNT)4GB16EB (Basic - 2TB)64 ZB (Bes


Microsoft reports that a FAT32 partition can contain, at most, 268,435,445 clusters. Assuming a cluster size of 32KB, this suggests that -- at least in theory -- the FAT32 file system is a capable of supporting partition sizes up to 268,436,445-by-32 -by-1024 bytes or 8.8 terabytes. However, in practice, Windows XP Professional limits the size of FAT32 partitions to 32GB and reports a "Volume size too big" error if you attempt to format a FAT32 partition larger than this.

This is just an arbitrary limitation imposed by a Microsoft dev because he couldn‘t envision a use case for that much space at the time and thought it would be replaced in the event it ever happened.

The spec for SD cards limits the actual Max to 2TB.

SD Cards Capacity Types
The SD Card Formatter formats the following SD Card capacity types.
- SD up to 2GB
- SDHC more than 2GB up to 32GB
- SDXC more than 32GB up to 2TB

I can’t wait until they start making 2TB SD cards and I’m certain Rufus and SD Card Formatter will be able to format them using FAT32 for use in the Switch.

Bottom Line: download Rufus or GUIFormat select FAT32, select 32K block size and you will be well within published SD card and FAT32 specs and it will run great on your Switch using built in FAT32 drivers instead of the buggy exfat drivers they so lazily selected by Ninty.
 
Last edited by binkinator,

superkrups20056

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2012
Messages
95
Trophies
0
XP
147
Country
United States
Just wanted to let y’all know I figured this out. I formatted the SD card with Switch first (exFAT) which put a small partition before the main partition for whatever reason. Then I formatted the SD card again with FAT32GUI, which left this small partition at the beginning intact. Now the Switch reads it no problem. I recommend formatting your SD card with the Switch first rather than FAT32GUI straight out of the box.
 
Last edited by superkrups20056,
  • Love
Reactions: binkinator

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
1,970
Trophies
1
XP
1,331
Country
United States
Just wanted to let y’all know I figured this out. I formatted SD card with switch first (exFAT) which put a small partition before the main partition for whatever reason. Then I formatted the SD card again with FAT32GUI, which leaves this small partition at the beginning intact. Now the switch reads it no problem. I recommend formatting your SD card with the switch first rather that FAT32GUI straight out of the box.

I do the exact same thing. Let the switch layout the pattern and then come back and tidy things up. I honestly don’t even allow the firmware with the exfat drivers on my switch Just in case I forget.
 
  • Like
Reactions: superkrups20056

superkrups20056

Well-Known Member
OP
Newcomer
Joined
Aug 15, 2012
Messages
95
Trophies
0
XP
147
Country
United States
I do the exact same thing. Let the switch layout the pattern and then come back and tidy things up. I honestly don’t even allow the firmware with the exfat drivers on my switch Just in case I forget.
Will the switch format the SD in FAT32 or exFAT if your firmware doesn't have the exFAT drivers?
 

binkinator

Garfield’s Fitness Coach
Member
GBAtemp Patron
Joined
Mar 29, 2021
Messages
1,970
Trophies
1
XP
1,331
Country
United States
Will the switch format the SD in FAT32 or exFAT if your firmware doesn't have the exFAT drivers?
Hekate is a bootloader so it’s up before the OS. It does the formatting before the Switch firmware even sees it. I’ll test it just the same.

e: I dropped HATS on an SDCardand I formatted with Rufus.

I formatted it with the Hekate partition manager like so:
1) rest of drive
2) 29G Emunand
3) 8G L4T
4) 8G Android

45G total on a 128G card. and my largest partition is a 0x0C (FAT32.)

image.jpg

I copied my 11.0.0 Sysnand Firmware to a new emunand. Updated to 14.1.1 (FAT32 only…no exfat) and am about to format with Hekate again just to make sure.

image.jpg

You can see that even though I have 69GB on my HOS partition Hecate is showing it is going to format FAT32.

image.jpg

…even with the full 119G partition selected, Hekate is still showing FAT32.

image.jpg

back in business on FAT32 courtesy Hekate.

Honestly…I haven’t thought about this in like a really long time so I was kinda curious what would happen in this experiment. Would I find out I had been using exfat all along? Would format fine but not boot? I wouldn’t have bet anything significant on it either way. This was a fun experiment to prove out. I think I’m gonna go touch some grass now.
 
Last edited by binkinator,
General chit-chat
Help Users
    L @ LaserJesusBeard: And now I'm upset I don't have one