Package: os-prober Version: 1.80 Severity: normal X-Debbugs-Cc: zalek.ste...@gmail.com
Dear Maintainer, What led to the situation: Debian Testing new linux kernel 5.18.0-1 and updated grub 2.06-3 installed via apt package manager; the new linux kernel installation prompted the update-grub function to run. By default this new version of grub does not run the the os-prober package, hence, the Windows 10 partition was not detected and was eliminated from the grub.cfg list of bootable partitions. What I did that was effective/ineffective (part 1): - Added 'GRUB_DISABLE_OS_PROBER=false' to /etc/default/grub and ran 'sudo update-grub', forcing os-prober/grub to search for Windows partition - this resulted in the Windows 10 partition on this computer (box0) to be recognized, but with errors >> [incidentally, this exact procedure worked perfectly on my dual-boot Debian Testing/Windows 10 laptop - no errors] terminal output >> --------------------------------------------------------------------------------------- zaleksf@box0:~$ sudo update-grub [sudo] password for zaleksf: Generating grub configuration file ... Found background image: /usr/share/images/desktop-base/desktop-grub.png Found linux image: /boot/vmlinuz-5.18.0-1-amd64 Found initrd image: /boot/initrd.img-5.18.0-1-amd64 Found linux image: /boot/vmlinuz-5.17.0-1-amd64 Found initrd image: /boot/initrd.img-5.17.0-1-amd64 Warning: os-prober will be executed to detect other bootable partitions. Its output will be used to detect bootable binaries on them and create new boot entries. /usr/sbin/grub-probe: error: unknown filesystem. Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi /usr/sbin/grub-probe: error: unknown filesystem. Adding boot menu entry for UEFI Firmware Settings ... done --------------------------------------------------------------------------------------- Outcome: Upon rebooting and seeing the main grub list screen, there were the usual entries for booting to Debian, Windows, etc. However, upon selecting the Windows boot entry, I received an error indicating '/EFI/Microsoft/Boot/bootmgfw.efi does not exist' This was false, as I could find this file from both the Debian OS and Windows OS file manager, and I could boot directly into Windows 10 from the BIOS using the 'Enter/F12' key combination to bring up a list of boot partition choices (which did show both Debian and Windows as options). I investigated grub.cfg file and found that the 30_os-prober section for Windows to be significantly truncated from its usual entry (and other Linux kernel entries) >> ### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-/dev/sda1' { insmod part_gpt chainloader /EFI/Microsoft/Boot/bootmgfw.efi } ### END /etc/grub.d/30_os-prober ### What I did that was effective/ineffective (part 2): Since my laptop (box1) also is dual-boot Debian Testing/Windows 10 with a virtually identical set-up, I tried an experiment of copying its complete (and functioning) 30_os-prober section to grub.cfg on this misbehaving desktop system (box0). I tweaked this section (using logic) to point to the proper Windows partition, etc. (since I really have no experience with grub at all). Manually changed section 30_os-prober to this >> ### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-/dev/sda1' { insmod part_gpt insmod fat set root='hd0,gpt1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint- efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 82CB-1126 else search --no-floppy --fs-uuid --set=root 54C7-5867 fi chainloader /EFI/Microsoft/Boot/bootmgfw.efi } ### END /etc/grub.d/30_os-prober ### Saved grub.cfg, rebooted machine and selected Windows entry from grub. Outcome: Can boot into the Windows 10 partition perfectly, just as before. All grub list entries work correctly. If I run 'update-grub' again, the grub-probe error is indicated in the terminal, and the truncated/broken section 30_os-prober returns to /boot/grub/grub.cfg My machine (and Windows and Debian) works just fine. This machine has been dual-boot Debian Testing/Windows 10 for the last 5 years and has never experienced this issue before this version of grub/os-prober was introduced. My recommendation is to look into why the os-prober successfully recognizes a dual-boot Windows partition for some machines and not others. Please let me know if I can send additional files to support troubleshooting and/or development. Best regards, SZ -- System Information: Debian Release: bookworm/sid APT prefers testing APT policy: (800, 'testing'), (500, 'unstable'), (200, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.18.0-1-amd64 (SMP w/16 CPU threads; PREEMPT) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages os-prober depends on: ii grub-common 2.06-3 ii libc6 2.33-7 ii mount 2.38-4 os-prober recommends no packages. os-prober suggests no packages. -- no debconf information