Try out this new Linux exFAT kernel module for improved performance

Get better exFAT performance on Linux with this new driver.

Try out this new Linux exFAT kernel module for improved performance

Some time ago, Microsoft brought to Linux support for the exFAT filesystem. Turns out, the driver brought to Linux by MS is based on older code, which was "leaked" and found its way to Samsung. That Microsoft promise of delivering a quality Linux/exFAT experience is not even close to being realized. For those that need to reliably read devices formatted to the exFAT filesystem on Linux, this has been an issue. 

But this is open source, and that means one thing: Where there's a will, there's a way. Such is the way of Android developer Park Ju Hyung, who has brought to Linux users the exfat-linux project. Park's project is based on the sdFAT drivers from Samsung. These drivers are used in the Samsung line of Android smartphones and are already stable enough for everyday usage.

I'm going to show you how to install this exFAT driver on Ubuntu Desktop 19.04. It's available as a PPA, but can also be installed from source. Let's make this happen.

SEE: Choosing your Windows 7 exit strategy: Four options (TechRepublic Premium)

What you'll need

The only things you'll need to install this exFAT driver are:

  • A running instance of Ubuntu Desktop 19.04 (although this will also work on Ubuntu Server releases as well)
  • A user account with sudo privileges
  • A network connection

How to install from exfat-linux from PPA

The first method of installation is from the PPA. This is Ubuntu-specific, but will work on Ubuntu/Debian derivatives. To install exfat-linux from PPA, open a terminal and follow these steps:

  1. Add the necessary repository with the command sudo add-apt-repository ppa:arter97/exfat-linux.
  2. Update apt with the command sudo apt update.
  3. Install the driver with the command sudo apt-get install exfat-dkms -y.

How to install exfat-linux from source

If you opt to go the source route, here are the steps:

  1. Install git with the command sudo apt-get install git -y.
  2. Clone the code from Git with the command git clone
  3. Change into the newly created directory with the command cd exfat-linux.
  4. Build the source with the command make.
  5. Install the driver with the command sudo make install.

Once you've installed the exFAT driver, you must load the module into the kernel with the command:

sudo modprobe exfat

At this point you should now be able to mount exFAT-formatted partitions and drives on your Linux system. When using a desktop distribution, those drives should simply appear in your file manager once attached to the system, ready to be used. If that's not the case (as in your distribution of choice doesn't automatically mount external drives), you might have to mount it with a command similar to:

sudo mount -t exfat /dev/XXX /MOUNTPOINT

Where XXX is the drive name and MOUNTPOINT is the directory you'd like to mount the drive into.

And that's all there is to adding the new exfat-linux driver to Linux. You should find this new driver delivers a significant boost to the performance and reliability of Linux to exFAT drive interaction. Give it a try and see what you think.

Also see


Image: Jack Wallen

By Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic, The New Stack, and Linux New Media. He's covered a variety of topics for over twenty years and is an avid promoter of open source. For more news about Jack Wallen, visit his website jackwallen....