|
From: | Pascal Hambourg |
Subject: | Re: Booting from Devices > 2TB with BIOS and GPT |
Date: | Tue, 8 Jun 2021 22:59:20 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |