I have recently encountered the error "upcase table is not found" on my SD card formatted with exFAT, after it worked just fine the previous day. No tool I tried on Windows or Linux could fix that issue, even though it seems rather trivial from my investigations.

I know the supposed contents of the upcase table and have successfully changed the UID through hex editing previously.

After making a backup, I inspected the partition in a hex viewer, and what I found where hundreds of entries that looked like an upcase table (between position 0x10000000 and 0x106DFFB on a 400GB SD card in case that is interesting, see example below), almost every single one had some corruption in it though.

corrupted upcase table example

Can I somehow fix that through manual editing?
Do I have to mind checksums or any shenanigans?


Good News! I finally ran hexedit on a dd copy of the partition and simply manually replaced the required bytes of the upcase table from 0x01000000 onwards. In the process I found out that all these seemingly extra upcase tables were simply a continuation with extra bits set.

exfatsck now shows a different error of which I am unsure whether it is related:

ERROR: bad cluster 0 while reading root directory

But testdisk at least shows some files rather than merely erroring out as before. Unfortunately most filenames still look garbled, I'll see if I can also fix that...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.