How to Format USB to exFAT in Linux

How to Format USB to exFAT in Linux

It doesn’t matter whether you’re a Linux user or a Systems Administrator and no matter how much we try to avoid Windows OS like the plague, somewhere in your tech travels you are going to run in to a Windows OS based system. And you will more than likely be acquainted with Microsoft’s very own filesystem designed for flash media and portable drives, exFAT.

Windows OS users have support built in out of the box, but Linux users don’t get off so easily. Most of the time, we have to get out of out comfort zone and do it ourselves. But that’s ok. Because I wouldn’t have it any other way. Do it your own way and do it right from the beginning.

Today, I’m going to show you how easily we can add full read/write support for exFAT based devices.


The first thing we need to do is add the PPA for the packages. This is simply done by performing the following:

% sudo add-apt-repository ppa:relan/exfat

Once the PPA has been added, you are now ready to install the packages that will pull in exFAT support for your Linux system.

To download and install the packages, simply perform this:

% sudo apt-get install exfat-utils fuse-exfat

Once the packages have been downloaded and installed, your system now has support for reading and writing to exFAT formatted devices.

If you get handed a device which has been formatted to exFAT, you will have to mount the device before being able to read it.

To mount a exFAT formatted device, perform these few simple steps.

Create a new directory for the mount. For this tutorial, we’ll just stay in ~/ and do this:

% mkdir exfat

Now before you mount the device, you need to find where it is hiding. We’ll use fdisk for this:

% sudo fdisk -l
<output... >


In the case above, the output will be different for everyone. With my own system, I know that /dev/sda* is my laptop system drive. Therefore, I can tell which device is my SD card I want to mount because it is the device with only 2GB:

Disk /dev/sdb: 1977 MB, 1977614336 bytes

It might be a little different on your own system or even confusing when you have several different USB devices and flash drives plugged in. But for ease-of-use, I’ve kept this tutorial simple. Effectively you will know your own system device details better than me, so it really shouldn’t be that hard to work out which drive it is that you are targeting.

Now we need to mount the device. You can do this to mount the device in your new exfat directory:

% sudo mount -t exfat /dev/sdb1 exfat

Done. Now we’ll change to the exfat directory and see whether it works:

% cd exfat
% tree
|-- file1.txt
|-- file2.pdf
`-- unixmen
`-- stuff.odt
1 directory, 3 files

It works!


Now, what if you want to format your own device to exFAT? That can be done also.

This can be handy if you are going to give the exFAT formatted drive to a user who runs Windows OS as they are not going to be able to read anything on your Linux native BtrFS formatted drive.

To format your drive to exFAT, the drive must not be formatted to any other filesystem format. You must have an empty partition already. GParted is good for creating new partitions that have no specified filesystem.

See the screenshot below and you’ll see how I created an empty partition with no filesystem specified.


If you don’t already have GParted installed, you can easily install that by quickly performing this:

% sudo apt-get install gparted

Once you are sure your partition is empty, do the following:

% sudo mkfs.exfat /dev/sdb1
mkexfatfs 1.0.1
Creating... done.
Flushing... done.
File system created successfully.

That’s it. Repeat the steps above to mount the device and you will have a read/write supported exFAT partition.

  • PePas

    Don’t do this in Ubuntu 13.04, because it is already in the standard repo, although

    fuse-exfat is called exfat-fuse. This will cause conflicts, and fuse-exfat will not
    install if exfat-fuse is already installed (as it was on my system). I didn’t have
    exfat-utils installed yet, but it’s also in the repos, same version as the PPA one,
    so no need for that PPA.

    Probably still useful for 12.04 I guess (haven’t checked).

  • kashu


  • dschinn1001

    exFAT is new to me – is it downwards compatible to FAT, NTFS ( does it accept FAT16 too ? ).

  • Chris Jones

    exFAT is a filesystem of its own.

  • zorn

    Works like a charm my friend. I dont know if iam happy about your howto, or about gettin that shit to work finally :) Whatever … i think it is time for the gParted dev-team to implement that.


  • Lucille Ruiz

    To install exfat on Ubuntu 13.10 Saucy Salamander, you don’t need to add any extra PPA to your sources list. You only need exfat-utils package
    $ sudo apt-get update && sudo apt-get install exfat-utils