Le 08/06/2021 à 21:45, Michael Hierweck a écrit :

today I experienced GRUB 2.02 was not able to boot successfully a QEMU based virtual machine in BIOS mode from a GPT partitioned virtual disk when the root partition (containing /boot) exceeds 2 TB even when a there is a tiny bios_grub partition (ef02) exists at the beginning of the disk.

I was dropped to the GRUB rescue shell but was not able to load any modules: "attempt to read or write outside of disk 'hd0'".

You have a broken BIOS. Nothing in the BIOS interface limits the usable size of a disk to 2 TiB.

After that I did some experiments. Reinstalled the system but assigned only 1 TB to the root/swap partition. The system booted successfully. After that I increased the partition to 4 TB and increased the filesystem. GRUB was still able to boot.

Until you reinstall GRUB, the kernel or the initramfs in a location beyond the BIOS limit.

I suppose the problem occurs when (after stage 1 and 1.5 have been successfully loaded) parts of stage 2 (modules from /boot/grub...) have to been loaded from disk sectors beyond the 2 TB limit.

GRUB 2 has no stage 1/1.5/2. It has a boot image which loads a core image which loads files.

Can you confirm that not only the bios_grub partition but also /boot/grub has to be located in the first 2 TB of the disk?

No. If the BIOS is broken, the whole /boot (including kernel and initramfs, not only /boot/grub) must be located within the BIOS limit. If the BIOS is not broken, /boot can be located anywhere.

Reply via email to