Is Rocky Linux deeply bound to GRUB2?

As I understand it, GRUB/GRUB2 is just a multi-system bootloader that can exist independently of the operating system, and the operating system can load itself without GRUB’s bootloader.
In the same way, Windows’ NTLDR/BOOTMGR is only a multi-system boot loader, in addition to booting Windows boot, it can also boot other operating systems, but a special case is that NTLDR/BOOTMGR and Windows are deeply bound, neither can be installed separately, nor can Windows be booted without NTLDR/BOOTMGR, and other third-party boot managers still have to go through NTLDR/ BOOTMGR to boot Windows.
So my same question is GRUB2 deep bound to Rocky Linux? How do I boot Rocky Linux without GRUB2?

The reason for this doubt is that if you choose to boot with GRUB2 when installing Rocky Linux, you will check the Boot entry of a disk in the ”SELECTED DISKS AND BOOT LOADER“ dialog interface, which will be difficult on MBR partitions. According to the official instructions of GRUB2 https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation, if you want to install GRUB2 in the “embedding area” of the MBR, there must be at least 1M of space in that area, and if there is only 31K space, a small profile of GRUB2 will also work, But three conditions must be met

Historically many tools left only 31 KiB of space. This is not enough to parse reliably difficult structures like Btrfs, ZFS, RAID or LVM, or to use difficult disk access methods like ahci. Hence GRUB will warn if attempted to install into small MBR gap except in a small number of configurations that were grandfathered. The grandfathered config must:

use biosdisk as disk access module for /boot
not use any additional partition maps to access /boot
/boot must be on one of following filesystems: AFFS, AFS, BFS, cpio, newc, odc, ext2/3/4, FAT, exFAT, F2FS, HFS, uncompressed HFS+, ISO9660, JFS, Minix, Minix2, Minix3, NILFS2, NTFS, ReiserFS, ROMFS, SFS, tar, UDF, UFS1, UFS2, XFS

Since my disk has been partitioned with SPFDISK in advance, the MBR “embedding area” only has 31K space, but I don’t want to change the existing partition scheme, and the disk access in the BIOS is AHCI protocol, so according to the above GRUB2 instructions, the MBR “embedding area” does not have enough space to accommodate the GRUB2 core.img file in this configuration. So whether I’m installing Rocky Linux in graphics mode, using GRUB2 boot, or installing GRUB2 with grub2-install in rescue mode, it shows that there is not enough space:

grub2-install: warning: … /grub-core/partmap/msdos.c:401:your core.omg is unusually large. It won’t fit in the embedding area.
grub2-install: warning: Embeding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged…
grub2-install: error: will not proceed with blocklists.

So, there is a question, how to boot Rocky Linux without GRUB2?
Or, by following the tips above, how do I install GRUB2 with blocklists?
i.e. according to the official instructions of GRUB2 https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation

or the core image can be installed in a file system and a list of the blocks that make it up can be stored in the first sector of that partition.

On some Linux distributions, the installer lets you choose whether to install GRUB/GRUB2 or not, and to what location, MBR or PBR, i.e. The first sector of boot partition.
On Rocky Linux, does checking Boot mean that you can only install to MBR? but not to boot partition?

Good summary of the issues. I have not been successful creating a bios boot partition because it requires a special octal flag that I could not figure out how to apply. But, I was only trying this on GPT partition types to continue in bios boot mode. When I was running into this issue I just forced the image install and it worked fortunately at the time. I have since converted all my systems to GPT and UEFI boot. I don’t know how AHCI comes into play but that seems to be the default mode on my MB so I guess it works with GPT.

I was inspired by what you said, I looked at the optional partitions on the install and there is indeed a Mount Pont (Partition?) of type biosboot .

I don’t know what this type of partition is for, but I guess it’s a place where a small configuration of GRUB2 can store its boot code, so that it can store only one sector of boot code in the MBR, and then this small piece of code in the MBR can read the boot code in this bios boot partition to fully boot GRUB2? So I made such a partition and automatically assigned 2M to it without specifying the partition size, and I still need to make a /boot partition after that.

I don’t know what the special octal flag you are referring to is, the Partition ID? I see that the Partition ID of the partition is 0x83, which is the same as the regular Linux primary partition.

The problem is that when I installed Linux, the installer still installs GRUB2 into the “embedding area” of the MBR, which is more than one sector, maybe 133 sectors in my opinion. The first 1M of space in the biosboot partition is all 00, and the last 1M has some content, I don’t know what it is, maybe it’s also the content of the previous disk. So I don’t know if the biosboot partition is working or not, and even if it is, GRUB2 still needs to take up the MBR gap of 133 sectors, so it seems that even using the biosboot partition still doesn’t solve my problem.
And if I manually install GRUB2 to this biosboot partition, it also prompts an error

# grub2-install /dev/sdb5
installing for i386-pc platform.
grub2-install: error: unable to identify a filesystem in hd0: safty check can’t be performed.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.