Раздел загрузки BIOS — это раздел на устройстве хранения данных , который GNU GRUB использует на устаревших персональных компьютерах на базе BIOS для загрузки операционной системы , когда фактическое загрузочное устройство содержит таблицу разделов GUID (GPT). Такая структура иногда называется загрузкой BIOS/GPT. [1]
Раздел загрузки BIOS необходим на устройствах хранения с разделами GPT для хранения вторых стадий GRUB. На традиционных устройствах с разделами MBR секторы диска , следующие сразу за первым, обычно не используются, поскольку схема разбиения не назначает их для какой-либо специальной цели, а инструменты разбиения избегают их в целях выравнивания. На устройствах на основе GPT секторы содержат фактическую таблицу разделов, что требует использования дополнительного раздела. На дисках с разделами MBR загрузчики обычно реализованы таким образом, что часть их кода, хранящаяся в MBR, которая не может содержать более 512 байт, работает как первая стадия, которая служит в первую очередь для загрузки более сложной второй стадии, которая, например, способна считывать и загружать ядро операционной системы из файловой системы .
При использовании загрузочный раздел BIOS содержит вторую стадию программы загрузчика , например GRUB 2; первая стадия — это код, который содержится в основной загрузочной записи (MBR). Использование этого раздела — не единственный способ выполнения загрузки на основе BIOS при использовании жестких дисков с разделами GPT; однако сложные загрузчики, такие как GRUB 2, не могут полностью поместиться в пределах 398–446 байт пространства MBR, поэтому им требуется вспомогательное пространство для хранения. На дисках MBR такие загрузчики обычно используют сектора, следующие сразу за MBR, для этого хранения; это пространство обычно известно как «разрыв MBR». На дисках GPT нет эквивалентного неиспользуемого пространства, и загрузочный раздел BIOS — это способ официально выделить такое пространство для использования загрузчиком.
Глобальный уникальный идентификатор (GUID) для загрузочного раздела BIOS в схеме GPT —21686148-6449-6E6F-744E-656564454649 16[2] [3] (который при записи в GPT в требуемых полях с прямым порядком байтов образует строку ASCII " Hah!IdontNeedEFI
"). В контексте GPT на компьютере на базе BIOS загрузочный раздел BIOS в некоторых отношениях похож на системный раздел EFI , который используется системами на базе EFI . Системный раздел EFI содержит файловую систему и файлы, используемые UEFI, в то время как загрузочный раздел BIOS используется в системах на базе BIOS и доступен без файловой системы, храня необработанный двоичный код.
Требования к размеру загрузочного раздела BIOS довольно низкие, поэтому он может быть всего около 30 КБ; однако, поскольку будущим загрузчикам может потребоваться больше места, 1 МБ может быть разумным размером загрузочного раздела BIOS. Из-за политик выравнивания разделов в 1 МБ, используемых большинством современных инструментов разбиения дисков на разделы для обеспечения оптимальной производительности с дисками Advanced Format , устройствами SSD и определенными конфигурациями RAID , остается некоторое пространство, позволяющее разместить загрузочный раздел BIOS между GPT и первым разделом, выровненным таким образом (34–2047 для секторов по 512 байт; 6–255 для секторов по 4096 байт). Если он будет создан с использованием этого свободного пространства, загрузочный раздел BIOS будет вне спецификации выравнивания GPT, [4], но это не очень важно, поскольку: (a) правило выравнивания — «следует», а не «обязан» (b) правило основано на соображениях производительности, которые для очень маленького раздела, используемого только при загрузке системы, не имеют реальных последствий.
Известно, что следующие утилиты поддерживают загрузочные разделы BIOS: