Os-prober cannot find Windows

Hi everyone,
I dual boot windows and manjaro on my computer which both are in the same hard disk. After some update on manjaro or windows, grub couldn’t find windows anymore. I did GRUB_DISABLE_OS_PROBER=false but still it can’t find. When I run sudo os-prober it returns nothing. I can boot into Windows by changing the boot order in the bios. Also when I run efibootmgr it sees the Windows. Below is the output of efibootmgr

BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0000
Boot0000* Windows Boot Manager
Boot0002* Manjaro

and when I run sudo parted -l it prints out this

Model: ATA ST1000DM003-1SB1 (scsi)
Disk /dev/sda: 1000GB
Sektör boyutu (mantıksal/fiziksel): 512B/4096B
Disk bölümü Tablosu: gpt
Disk Bayrakları: 

Numara  Başlangıç  Son     Boyut  Dosya sistemi  İsim                           Flags
 1      1049kB     106MB   105MB   fat32         EFI system partition           boot, esp
 2      106MB      123MB   16,8MB                Microsoft reserved partition   msftres
 3      123MB      483GB   483GB   ntfs          Basic data partition           msftdata
 4      483GB      483GB   524MB   ntfs                                         hiden, diag
 5      483GB      1000GB  517GB   ext4

Sorry my computers language is Turkish but I translated the important parts to English.

I also disabled fast boot on windows and don’t know what is the problem. I will be glad if anyone can help me since I’m still a newbie to linux.

Did you sudo update-grub after putting GRUB_DISABLE_OS_PROBER=false in /etc/default/grub?

1 Like

Yes, I did. Here is the output it gave

Found initrd fallback image: /boot/initramfs-5.9-x86_64-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
It's output will be used to detect bootable binaries on them and create new boot entries.
Adding boot menu entry for UEFI Firmware Settings ...
Found memtest86+ image: /boot/memtest86+/memtest.bin

Manjaro and Windows both need to be installed either in bios or uefi mode for os_prober to pick Windows up.

They both are installed in uefi mode and I’m sure because before update os-prober was finding the Windows. Something changed after some update.

Here is my EFI folder

su -c "ls /boot/efi/EFI"     
Boot  Manjaro  Microsoft

Does sudo grub-mkconfig work?

If it does not work, then:

  1. sudo mv /etc/grub.d /etc/grub.d.old
  2. Reinstall grub
  3. sudo update-grub or sudo grub-mkconfig
  4. reboot

sudo grub-mkconfig didn’t worked so I tried the 2nd method and after doing that I got an error saying:

Generating Grub configuration file...
Script `/boot/grub/grub.cfg.new' contains no commands and will do nothing
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.

I solved this problem by undoing sudo mv /etc/grub.d /etc/grub.d.old command. I reinstalled grub using grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck maybe this command was faulty and caused that problem. But in the end neither the first and second method solved the problem and grub still doesn’t see Windows

Okey I solved the problem by deleting grub and moving to rEFInd and it’s working properly. For the ones who have this problem and want to continue using grub I don’t know the solution.