I understand that each processor has its own specific way of starting.

Fact is that both of them (RPi and UEFI boot) need a small FAT partition to boot, both around 100MB. Is there any reason for this similarity?

I have to say that in the beginning I was mixing them up. I thought that RPi /boot partition would be formatted as FAT because it would start using UFEI boot. After reading about RPi boot process (here and here) realized that they were different things. (They are, right?)

FAT file system is a legacy (meaning old) file system. Someone asked here the same question but as a good reason I only recognize that FAT file systems are universally supported. However is there any other good advantage of a FAT boot partition in comparison with any another file system? So that it justifies being used by two different and modern boot processes?


------> [Answer] after Topic was closed, I found this answer better: Raspberry pi 3 - why the FAT partition? For me, there are 2 main reasons:

  • Adding a normal BIOS to the RPi would cost money, once it is usually stored on a flash memory (e.g. NAND flash). The objective is to produce a cheap computer, so the workaround was to store the Pi's equivalent BIOS files in a separate partition on the SD card, saving money.
  • So now they needed to format the SD card in a way that is easy to implement a bootloader. FAT are easy/compact file systems. Others are better in many other points, but are more complex.

I would say that ESP partition is also formatted as FAT for the reason above. Also as written below, Microsoft is a member of the UEFI forum. And as listed here by Microsoft: "The File Allocation Table (FAT) file system is supported primarily to enable upgrades from previous versions of Windows, for compatibility with other operating systems in multiboot systems and as a format for flash drives or memory cards".

1 Answer 1


FAT has following advantages

  • it performs well for "small" filesystems
  • its thoroughly tested, we know its weaknesess (as opposed to BTRFS)
  • it is simple to parse and implement (as opposed to NTFS or HFS+)
  • it is popular and supported nearly everywhere (as opposed to ExFAT or UDF)
  • it is backwards-compatible to and supported by the whole Microsoft/x86 ecosystem (as opposed to ext4)

Many filesystems beat FAT on some points, but only FAT meets them all (esp. 3 and 5).

Don't forget that Microsoft being a member of the UEFI forum was almost mandatory due the significance of the the products and the company itself.