Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

.... on FAT partitions


Sorry, dumb question. :)

I guess I never noticed a problem because either I mostly use ext3/4, or I am so used to using legally dubious drivers that I forgot they were there.

I mean, who ever gives you a FAT formatted disk? I don't have floppy drive anyway :p


Cameras. High capacity removable flash media used by digital still and video cameras is often formatted as exFAT. Despite MS' licensing, FAT/FAT32/exFAT are essentially the "file systems of interchange" for removable flash media.

More info at: https://fossbytes.com/fat32-vs-ntfs-vs-exfat-difference-thre...


This was also a huge problem for Android. At some point Android started using MTP instead of appearing as a mass storage device, which made for several technical wins. Most importantly, internal memory could be one contiguous block formatted as ext3. But this happened well before MTP was properly supported in Windows, which predictably made things difficult for a lot of users. (This was back when Android had competition, so that was important).

If I was a betting type, I'd wager that Microsoft's FAT patents (and various legal settlements where they got to say "Linux infringes on hundreds of patents" without ever needing to specify the patents) had a lot to do with that change, since, with the exception of a few manufacturers who continued to ship devices with external SD slots, and USB-OTG which is kind of a bonus feature, Android finally didn't need FAT for interoperability.


The SDXC standard (SD cards > 32GiB) specifies exFAT as the standardised Filesystem.


That's because no one has bothered to make a better FS for that sort of thing. Open FS's all insist on having UNIX's archaic permission system, which is useless at best and at worst actually harmful to moving files between systems, and they aren't as absurdly simple as FAT.


Linux itself creates a FAT partition for /boot, because the UEFI standard supports loading from FAT.

As well, if you ever look at a live-CD (like the installers for most modern Linux distros are), it will usually be using SYSLINUX, which limits itself to 8.3 filenames, for various good reasons to do with floppies, PXE, and ISO9660. Mount an Ubuntu CD in Windows and you'll see them.


> UEFI standard supports > loading from FAT.

Actually UEFI REQUIRES the bootable partition to be FAT (not not exFAT).

UEFI also requires the executables to be in the COFF format ( instead of the normal ELF one ) too.


What makes ELF normal? Funnily COFF also comes from Unix.


And IIRC, FAT being in the UEFI specification kind of solved the patent issue over FAT being in the Linux kernel tree.


EFI System and /boot are often the same partition, but they don't have to be, GRUB can boot a kernel and initramfs off most common linux filesystems (and less common ones like xfs, hfs and reiser), it can even decrypt a LUKS partition.


A liveusb using FAT+SYSLINUX/Grub4DOS/whatever has another really good reason: it's readable (and probably writable) from anywhere.

I.e. my EDC flash disk has FAT32-formatted first partition, yet is bootable. This is surprisingly versatile.


If you ever interact with people running Windows (or even OSX) all of their thumbdrives will be formatted with FAT unless they recently used it make a Linux boot disk after installing a later version of windows 10 that has extx support and didn't notice.

If OSX and EFI had out of the box support for Linux filesystems we could at least stop using FAT on pendrives. I personally will look forward to that.


Later versions of Win10 have ext* support?


No. He might be confusing it with WSL2 which uses VHD files with ext4 file systems hosted in them, but those are only accessed by a Linux kernel under virtualization, never by Windows itself.


Most flash drives and SD cards are still FAT formatted by default.


SDCards, USB sticks...


USB flash disks are almost always exfat formatted.


[citation-needed]

Most USB flash disks I've seen (and I've seen many) are even nowadays mostly FAT32. "Portable drives" aka USB-to-SATA are shipped preformatted to NTFS, and only with the advent of SDXC did preformatted exFAT start to appear.

(It has to do with driver support, I would guess - exFAT works in Win7+, but as long as the world runs on WinXP kiosks (ugh), vendors go with the lowest common denominator. Note that a flash disk will go places - what's your car entertainment system running? Linux? Android? Windows CE? Anfient Embedded Monftrofity? Will it support exFAT? Unlikely.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: