Windows Boot Manager Not Avaiable in Grub Menu

Hi,
I have been using this distro for a few months and its great. However I still like to distrohop but then I realised that a new ISO was released. I always dual boot my distros with windows and I only seem to face this issue on arch based distros. Recently, OS-PROBER has been refusing to detect other operating systems but it was an easy fix but editing /etc/default/grub and adding the line "GRUB_DISABLE_OS_PROBER=“false” to the end of the file, regenerating the grub config file and it used to work. However, today when I installed the new ISO and added this line to the grub file, os-prober doesn’t seem to do anything and just detects the existing linux kernel images. Btw, yes I am able to boot into windows using the boot order in the bios. Is there any way to fix this?

Could it be that your two systems are installed in different modes, that is UEFI VS. Legacy/MBR?

Um sorry how do I check that :sweat_smile: my system is uefi

From your EnOS’ system, please run the following commands in a terminal. Copy/paste the output and format it by using the </> button:

sudo parted -l

efibootmgr -v

For sudo parted -l

Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                          Flags
 1      1049kB  274MB  273MB   fat32        EFI System Partition          boot, esp
 2      274MB   290MB  16.8MB               Microsoft reserved partition  msftres
 3      290MB   404GB  404GB   ntfs         Basic data partition          msftdata
 5      404GB   512GB  107GB   ext4         root
 4      512GB   512GB  556MB   ntfs         Basic data partition          hidden, diag


for efibootmgr

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0004,0007,0006,0005,0008,000A,0002,0000,0001,9999
Boot0000* Windows Boot Manager	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001* Internal Hard Disk	PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/NVMe(0x1,00-1B-44-8B-49-BB-A6-48)/HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)..BO
Boot0002* Debian	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Debian\shimx64.efi)
Boot0003* EndeavourOS	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\EndeavourOS\grubx64.efi)
Boot0004* opensuse	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\opensuse\grubx64.efi)
Boot0005* Manjaro	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Manjaro\grubx64.efi)
Boot0006* Arch_Linux	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Arch_Linux\grubx64.efi)
Boot0007* Fedora	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\fedora\shimx64.efi)
Boot0008* Ezarcher	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Ezarcher\grubx64.efi)
Boot000A* neon	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\neon\shimx64.efi)
Boot9999* USB Drive (UEFI)	PciRoot(0x0)/Pci(0x1d,0x0)/USB(16,0)..BO

ignore the million distros i previously installed

1 Like

in addition to add "GRUB_DISABLE_OS_PROBER=“false” you need to install the application so that it will be used:
sudo pacman -S --needed os-prober

That looks ok.
Check if you actually have os-prober installed as mentioned above by @joekamprad.

:thinking:

OMG YES THAT WORKED. Thanks but shouldnt this be installed by default tho?

I was thinking the same.

PS- you might want to clean up all those EFI boot entries you don’t use at some point.

Why it should be installed if it has no usecase?
We do change it on next release (soon) where we reanabled it to be used per default again…
So you will have grub detecting other OS per default and os-prober (as it is needed to do so) will be installed per default…

1 Like

Sorry, I don’t get it :thinking:

on last release grub was not using os-prober as grub development decided to not use os-prober anymore per default, and so we ship it the same way as arch does without os-prober.

And give the info in discovery wiki entry… to my excuse the entry was not that clear and i adjust it in that moment.

2 Likes

Alright, I wasn’t aware that Grub has changed again in that regard. Good to know!

Well I deleted the efi files from the boot partition. What else am I missing?

I guess you would need to to use the command line efibootmgr to remove them from the NVRAM (or some such). Run again efibootmgr -v to see what you get.

Theres quite a lot. How do I remove them?

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0004,0007,0006,0005,0008,000A,0002,0000,0001,9999
Boot0000* Windows Boot Manager	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001* Internal Hard Disk	PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/NVMe(0x1,00-1B-44-8B-49-BB-A6-48)/HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)..BO
Boot0002* Debian	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Debian\shimx64.efi)
Boot0003* EndeavourOS	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\EndeavourOS\grubx64.efi)
Boot0004* opensuse	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\opensuse\grubx64.efi)
Boot0005* Manjaro	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Manjaro\grubx64.efi)
Boot0006* Arch_Linux	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Arch_Linux\grubx64.efi)
Boot0007* Fedora	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\fedora\shimx64.efi)
Boot0008* Ezarcher	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\Ezarcher\grubx64.efi)
Boot000A* neon	HD(1,GPT,89314749-a5ce-457a-bc44-4ce8aea52a77,0x800,0x82000)/File(\EFI\neon\shimx64.efi)
Boot9999* USB Drive (UEFI)	PciRoot(0x0)/Pci(0x1d,0x0)/USB(16,0)..BO

To remove an entry, run:

sudo efibootmgr -b <bootnum> -B

For example,

sudo efibootmgr -b 0002 -B

to remove the one for Debian.

-b option specifies the boot number. -B option deletes that boot number.

Not sure if you can specify more bootnum than one to remove them in one go. You might try to see.

:warning: Don’t remove those for Internal Hard Disk and USB Drive