BIOS Boot partition
|This article needs additional citations for verification. (June 2014)|
It must be utilized because there is not enough unused space available for the second stages of boot loaders on GPT disks. On MBR-partitioned disks, boot loaders are occupying unused sectors immediately following the Master Boot Record (MBR) for that purpose, while there is no equivalent for those on GPT disks.
The Globally Unique Identifier for the BIOS Boot partition in the GPT scheme is 21686148-6449-6E6F-744E-656564454649 (which when written to a GPT in the required little endian fields, forms the ASCII string "Hah!IdontNeedEFI"). In the context of GPT on a BIOS-based computer, a BIOS Boot partition is similar in some respects to the EFI System partition, which is used by systems based on EFI. The EFI System partition, however, holds a filesystem and files used by the UEFI; on the other side, the BIOS Boot partition is used in BIOS-based systems, and accessed without a filesystem by holding raw binary code.
When used, it contains the second stage of the boot loader program (the first being the code that is within the Master Boot Record (MBR)). Use of this partition is not the only way BIOS-based boot can be performed while using GPT-partitioned hard drives; however, complex boot loaders such as GRUB 2 cannot fit entirely within the confines of the MBR's 398 to 446 bytes of space, thus they need an ancillary storage space. On MBR disks, such boot loaders typically use the sectors immediately following the MBR for this storage. On GPT disks, no equivalent space exists, and the BIOS Boot partition is a way to officially allocate such space for use by the boot loader. BIOS Boot partitions are used primarily by GRUB 2.
The BIOS Boot partition is typically quite small. It can be as small as about 30 KiB; however, future boot loaders might require more space, so creating a larger BIOS Boot partition is advisable. Due to the 1 MiB partition alignment, policies used by most modern disk partitioning tools to provide optimum performance with Advanced Format disks, SSD devices, and some types of RAID configurations, 1 MiB is a logical size for a BIOS Boot partition.
The following utilities are known to support BIOS Boot partitions:
- GRUB 2 (1.97~beta1 or later): when a BIOS Boot partition is found during installation, GRUB will embed itself in it.
- GNU Parted (2.0 or later).
- GParted, the front-end to GNU Parted.
- gpt(8) partition editor in NetBSD (5.0 or later).
- gdisk: GPT fdisk
A BIOS Boot partition can be created using any of several different disk utilities:
- In GParted, create a partition (an unformatted one works fine), then right-click it and select Manage Flags. Check the bios_grub flag, click Close, and apply your changes (some versions of GParted will not allow you to set a flag on an unformatted partition; in this case format the partition to FAT16 then set the bios_grub flag).
- In GNU Parted (
parted), create a partition, then type set 1 bios_grub on, changing 1 to the number of the partition you want to mark as a BIOS Boot partition.
- In GPT fdisk (
gdisk), create a partition and give it a type code of EF02.