exFAT support on macOS seems to have some bugs because my external drives with exFAT formatting will randomly get corrupted.
If Disk Utility is unable to repair, consider trying this:
- In Disk Utility, ensure that the drive is not mounted, eject it if it is mounted.
- Use
diskutil list
to find the right drive id. - You want the id under the IDENTIFIER column, it should look like
disk1s1
- Run
sudo fsck_exfat -d <id from above>
. egsudo fsck_exfat -d disk1s3
-d
is debug so you'll see all your files output as they're processed.- Answer
YES
if it gives you the promptMain boot region needs to be updated. Yes/No?
- Open Disk Utility and you should be able to repair here successfully.
See the apple man page below for details on the fsck_exfat
utility.
Sources/Extra Reading: https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man8/fsck_exfat.8.html https://craigsmith.id.au/2014/07/06/repairing-a-corrupted-mac-osx-exfat-partition/ https://discussions.apple.com/thread/4154638?tstart=0
My external hard disk partition (disk2s1) can't be mounted and grayed out in disk utility.The error I get when I run
sudo fsck_exfat -d disk2s1 is
`Password:
Opening /dev/rdisk2s1
** Checking volume.
** Checking main boot region.
1953519616 total sectors; 512 bytes per sector
FAT starts at sector 2048; size 61440 sectors
7630688 clusters starting at sector 63488; 131072 bytes per cluster
Root directory starts at cluster 11
Read offset = 0x000000100000 length = 0x001000
** Checking system files.
Read offset = 0x000002020000 length = 0x020000
fsck_exfat: Couldn't read 131072 bytes at offset 33685504: Input/output error
No upper case translation table was found.
CONTINUE? Yes
Using default upper case translation table.
No main bitmap was found.
CONTINUE? Yes
**** Checking file system hierarchy.**
Directory /
Read offset = 0x000002020000 length = 0x020000
fsck_exfat: Couldn't read 131072 bytes at offset 33685504: Input/output error
Upper case translation table must be replaced.
Replace? Yes
Read offset = 0x000001f00000 length = 0x020000
fsck_exfat: Couldn't read 131072 bytes at offset 32505856: Input/output error
The volume could not be verified completely.
The disk utility gives me this error when I run first aid on the unmounted partition.
Running First Aid on “” (disk2s1)
Repairing file system.
Volume is already unmounted.
Performing fsck_exfat -y -x /dev/rdisk2s1
Checking volume.
Checking main boot region.
Checking system files.
No uppercase translation table was found.
Using default uppercase translation table.
No main bitmap was found.
Checking file system hierarchy.
Uppercase translation table must be replaced.`
Does anyone have same experience? Any suggestions? Thank you in advance :)