On Sunday, 28 April 2024 19:39:16 BST Dale wrote: > Grant Edwards wrote: > > On 2024-04-28, Grant Edwards wrote: > >> With DOS disk lables, Grub uses empty space between the boot sector > >> and the first partition as a location to store it's core image file. > >> That empty space does not exist when using GPT disk label. When using > >> a GPT disk label, Grub requires that you need to create a "BIOS Boot" > >> or "Grub Boot" partition so that Grub has somwhere to store it's core > >> image[1]. > > > > And it bears repeating that the bios/grub boot partition only needs to > > be 1 or 2MB in size, is _not_ formatted with a filesystem, and is > > _not_ the same as either > > > > 1) The "boot" directory where the kernel images and grubs other files > > > > are installed within a Linux filesystem. [Which you still need > > when booting in Legacy/BIOS mode.] > > > > or > > > > 2) The UEFI partition that's formated with a FAT filesystem and used > > > > in UEFI boot mode [which you don't need when booting in > > Legacy/BIOS mode.] > > I think I got a grasp on this now. Basically, partitions should be like > this. > > > First spot is the alignment thing. Usually a few MBs or so and unused. This is created automatically by the partitioning tool, in your case cgdisk, when you create the first partition on the disk and accept the default starting sector. > Grub boot partition with ef02 setting, not to be formatted. > > /boot partition for kernel and init thingy. Usually 1GB or so, enough > for memtest, bootable rescue image etc. > > / or root partition that is around 150GBs or so. Enough to expand a bit > and includes /usr and /var. > > /home rest of disk unless some needed for something else. > > > Do you recall when running grub-install what that command looks like? > Lets say the Grub partition with ef02 setting is sda1, would it be > grub-install /dev/sda1 or just sda and it finds the empty partition on > its own? The unformatted and empty /dev/sda1 'BIOS Boot Partition' will be found by GRUB when you run grub-install and it will store its core.img in there. You install GRUB's boot.img in the MBR and therefore you have to specify the disk, NOT a partition, e.g.: grub-install /dev/sda This command should: 1. Install GRUB's boot.img in the MBR of /dev/sda. 2. Install GRUB's core.img in /dev/sda1 which you created as a 'BIOS boot partition', type EF02. 3. Create directory /boot/grub to install all the grub fs drivers and files. If you have mounted /boot, all is well. If you are repairing an installation from a liveUSB you can mount the /boot partition, e.g. /mnt/gentoo/boot and specify this in the CLI: grub-install --boot-directory=/mnt/gentoo/boot /dev/sda NOTE: As per the link Grant helpfully posted you can create the 'BIOS boot partition' with cgdisk "... by setting the partition type to 0xEF02 and giving it a label of gptbios". https://wiki.gentoo.org/wiki/GRUB#BIOS_with_GPT