help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GRUB_OS_PROBER_SKIP_LIST


From: Pascal Hambourg
Subject: GRUB_OS_PROBER_SKIP_LIST
Date: Wed, 10 Jan 2024 23:16:52 +0100
User-agent: Mozilla Thunderbird

Hello,

GRUB documentation says:

‘GRUB_OS_PROBER_SKIP_LIST’
    List of space-separated FS UUIDs of filesystems to be ignored from
    os-prober output. For efi chainloaders it’s <UUID>@<EFI FILE>

But the behaviour I observe does not match this description:

GRUB_OS_PROBER_SKIP_LIST="<UUID>"

does not ignore non-EFI bootloaders in filesystem with UUID <UUID>.
In order to ignore a non-EFI bootloader, you must set

GRUB_OS_PROBER_SKIP_LIST="<UUID>@<DEVICE>"

which is both absurd (<UUID> and <DEVICE> are redundant) and wrong (<DEVICE> such as /dev/sd* may not be persistent across boots).

Is this really intended behaviour and the documentation is wrong ?
Or is the documentation correct and the behaviour is wrong ?

In the latter case, the culprit is in /etc/grub.d/30_os_prober (source: util/grub.d/30_os-prober.in), the condition:

    [ x"${DEVICE#*@}" != x ]

and the fix is simple: replace it with

    [ x"${DEVICE%@*}" != x"${DEVICE}" ]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]