8

I am having some odd issues with Ubuntu Budgie 20.04 and exfat file systems.

If I insert an exfat formatted sd card or mount an exfat partition everything works fine. But from a fresh install Gnome Disks (and KDE Partition Manager) cannot format to exfat without exfat-utils installed; once installed they both seem to work fine for formatting partitions.

However installing exfat-utils also installs exfat-fuse... and once installed all exfat partitions and cards are mounted as fuse filesystems ignoring the kernel exfat support (via mount cmd or fstab config). This seems a bit goofy, is there a way to change the order of mount options so that exfat devices use the kernel driver not the exfat-fuse one? Or to install exfat-utils without exfat-fuse?

My solution for now is to install exfat-utils just before I need to format a partition, format the partition, and then uninstall exfat-utils (and with it exfat-fuse) before mounting anything.

** edit **

So this morning to try and benchmark this I installed exfat-utils (and exfat-fuse) but now I just get an error that the partition could not be mounted... so I did "apt remove exfat-fuse" and the drive mounted while leaving exfat-utils installed!

So it seems to install exfat-utils exfat-fuse must be installed too (at least via apt), but exfat-fuse can be uninstalled and exfat-utils still work.

Giiba
  • 354
  • 1
    Why don't you like to mount exfat partitions and cards as fuse filesystems? – sudodus May 16 '20 at 20:52
  • 2
    In my experience using exfat-fuse on 18.04, there was poor performance especially for things like high bit rate video. My limited understanding is that fuse is always slower. – Giiba May 17 '20 at 04:44
  • In my experience Ubuntu works best with linux file systems, for example ext4. So when you want high read and write performance (and full control of ownership and permissions), you should use a linux file system, instead of exFAT. Use Microsoft file systems only in order to share data with Windows. – sudodus May 17 '20 at 08:59
  • 1
    That's exactly the purpose of the partition. I have ext4 partitions for / and /home, but with limited drive space and needing to boot into Windows once in a while I have the single partition for storing data and sharing between OS's. – Giiba May 17 '20 at 16:48
  • for reference my fstab line looks like: – Giiba May 17 '20 at 16:50
  • UUID=XXXX-XXXX /media/DATA exfat fmask=133,dmask=022,uid=1000,gid=1000 0 0 – Giiba May 17 '20 at 18:04
  • I haven't been able to mount using fuse since before posting this question, so I haven't benchmarked a fuse filesystem, but using kernel drivers ext4 and exfat partitions (on the same disk) benchmark within 1% of each other. Seems there is no advantage to ext4 for speed. – Giiba May 17 '20 at 18:10
  • That's great news :-) But I suggest that you check with different connections: USB3 and SATA to find out what is the bottleneck for the transfer rate. Maybe the card itself is the bottleneck. -- Some years ago I compared ext4 and NTFS (in a SATA drive). There was a big difference. ext4 was almost 3 times faster. I think the linux driver for NTFS has been improved since that time, but I don't think it matches the read/write rate of ext4. – sudodus May 17 '20 at 19:56
  • I did some benchmarking with Gnome Disks and found 551mb/s for the exfat partition and 550mb/s for the ext4. Same drive, just different formatting. Seems the kernel exfat works quite well. My feeling is it is faster than ntfs, but that is conjecture atm. If I can get the partition to mount under fuse tonight I'll try a benchmark. – Giiba May 17 '20 at 22:36
  • This isn't a removable card, the partitions are on an SSD. – Giiba May 17 '20 at 22:37

1 Answers1

5

It seems I have stumbled upon something the Arch Linux folks have already dealt with: https://aur.archlinux.org/packages/exfat-utils-nofuse/

Since their solution looks to be simply removing exfat-fuse as a dependency, my solution is effectively the same. I have filed a bug report on Launchpad against the exfat-utils package so I think this can be considered closed.

So the solution is to install exfat-utils via apt:

sudo apt install exfat-utils

then remove exfat-fuse:

sudo apt remove exfat-fuse

and all should be good!

Giiba
  • 354