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.
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.
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)::
select disk disknumber
select part partnumber
The diskpart set id command has the same effect as Manage flags on GParted. 21686148-6449-6E6F-744E-656564454649 = grub_bios.
If the above command is successful, we can now install Grub2 i386-pc on the GPT disk to boot it in Legacy mode.