Welcome to the forum!
First of all, what exactly do you mean by “a GRUB partition”? Using the correct vernacular is essential.
There are two ways of installing/booting a GNU/Linux operating system on a modern
x86-64 computer, namely…
- native UEFI boot
- CSM (legacy BIOS compatibility) boot
Now, the chosen installation/boot method also has its repercussions on the type of partition table that is to be used.
Although native UEFI boot in theory supports a legacy MS-DOS/MBR partition table, in practice, not all UEFI implementations do, and therefore the advice is for such a system to use a GPT, also known as the GUID partition table. A system booting in native UEFI mode requires an EFI system partition of about 512 MiB, formatted as
vfat (FAT32), marked with the
esp flags, and mounted at
Systems that boot in legacy BIOS mode however can be installed on either a GPT-partitioned drive or an MS-DOS/MBR-partitioned drive, but there is a catch if you’re going to use GPT. In that case, a legacy BIOS installation that uses GRUB as the boot loader needs a special unformatted partition of type
bios, about 2 MiB in size, and with the
boot flag set. This partition is not mounted anywhere, because it doesn’t have a filesytem on it, but it is needed in order to stop GRUB from overwriting partition boundaries on a GPT-partitioned drive.
So far the theory. So which scenario applies to you? You say you have Microsoft Windows 10 on your computer, and Windows 10 requires UEFI boot. It therefore stands to reason that you have a GPT-partitioned drive, and that your system boots in native UEFI mode. By consequence, you would have an EFI system partition on your drive, not an unformatted
bios partition, and if this partition is gone, then you can boot neither Microsoft Windows nor GNU/Linux, because the EFI system partition contains the UEFI boot manager entries for all installed operating systems.
Please help us help you, and provide the output of the commands…
Use the </> button in the toolbar of the editor and paste the output of both commands above between the two lines of backticks (```).