On 08/05/2024 at 01:03, Pascal Hambourg wrote:
GRUB documentation states:

‘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 actual behaviour does not match this description.

   GRUB_OS_PROBER_SKIP_LIST="<UUID>"

does nothing. In order to skip non-EFI bootloaders, 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).

Also, any non-word character is accepted as a separator, including
'-' and '@' which may be present in UUIDs. This can cause false
positives because of partial UUID match.

This patch fixes these flaws while retaining some backward
compatibility with previous behaviour which may be expected by
existing setups:
- also accept <UUID>@/dev/* (with warning) for non-EFI bootloaders
- also accept comma and semicolon as separator

Fixes: 55e706c9 (Add GRUB_OS_PROBER_SKIP_LIST to selectively skipping systems)

Gentle ping.
Please advise if anything is wrong with this patch.

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to