Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

> I've never seen a motherboard supporting anything else than FAT for an UEFI partition.

I've seen exactly one model line, that does support NTFS in UEFI: Intel NUCs. It was quite nice, but nobody preparing boot media can rely on the availability, as the only mandatory filesystem is FAT32.



sort by: page size:

He is wrong; UEFI does specify FAT (section 13.3). It does not prevent supporting other filesystems, as well as other partition schemes or volume formats (nothing prevents UEFI from supporting LVM, for example), but only FAT and GPT are mandatory (i.e. "must"). Thus only FAT and GPT are implemented in 100% of shipped computers.

Yes, you can get Intel NUC and yes, it does support NTFS in UEFI. It is also compliant with UEFI (i.e. "can"). But is is completely useless, if you are shipping media, that should be bootable by 100% of UEFI-using machines. It is usefull, only when you are targeting such machines specifically.


> It's a real pity everyone can't agree on a standard to replace FAT32. :(

Every OS in the universe supports UDF now, and its the only real ubiquitous non-proprietary filesystem. I use it on all external storage that I cannot guarantee will be touching Linux machines exclusively.


> They would also have to drop support for FAT32 as you pointed out.

This is a little dubious. When you load a FAT driver on a *nix system, you get the limitations of FAT. Likewise there are lots of fancy filesystem APIs in Windows that fail on a FAT volume and work on NTFS.

That said, there are a lot of quirky NTFS behaviors that are ultimately rooted in FAT. I used to get frustrated by a lot of them, then I started writing a FAT driver just for fun ... and it made sense. All the goofy things about naming start to make sense if the direntry "is your inode" and the extra space in the name is padded with spaces...


> 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.


The majority of BIOSes support NTFS. Incredibly enough more BIOSes support NTFS than they do exFAT.

(Yet another example of the unfairness of the playing field for non-MS OSes).


Ah, good point. So it was not NTFS but FAT compatibility they were aiming for.

Isn't it still a default somewhere? I recently formatted a pendrive on Windows and somehow mindlessly selected FAT (and ofc had troubles down the road). I probably picked a default somewhere. And to respond your question:

>Why on earth would you do that? People have been using exFAT for many years now.

Most people have no idea what FAT is. If presented a choicee between FAT, exFAT, NTFS and ext4 I'm certain they don't care, don't understand the implication, and would just click a random option. Which is OK, not everyone should be a IT expert, it's MS job to make the experience smooth.

edit: and a technical reason: i think FAT32 is the only guaranteed fs supported by UEFI


By standard VFAT is required, but on most Windows PC, the UEFI partition is in NTFS.

People tend to use FAT these days because it tends to be an EFI system partition and almost all modern systems are UEFI.

You're not going to be able to boot from exFAT partitions: the UEFI boot partition spec is strictly based on plain old FAT format, not the new exFAT.

Also hope that uefi will soon use exfat. Still better than plain old fat.

ASUS also supports NTFS. No need for using FAT32 (what the EFI partition is)

>TIL: In 2019, Microsoft released the exFAT [1] specs [...] I.e. exFAT should now be preferred over FAT/NTFS for media used across different operating systems.

You seem to be very optimistic about how fast these get implemented into embedded devices.


exFAT is not supported by UEFI. Only FAT32.

> I think exfat has recently gained support in all three platforms but it's not reliable for an internal hard drive (I think?).

I've been doing this for a few years now. It just doesn't support some stuff, like permissions, but for just a pile of files, it's fine.


EFI doesn't actually mandate FAT for the system partition. The system partition can be any filesystem that the firmware supports.

Of course, pretty much all EFI implementations only support FAT, so it's a bit of a moot point; the only one I'm aware of that supports anything else is the one on Intel Macs, which also understands HFS+.

You can find a huge selection of EFI filesystem drivers at https://efi.akeo.ie/ but they're derived from GRUB and hence GPL, so don't expect the likes of American Megatrends to be bundling these any time soon.


>> Does NTFS really have a 4GB file size limit?

No, but FAT32 does. Exfat, on the other hand has a file size limit of 16 exibibytes. That, combined with exfat's cross-platform mounting (NTFS has a lot of limitations in this regard) makes it a superior formatting system for flash based offline file transfer.

On a network? Use zfs+ or something.


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

The spec allows it but whether FAT32 needed depends solely on the board not the age. I've got plenty of recent boards that don't take NTFS/exFAT - I usually find out when I'm scratching my head as to why it doesn't show up in the boot menu.
next

Legal | privacy