On 27.11.2023 23:06, Pascal Hambourg wrote:
Hello,

Distribution: Debian 12 (bookworm)
GRUB version: 2.06

If I build an EFI GRUB core image with

   grub-mkimage --prefix='(hd0,gpt4)/' --format=x86_64-efi \
    --output=/boot/efi/EFI/azerty/core.efi part_gpt ext2

when booting it, $prefix has the expected value:

   cmdpath=(hd0,gpt1)/EFI/azerty
   prefix=(hd0,gpt4)/

But if I build an EFI GRUB core image with

   grub-mkimage --prefix='(hd0,gpt4)' --format=x86_64-efi \
    --output=/boot/efi/EFI/azerty/core.efi part_gpt ext2

(no / at the end of prefix), then when booting it, the $prefix value
seems to be the combination of the --prefix device and the $cmdpath path:

   cmdpath=(hd0,gpt1)/EFI/azerty
   prefix=(hd0,gpt4)/EFI/azerty

Is this expected behaviour ?


Yes. $prefix consists of two parts - device and the directory path. If one of them is missing during initialization, grub attempts to guess and fill it in.

Reply via email to