This article will show how to create a BIOS boot partition for GPT disk on Windows to install Grub2 i386-pc using grub-install.exe. i386-pc is required to be installed to boot in Legacy BIOS mode. If you want to install AIO Boot Newgen, i386-pc is always required to be installed regardless of whether Legacy mode is used or not.

If the BIOS boot partition is missing, you won’t be able to install Grub2 i386-pc on the GPT disk using the official grub-install:

Installing for i386-pc platform.
grub-install.exe: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
grub-install.exe: error: embedding is not possible, but this is required for cross-disk install.
AIO_Boot_NewGen_Setup.exe: Grub2 GPT
AIO_Boot_NewGen_Setup.exe: Checking if BIOS boot partition exists… not found

Create a partition

First we need to create a new partition. This partition is very small in size, just enough to write the core.img file. It also cannot be used to store data, so choose a reasonable size to avoid waste. For AIO Boot Newgen, 1MB is more than enough.

For Disk Management on Windows, we need at least 8MB of Unallocated size to be able to create a new partition. You can use the Shrink Volume feature to reduce the size of an existing partition to create a new partition. Or use a third-party software to make it easier to create a new partition.

Create a new partition with Disk Management
Do not format this volume

Attention: just create a new partition, don’t format it. If the partition is formatted to FAT, FAT32, exFAT, NTFS… grub-install gives an error: Access is denied. If this happens, delete the partition and recreate it with a different size.

Set ID using DiskPart

After we have created the partition, just assign it an ID so that it is recognized as the BIOS boot partition.

This can be easily done with diskpart’s set id command, example commands (replace disknumber and partnumber with the disk number and partition number)::

diskpart
list disk
select disk disknumber
list part
select part partnumber
set id=21686148-6449-6E6F-744E-656564454649
exit

The diskpart set id command has the same effect as Manage flags on GParted. 21686148-6449-6E6F-744E-656564454649 = grub_bios.

BIOS Boot Partition

If the above command is successful, we can now install Grub2 i386-pc on the GPT disk to boot it in Legacy mode.

Join the Conversation

2 Comments

Your email address will not be published. Required fields are marked *

    1. You must create at least one drive in NTFS format and one in FAT32 format, then you will see these drives in the list.