ESP Information

Wikis > ArcaOS > ESP Information

What is an ESP?

An EFI System Partition (ESP) is simply a partition on a disk that contains a FAT formatted volume that contains boot files that the UEFI BIOS uses to boot the system. The ESP is usually formatted FAT32, although other FAT formats are possible. The ESP is normally type “EF” on a MBR disk, and the standard GUID for an EFI System Partition on a GPT disk, although these type designations are not strictly necessary and may be different. The ESP may be any size, as long as it is large enough to contain the boot files. ESP sizes typically range from 64 MB to 512 MB. A system will normally have one ESP for the entire system regardless of how many operating systems are installed. It is possible to have more than one ESP but Arca Noae does not recommend more than one ESP on a system.

On ArcaOS, the ESP only needs a drive letter for ArcaOS to update or modify its files in the ESP. Otherwise the ESP does not need a drive letter. Some ArcaOS tools (e.g. TestLog.exe) may automatically assign a temporary drive letter if needed.

How booting with an ESP works

The ESP is used only by systems with a UEFI BIOS when the BIOS is in control of booting the system (UEFI BIOS mode). The ESP is not used on traditional systems or on systems when a CSM is being used to boot the system (UEFI CSM mode).

To boot the system in UEFI BIOS mode, the BIOS chooses the default BIOS boot variable or the user selects a boot target which is a BIOS boot variable. The selected BIOS variable contains a pointer to a partition on a disk and a file name in that partition. The BIOS variable can point to any partition and any file in that partition provided that the BIOS can read the volume and file, but BIOS variables almost always point to files in the ESP. The BIOS then uses the file pointer in the BIOS variable to read the specified file into memory and executes it. This is the beginning of the boot process.

Most operating systems create their own custom BIOS variable for booting themselves. ArcaOS creates an ArcaOS BIOS variable which points to the ArcaOS boot files in the ESP, and it sets this BIOS variable as the active one. If the active BIOS variable doesn’t work or doesn’t exist, the BIOS will fall back to one of its own default variables that it creates every startup. These usually have generic names such as “UEFI OS”. See the How the BIOS finds the ESP section below.

What can you do with an ESP?

Essentially, nothing. It’s best not to touch any of the files in an ESP unless you know what you are doing. The boot files in the ESP are typically managed by whatever operating system installer put them there. Do not attempt to move the ESP, reformat the ESP, copy the contents elsewhere, or delete, modify, or rearrange the files in the ESP. Each operating system installer puts its own required files into the ESP and then creates BIOS boot variables that point to the ESP and the specific files that it needs to boot. If you move the ESP or rearrange files in the ESP then the link between the BIOS variables and the ESP files will be broken and you won’t be able to boot the affected operating systems.

For an ArcaOS system that is using the AN Launcher, the one file you can edit is the AN Launcher menu which resides in \EFI\BOOT\LAUNCHER.CFG in the ESP. Simply edit this file with any text editor. If the ESP does not already have a drive letter assigned, you will need to assign a drive letter to the ESP before you can access this file.

Typical ArcaOS files in the ESP

\EFI\BOOT\LAUNCHER.EFI – The AN Launcher
\EFI\BOOT\BOOTX64.EFI – An alternate boot loader file for ArcaOS, used by some BIOS
\EFI\BOOT\LAUNCHER.CFG – The AN Launcher configuration file
\EFI\OS2\OS2LDR.EFI – Part of the ArcaOS loader
\EFI\OS2\OS2LDR.BIN – Part of the ArcaOS loader
\EFI\OS2\LAUNCHER.EFI – Original copy of the AN Launcher, not used for booting
\EFI\OS2\LAUNCHER.CFG – Original AN Launcher configuration file, not used for booting, do not edit
\EFI\OS2\ANdb.cer – Secure boot certificate
\EFI\OS2\ANdb.crt – Secure boot certificate

Any other files in the ESP do not belong to ArcaOS and are probably needed by the BIOS or other operating systems.

Backing up ESP content

Backing up ESP content is not normally necessary, but if you need to do so it is not recommended to copy the files in the ESP to somewhere else on the system. The copies of the ESP files can be mistaken for a second ESP (either by you or by the BIOS). To backup the contents of the ESP, Arca Noae recommends archiving the content using either ZIP orĀ  7z. This preserves a snapshot of the current ESP contents while avoiding any potential confusion during the boot process. If the ESP does not already have a drive letter assigned to it, you will need to assign a temporary drive letter to the ESP before you can access the content.

How the BIOS finds the ESP

Every time the system boots, the BIOS searches all the accessible boot devices and then adds or modifies its default BIOS boot variables according to what it finds. It may add hard disk variables, CD/DVD variables, network variables, USB variables, etc. If it finds an ESP, it will add a variable for the default boot loader “BOOTX64.EFI” if that exists. For each storage class of device, the BIOS stops looking when it finds an ESP. If your system has multiple ESPs on fixed storage devices, only the first one the BIOS finds will get used. If you have one ESP on a fixed disk, and another on a USB device, the BIOS will find both of them. To find an ESP the BIOS looks for a FAT formatted volume that has an \EFI\BOOT directory on it. There is nothing else special about the ESP. So if you have more than one volume that meets those two criteria, it can be confusing which one the BIOS will use, and the results may not be what you expect.

How the ArcaOS installer finds ESPs

The ArcaOS installer uses a similar logic to how the BIOS finds the ESP. However, because the ArcaOS installer must be able to find an unused, unformatted volume in order to create a new ESP, it must be more flexible in how it identifies potential ESP candidates. In addition, the installer is able to accommodate the existence of multiple ESPs in the system and it allows the user to select the desired one from a drop-down list.

The installer will detect a partition/volume as a potential ESP candidate and add it to the ESP list if it meets any of the following tests:

  1. If the disk is MBR, and the partition is a primary partition, and the partition type is EF.
  2. If the disk is MBR, and the partition is a primary partition, and the partition name begins with “EFI_System” or “EFI System”.
  3. If the disk is GPT, and the partition type is the standard ESP GUID,
  4. If the disk is GPT, and the partition name begins with “EFI_System” or “EFI System”.
  5. If the disk is MBR, and the partition is a primary partition, and the volume is formatted FAT, and the volume has an \EFI\BOOT directory present.
  6. If the disk is GPT, and an LVM drive letter is already assigned, and the volume is formatted FAT, and the volume has an \EFI\BOOT directory present.

After all the ESPs are discovered, the ESP must have a drive letter assigned for the ArcaOS installer to access it. If the ESP does not already have a LVM assigned drive letter, the installer will assign it the last available drive letter starting with “Y” and working backwards.

For GPT disks, the installer assigns temporary LVM drive letters to ESPs so the drive letters will not be present after the install completes. For MBR disks, any LVM drive letters assigned to ESPs by the installer will survive after the install completes.

This entry last updated: by David A