48

Is it possible to create and format an exFAT partition from Linux?

57

Yes, there is a project implementing exfat and the related utilities at relan/exfat.

To format a partition, use mkexfatfs / mkfs.exfat like with most filesystems, e.g.:

mkfs.exfat /dev/sdX1

As for creating the partition in the first place, this is the same as for any other filesystem. Create a partition in your favourite partition manager. If you have a MBR partition type, set its type to NTFS (that is code 7).

Note, that some distributions only package the fuse module, so you may have to build it yourself.

  • 9
    On Ubuntu I just had to install a couple packages first: sudo apt-get install exfat-utils exfat-fuse. Source: askubuntu.com/a/374627/18665 – bmaupin Aug 28 '15 at 18:21
  • 2
    To be clear, the code is 7 (hex), not 7h. – thetoolman Mar 17 '16 at 0:27
  • On modern fdisk the type you want is 11 (Microsoft basic data). Disregard the google.code.com link in the answer and instead use @bmaupin's command on Debian/Ubuntu. – Adam Katz Dec 2 '17 at 20:07
  • be careful while doing this, it didnot warn me and completely deleted all the files I had in it. So first backup and then do it – doniyor Mar 30 '18 at 9:58
  • 2
    This worked fine for me. I already had the exfat and fuse installed. BUT... the post blow from Billious is misleading. IF you have just formatted a drive, you must supply more information to mkfs.exfat -- Like where to put the partition and how big, ya-da-ya-da. I'm just lazy. I used gParted to set-u my USB how I wanted. Leave the partition you want to make exFAT alone. Or format it to FAT32 to process the whole USB. Next ensure the target partition is unmounted. Proceed, e.g.: sudo mkfs.exfat -i DAT -n data /dev/sdc3. I let gParted deal with alignments and such. – will Oct 8 '18 at 13:09
5

The mkfs.exfat solution above works if a partition already exists on a drive, like a purchased USB pen drive. Use this link if you're starting from a bare disk:

Formatting a Universal Drive

  • I tried following several guides, which all failed in Fedora 29. This one worked. :) – Nick Ribal Nov 6 at 4:08
2

On the command line, the process is as follows:

Use the lsblk command to find out which drive your usb stick is. (for example /dev/sdx)

lsblk

Then start parted and tell it which drive you want to perform operations on:

sudo parted /dev/sdx

In parted interactive mode type:

mklabel msdos

Now reboot. And after the reboot do:

sudo parted /dev/sdx

And in parted interactive mode type:

mkpart primary ext4 0% 100%

When the partition is created, press q to exit parted.

Now that the flash drive contains a partition, create an exFAT filesystem on the newly created partition (replacing the ext4 filesystem that only works on Linux):

sudo mkfs.exfat /dev/sdx1

Copy-pasted from https://forum.manjaro.org/t/how-to-format-a-usb-stick-so-that-it-is-usable-on-manjaro-windows-and-macos/3972

Personally, I skipped the "reboot" step. Instead, I pulled out the USB stick (sdb went away) and after reinserting it came up as sdd. If it wasn't obvious, with sdx1 the "x" could be any letter of the alphabet (usually it's a, b, c, d...) but it depends on your particular setup.

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.