I want to do a full format as opposed to a quick format of a 500 GB exfat USB stick. mkfs.exfat seems to be just a quick format since it's immediately done.

The reason I want a full format is that files get corrupted when I copy them to the stick, but seemingly only after about 20 or 30 GB. chkdsk on windows always removes the corrupted files. I also checked for bad sectors, but none are found, same happens on a second PC, so it's probably not a driver issue. Right now I want to do a full format, which takes very long, but I don't want my PC to be on for two days (very slow stick), so I want to use my Raspberry Pi for it. I tried Gparted, but it doesn't support exfat. I feel like it should be pretty easy, just a command to format the stick in exfat, but no quick format


As Dan says, it is entirely possible that your flash drive is not truly 500GB if data constantly gets corrupted after 20-30GB has been written. I would recommend you test the drive to make sure it really can hold 500 GB using either a Linux/OSX tool or a Windows tool, whichever you feel comfortable with.

  • 1
    Won't dd if=/dev/zero of=... overwrite the on-device list of bad blocks? And I don't think the linux exfat driver supports creating an exfat filesystem with a badblocks list, based on github.com/relan/exfat/issues/79
    – dgrogan
    Jan 23 '18 at 23:11
  • @dgrogan Oh, thank you, I wasn't aware that wasn't in the exfat driver yet. And my formatting commands make no sense, formatting the ext, zeroing the drive, and then formatting to exfat makes no sense, I really have no clue what I was thinking. I will remove it, thank you.
    – Thegs
    Jan 24 '18 at 14:10

Check mkfs.exfat --help:

$ mkfs.exfat --help
Usage: mkfs.exfat
    -L | --volume-label=label                              Set volume label
    -c | --cluster-size=size(or suffixed by 'K' or 'M')    Specify cluster size
    -b | --boundary-align=size(or suffixed by 'K' or 'M')  Specify boundary alignment
    -f | --full-format                                     Full format
    -V | --version                                         Show version
    -v | --verbose                                         Print debug
    -h | --help                                            Show help

You want the --full-format or -f option.

Your Answer

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