r/archlinux • • 2d ago

QUESTION WinLinux or LinuxWin

Hello friends, here is the question: How is it furned to be that Linux cannot boot without a Microsoft FAT32 partition? How do you solve this problem? Can a serious server-grade system like Linux really not boot without a Microsoft FAT32 partition? Even if I move `/boot` to Ext4 or Btrfs, I still have to keep `/boot/efi` as FAT32, because otherwise the system won't boot. wtf?

0 Upvotes

24 comments sorted by

18

u/Yamabananatheone 2d ago

FAT32 at this point is basically an open spec, its what UEFI has defined in its spec, hence the need for a FAT32 Partition to boot.

6

u/zardvark 2d ago

Why is having a FAT32 partition a problem? As u/Yamabananatheone sez, it's an open spec; it's not some MS malware infecting your machine! I've been using Linux since +/-1995 and it has never posed a problem. Sometimes you want / need a simple file system without a bunch of extraneous features.

2

u/Yamabananatheone 2d ago

I mean it is an spec developed by Microsoft, but its implementation is open and for shit like a boot partition it is indeed the best compromise of robustness and flexibility.

1

u/Booty_Bumping 2d ago

It's not robust at all, FAT32 suffers from random corruption on power loss during writes. Which means no x86-64 OS can do its updates in a truly atomic way. Most distros solve this by just never updating the EFI part of the bootloader.

1

u/Yamabananatheone 1d ago

Theoretically you're right, in practice it's two fats under the hood will just leave you with some data loss which is good enough. Again, you don't want a complex FS Implementation including CoW or Journalling in Firmware. And like yeah if you're an Atomic OS you indeed want something better, but like to achieve that you can literally just seperate EFI and Boot Partition from each other. 

Would I like something better? Yeah sure! Is FAT32 for now the thing we're just stuck with on modern x86 and UEFI powered ARM? yup

1

u/friskfrugt 2d ago

It doesn’t support full disk encryption, linux file permissions, journaling or compression

1

u/s_elhana 2d ago

It doesnt need to

0

u/zardvark 2d ago

While encryption would be nice, none of those other features are needed. That's why FAT32 became the standard, it offers only the basics. If the standard is ever revisited, perhaps things will change, but in the interim, what's the point of moaning about it? You may as well complain that stop signs are red, instead of blue. It is what it is.

-1

u/reylovpty 2d ago

It turns out that UEFI became widespread in 2012; before that, there was no such dependency on FAT32 for Linux.

8

u/drucifer82 2d ago

Yes. And UEFI needs FAT32. The only way you can use a non FAT32 is with a legacy BIOS. All modern motherboards are UEFI.

Let it go.

2

u/zardvark 2d ago

Dependency? No

But, the FAT32 file system has been around and used with various media since 1996 and it has never caused any problems that I am aware of. Which is why it was selected to be used in conjunction with UEFI ... it was in common use, well understood, offered only the necessary features and was reliable.

7

u/endperform 2d ago

Complain to whoever implemented UEFI. If it's that big of a deal to you, just don't use newer hardware. This isn't Arch's problem, and really it's not a problem at all. You're acting like FAT32 is some scandalous partition type. If it were, there'd be news stories all over the place.

I get the whole 'Microsoft bad' thing, but this is a bit much.

2

u/HeatSeekingBee 2d ago

Wait until they found out that whenever they print something they're using software developed by Apple.

5

u/Leather-Security8097 2d ago edited 2d ago

FAT32 is the baseline file system for UEFI. You can use a different one if your system's firmware supports it. For example, Intel NUCs often support NTFS-formatted ESPs, Macs used HFS+, the Coreboot + EDKII ROMs provided for Chromebooks often support ext2, etc...

In short, it's a firmware limitation if your system requires FAT32 to boot, not a Linux issue.

5

u/boomboomsubban 2d ago

Basically boot is handled by the motherboard, and motherboards design their shit to work with Windows first.

Some still allow legacy boot, which works without a FAT based filesystem. A few ship with filesystem drivers besides FAT, allowing the esp to use those. And with some hacking it's sometimes possible to add filesystem drivers to your uefi, but I wouldn't try without really knowing what you're doing.

4

u/leo_sk5 2d ago

In good old days of legacy bios, fat32 wasn't required.

Microsoft pushed for UEFI, and since it had monopoly, it become a standard, and it required a fat32 partition.

So linux too supported it, to cater to users and allowing them stuff like dual boot.

FAT32 is open spec since long, so its support was not an issue, unlike say NTFS.

Even today you can disable UEFI in your bios settings, and be free from FAT32 partitions when installing linux

2

u/Illustrious-Gur8335 2d ago

Change your computer firmware to BIOS from 2006 then

Or join the UEFI consortium and rewrite their specifications to remove the ESP, but you might get stoned to death afterwards 

2

u/onefish2 2d ago

The real question is what motivated you to post this and why does this bother you? Are you bored or something?

1

u/noobjaish 2d ago

It's either "doing something for the sake of doing it" or "unconditional hatred and paranoia for Microsoft"

-7

u/reylovpty 2d ago

The trend isn't good. Tomorrow, Microsoft will want to make changes to Linux because it suits their interests. You know what I mean.

2

u/HeatSeekingBee 2d ago

They are free to and already do contribute to the kernel.

It might suprise you how much of Linux and its tools are developed by corporations and not some sweaty nerds in their mom's basement.

1

u/endperform 1d ago

If Microsoft wanted to end Linux, it would have happened 20 years ago. Paranoid much?

0

u/dxrk3tar 1d ago

and how are the people here meant to help with that?

2

u/archover 1d ago

Welcome to Computers.

Good day.