Automatic boot partition on Standard vs UEFI BIOS

I’m currently in a debate about whether a standard BIOS or UEFI automatically creates a filesystem on its boot partition during a Fedora install.

The question is:
“During a Fedora Linux installation, Harvey notices that the system has automatically configured a small nvme0n1p1 partition with a VFAT filesystem. Why did the system create this partition?”

I chose UEFI because the book I was reading states that a standard BIOS does not create a filesystem on its boot partition. However, my instructor says it’s a standard BIOS. Who’s is right?

That is the ESP.

It contains the boot loaders needed to boot the operating system.

I don’t think this is right. If you did a legacy BIOS install on a GPT disk, you’d get a small “BIOSboot” partition (much smaller than a typical ESP), but that doesn’t use VFAT or any other filesystem, it’s used by GRUB as a raw block device.

It depends on what is meant by “standard BIOS”. The UEFI firmware is often referred to as the BIOS, and thus “standard BIOS” can mean either the classic legacy BIOS as found on the old IBM PCs and the many clones or it could mean just whatever firmware the computer comes with.

The book I am reading uses the term Standard BIOS interchangeable with Legacy BIOS.

The instructor is wrong in the case of the standard installation flow.

On a “classic”/”legacy”/”standard” BIOS (ie the IBM BIOS and clones), Anaconda does not create any VFAT-ish partitions by default. There is the BIOS boot partition instead, which is a raw partition used for storing GRUB data that ordinarily goes in the MBR gap.

On UEFI-ish systems, the EFI System Partition (ESP) is created as a VFAT-ish partition that stores shim, GRUB, and other EFI binaries.

However, it is possible to create installations that simultaneously work on both classic BIOS and UEFI systems, and those will always have an ESP.

Examples of that are the iso install images when transferred to a USB memory device

Well, those are special. I’m saying you can force this through Kickstart.

Here’s an example snippet on how to do it:

# Ensure the bootloader is installed
bootloader --location=mbr

# Configure for gpt with bios+uefi
clearpart --all --initlabel --disklabel=gpt
part biosboot  --size=1    --fstype=biosboot
part /boot/efi --size=500  --fstype=efi
part btrfs.007 --size=20000 --fstype=btrfs --grow
btrfs none --label=fedora btrfs.007
btrfs /boot --subvol --name=boot LABEL=fedora
btrfs /home --subvol --name=home LABEL=fedora
btrfs /     --subvol --name=root LABEL=fedora