Package: os-prober Version: 1.83 Severity: normal Dear Debian os-prober maintainers,
I would like to report what appears to be a locale-dependent bug in os-prober affecting Windows Boot Manager detection. System ------ Distribution: Debian 13 (Trixie) Package: os-prober 1.83 Locale: tr_TR.UTF-8 Boot mode: UEFI Disk layout: - EFI System Partition (FAT32) - Windows Boot Manager - Debian GNU/Linux Problem ------- Running: sudo update-grub does not detect the existing Windows Boot Manager. The generated GRUB configuration only contains Linux entries. However, running: sudo LC_ALL=C update-grub correctly reports: Found Windows Boot Manager on /dev/nvme0n1p2@/EFI/Microsoft/Boot/bootmgfw.efi and Windows is added to the GRUB menu. Investigation ------------- The EFI System Partition was verified to be correct. The following all succeed: - EFI partition mounts correctly. - /boot/efi/EFI exists. - /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi exists. - efibootmgr shows Windows Boot Manager. - The Microsoft probe: /usr/lib/os-probes/mounted/efi/20microsoft /boot/efi/EFI correctly detects Windows. Tracing os-prober using: sh -x /usr/bin/os-prober showed that it executes: /usr/lib/os-probes/mounted/05efi Tracing that script further shows that it exits with: /boot/efi does not have /EFI directory even though the directory exists. The relevant helper function is: item_in_dir() defined in: /usr/share/os-prober/common.sh which performs: ls -1 "$2" | grep -i "^$1$" Additional testing showed: Under tr_TR.UTF-8: ls -1 /boot/efi | grep -i '^efi$' returns no output. Under the C locale: LC_ALL=C sh -c 'ls -1 /boot/efi | grep -i "^efi$"' correctly returns: EFI This strongly suggests that the failure is locale-dependent. Expected behaviour ------------------ Windows Boot Manager should be detected regardless of the user's locale. Workaround ---------- Running: sudo LC_ALL=C update-grub correctly detects Windows and generates the expected GRUB entry. Possible cause -------------- The failure appears to be related to locale-sensitive case-insensitive matching inside item_in_dir(). The helper should ideally perform the comparison in a locale-independent manner. Investigation performed by: Erol Saner ChatGPT (OpenAI) Thank you for maintaining Debian and for your time reviewing this report.

