Recently, I was installing debian on a new server and grub2 would not install gave me this error:
“This GPT partition label has no BIOS Boot Partition; embedding won’t be possible! grub-setup: error: Embedding is not possible, but this is required when the root device is on a RAID array or LVM volume.”
Of course, it being grub2, I jumped to the conclusion that grub2 was the problem. I installed legacy grub and got nowhere. The final error was:
“file /boot/grub/stage1 not read correctly”
No matter what I do, it would not install. So, I went back to the original message and gave grub2 its due process. Turns out this Dell T410 uses GPT (GUID Partition Table) which is an extension of EFI. The “BIOS Boot Partition” is an actual partition on the hard drive. Grub2 embeds the core.img (multiboot boot kernel) into this BIOS boot partition instead of the MBR.
Here are two great resources on this subject:
http://www.rodsbooks.com/gdisk/index.html and
http://grub.enbug.org/BIOS_Boot_Partition
So, the solution:
I had to re-install Debian with a small partition. Apparently it can be under a few hundred KiB but space is cheap and I didn’t want to have more problems, so I made mine 10MB and put it at the beginning of the disk. In the Debian partitioner, set the partition under “use as:” to “Reserved BIOS boot area”. Then continue with the rest of your partitions and install. Grub2 installed with no problems this time!