Microsoft to Bring exFAT Support to the Linux Kernel

Posted on August 28, 2019 by Paul Thurrott in Hardware, Linux, Mobile with 29 Comments

Microsoft announced today that it is supporting the addition of its exFAT file system to the Linux kernel.

“Microsoft loves Linux,” Microsoft distinguished engineer John Gossman writes in the software giant’s Open Source Blog. “We say that a lot, and we mean it! Today we’re pleased to announce that Microsoft is supporting the addition of Microsoft’s exFAT technology to the Linux kernel.”

Microsoft created exFAT in 2006 as the successor to FAT32, a file system it had previously created for inclusion in Windows 95 OEM Service Release (OSR) 2 in 1996. It’s designed primarily for flash memory systems such as SD and microSD cards, and supports the large storage devices that FAT32 does not.

But the problem with exFAT, of course, is that it’s proprietary and customers must license the technology to use it. For this reason, exFAT support has never been available to Linux, including Linux-based systems like Raspberry Pi.

Well, that’s changing.

“It’s important to us that the Linux community can make use of exFAT included in the Linux kernel with confidence,” Gossman says. “To this end, we will be making Microsoft’s technical specification for exFAT publicly available to facilitate development of conformant, interoperable implementations. We also support the eventual inclusion of a Linux kernel with exFAT support in a future revision of the Open Invention Network’s Linux System Definition, where, once accepted, the code will benefit from the defensive patent commitments of OIN’s 3040+ members and licensees.”

Those interested in the technical specification for exFAT can learn more at the Microsoft Docs website.

Tagged with ,

Join the discussion!


Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Comments (29)

29 responses to “Microsoft to Bring exFAT Support to the Linux Kernel”

  1. F4IL

    Nice. This will eventually make the filesystem available on Android and Chromebooks as well.

  2. Tony Barrett

    There's something going on here. Something deep within Microsoft - a big plan. MS knows it can't beat down Android and Linux - it's tried and failed many times. Yes, on the desktop, MS still has a monopoly with Windows, but in server-land, especially internet facing servers, Linux rules - totally.

    So, how does MS 'fix' this problem if it can't beat them? I guess the answer is to slowly infiltrate these open-source systems. Adopt them, love them, embrace them, work with them.... but, look at what's happening. MS 'loving' Linux, and integrating Linux support natively into Windows 10. Where do you think MS is going to want people to run Linux from going forward? Native installs, or from within Windows itself? Same goes for Powershell, or SQL Server on Linux.

    Android next. MS adopting Chromium, high profile partnerships with Samsung to integrate their apps to make connecting Android to Windows easier, adding all their apps to Android, inc their own launcher. MS are without a doubt, slowly working their way deep inside these these systems - from the outside MS are all smiles, pats on the back - they now 'love' open source. What a turnaround - who'd have thought MS would ever do something like this?

    What about cloud? Windows is just an option on Azure, but MS will happily let you run all your Linux workloads too. Linux running in Azure... Linux running inside Windows.... Android running MS apps and connecting to MS services. It's not rocket science here. Embrace, extend, extinguish is alive and well inside Redmond, just on a different scale to the past!

    • wright_is

      In reply to ghostrider:

      Native installs, running on Azure. There are already more Linux instances running on Azure than Windows instances.

      They don't want you to run Linux applications in WSL, per se. It isn't efficient enough, it is mainly there for developers and admins to help with their workflows, especially if they spend all day jumping in and out of Linux sessions.

      At my previous place of work, I spent about 80% of my time in bash changing config on servers or running certain tasks. When WSL came along, I could do some of the same in Windows and I could use the WSL shell as a starting point, instead of PuTTY - I was doing Linux admin + setting up the companies first Windows domain, mainly for testing as they wrote network security software and needed a large domain of Windows test instances to scan.

      PowerShell is the same thing the other way round, for experience Windows admins that also have to take care of a few Linux servers. It is all about choice.

      Android, again, isn't about Android, it is about Microsoft365 and Office 365. It is all about selling subscriptions to Microsoft services. They don't care what platform you use, just as long as you pay for their services.

      This is a big pivot for such a big and "old" company. If they can get Linux to work better on Azure than on other platforms, that can only be a good thing for them. The same for the Android apps, if the MS apps run better on Android and provide, through the MS backend services, a better experience than Google or the manufacturers apps, then it is, again, more revenue for Microsoft services.

      • edlin

        In reply to wright_is:

        "...Android, again, isn't about Android, it is about Microsoft365 and Office 365. It is all about selling subscriptions to Microsoft services. They don't care what platform you use, just as long as you pay for their services."


        As an old timer I have to look past all the conspiracy theory junk. It is and always has been about money. Subscription for EVERYTHING is the future. They WANT anything and everything on Azure. They want you monthly subscription dollars.

        Just do simple math.

        Windows 10 is estimated to be on 1.5 BILLION devices. Let's drop that down to 750,000,000 devices. A $6 / month subscription to ANYTHING with 700,000,000 takes you to $4.5 Billion a month of subscription income. So if you place a fee on every popular Microsoft product:

        Operating System

        Office Suite

        Active Directory

        Server licenses

        Azure Data Usage

        then that $6 per month is grown to what- $22/month?

        That lifts this significant estimate of monthly revenue to $15.4 BILLION in cash a month.

        This is JUST about revenue models.

        I believe they will not sabotage the Linux community because they would be sabotaging their potential for more subscribers. I think they want to make everything more compatible.

      • Tony Barrett

        In reply to wright_is:

        I get ultimately it's all about the services, but this sudden 'love in' MS are having with the competition is a little un-nerving, and you just have a feeling behind the scenes all these new found friendships is just a little to orchestrated with a bigger plan sitting behind it. If MS can contribute to these open-source projects - which they are, who's to say they couldn't slowly move their focus in any direction they want!

        I'll add that it may "all be about choice", but in Microsoft's eyes it's choice as long as your running it on their platforms or using their services, feeding their revenue.

        • wright_is

          In reply to ghostrider:

          What is sudden about it? They have been moving in this direction well over half a decade.

          Unless they can take control of the projects, they can't change the direction to suit themselves. The project owners/controllers make the final decision - hence MS offering ExFAT, but it still needs to be ratified and accepted by the maintainers (especially swearmouth-Torvalds).

    • longhorn

      In reply to ghostrider:

      In this particular case there could be a nicer explanation. Now that Microsoft is using Chromium, maybe Google asked Microsoft if they could facilitate the inclusion of exFAT support in the Linux kernel. This would benefit Chrome OS.

      Maybe it's just two corporations being friendly to each other, but the wider Linux community also benefits.

  3. dontbeevil

    oh that's the bad and ugly MS, really hate linux /s

  4. wright_is

    It’s designed primarily for flash memory systems such as SD and microSD cards, and supports the large storage devices that FAT32 does not.

    A minor point, wasn't it first introduced with large external hard drives with large capacities and for large files (>4GB)?

    But great news anyway.

  5. MikeGalos

    It's been available for years for Linux and for anybody else who paid to license it. The real change is pricing. Microsoft is now giving away a product they developed and that customers found useful enough to pay for.

    • wright_is

      In reply to MikeGalos:

      It hasn't been officially available on Linux. You could use FUSE, but it wasn't licensed, AFAIK, and was the reason why it wasn't in official repositories for most distributions.

      • longhorn

        In reply to wright_is:

        I think Canonical has licensed it. It would be stupid to distribute something in the official Ubuntu repos that isn't licensed. Canonical isn't that stupid.

        The reason it's in "universe" repo instead of main is because it's not free software. It's not free from patents and open source and definitely not GPL which made it impossible to include in the vanilla/stock kernel from Linux Foundation.

        9 times out of 10 GPL is the reason something isn't in the Linux kernel. ZFS support is a good example. ZFS is open source but Oracle refuses to make it GPL compatible.

        • wright_is

          In reply to longhorn:

          That is possible, like the major Android handset makers, who license ExFAT for SD cards. But I would guess most distributions probably couldn't afford this, hence it not being in the official repos.

          It is now moot, going forward it should be integrated and nobody has to worry about it again.

  6. waethorn

    To say it's not available to Linux is just plain false.

    It's been available for quite some time and users can download tools that integrated with many of the typical disk manager/partitioning programs that utilized the mkfs.utils tool format. It just hasn't been open-sourced, which meant it couldn't be incorporated into the kernel.

  7. rosyna

    I didn’t seem to see anything about patent licensing in the linked to article? Is it an open spec with patent licensing or an open spec with royalty-free licensing?

  8. anthonye1778

    This is wonderful news! Was literally having these issues on my linux-based desktop just yesterday. Very glad to hear that MS is embracing this platform.

  9. longhorn

    I have seen Linux partition tools having the exFAT option for a long time so someone must have paid license fees. I see Ubuntu has exFAT support in the repositories by installing:

    sudo apt install exfat-fuse exfat-utils

    fuse means the implementation (the process) is not run in the kernel, but in userspace which makes communication slower.

    The big news is:

    1 Microsoft is creating an open spec

    2 Which makes it possible to include exFAT compatibility in the Linux kernel without fuse workarounds

    • wright_is

      In reply to longhorn:

      It isn't officially licensed or sanctioned, which is why FUSE isn't in the Kernel or the main repositories for most projects, it is "use at your own risk". AFAIK

      This moves legitimates the use of ExFAT and will see it moved into the Kernel itself, and therefore into official repositories.

  10. SvenJ

    Maybe they could bring eXFat support to OneDrive on an SD card.

  11. waethorn

    If Microsoft wanted to put its money where its mouth is, they would port NTFS to Linux. The current version of the Fuse tools is just not compliant enough - I see too many problems with it with partitioning compatibility and permissions and such.