Windows 10 boot menu option disappeared in the boot menu

Hi,
I installed EndeavourOS alongside Windows 10 and it worked well until today, when I installed about 2GB of online updates coming to the EndeavourOS.

In the boot menu, I cannot see the Windows 10 entry to select it.

However, with the efibootmgr -v command I can receive the following. Any idea?

[bxxxs@blade ~]$ efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0000,0002
Boot0000* Windows Boot Manager	HD(1,GPT,879e7b1c-302d-4d95-a3d0-3da6f21eb83b,0x800,0x32000)/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* EndeavourOS	HD(1,GPT,879e7b1c-302d-4d95-a3d0-3da6f21eb83b,0x800,0x32000)/File(\EFI\ENDEAVOUROS\GRUBX64.EFI)
Boot0002* Hard Drive	BBS(HD,,0x0)..GO..NO........o.S.A.M.S.U.N.G. .M.Z.V.L.B.5.1.2.H.A.J.Q.-.0.0.0.0.0....................A...........................%8...$......2..Gd-.;.A..MQ..L.S.3.W.8.N.A.0.K.A.0.1.6.7.6........BO

https://wiki.archlinux.org/title/GRUB#Detecting%20other%20operating%20systems Might help (OS-Prob is disabled by default on newer versions of grub)

1 Like

Let me list my mounted file system:

[bxxxs@blade ~]$ findmnt
TARGET                        SOURCE     FSTYPE    OPTIONS
/                             /dev/nvme0n1p5
β”‚                                        ext4      rw,noatime
β”œβ”€/proc                       proc       proc      rw,nosuid,nodev,noexec,relatime
β”‚ └─/proc/sys/fs/binfmt_misc  systemd-1  autofs    rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,max
β”œβ”€/sys                        sys        sysfs     rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/firmware/efi/efivars efivarfs   efivarfs  rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/kernel/security      securityfs securityf rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/fs/cgroup            cgroup2    cgroup2   rw,nosuid,nodev,noexec,relatime,nsdelegate,memory
β”‚ β”œβ”€/sys/fs/pstore            pstore     pstore    rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/fs/bpf               none       bpf       rw,nosuid,nodev,noexec,relatime,mode=700
β”‚ β”œβ”€/sys/kernel/debug         debugfs    debugfs   rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/kernel/tracing       tracefs    tracefs   rw,nosuid,nodev,noexec,relatime
β”‚ β”œβ”€/sys/kernel/config        configfs   configfs  rw,nosuid,nodev,noexec,relatime
β”‚ └─/sys/fs/fuse/connections  fusectl    fusectl   rw,nosuid,nodev,noexec,relatime
β”œβ”€/dev                        dev        devtmpfs  rw,nosuid,relatime,size=8132352k,nr_inodes=203308
β”‚ β”œβ”€/dev/shm                  tmpfs      tmpfs     rw,nosuid,nodev,inode64
β”‚ β”œβ”€/dev/pts                  devpts     devpts    rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode
β”‚ β”œβ”€/dev/hugepages            hugetlbfs  hugetlbfs rw,relatime,pagesize=2M
β”‚ └─/dev/mqueue               mqueue     mqueue    rw,nosuid,nodev,noexec,relatime
β”œβ”€/run                        run        tmpfs     rw,nosuid,nodev,relatime,mode=755,inode64
β”‚ └─/run/user/1000            tmpfs      tmpfs     rw,nosuid,nodev,relatime,size=1628256k,nr_inodes=
β”‚   └─/run/user/1000/gvfs     gvfsd-fuse fuse.gvfs rw,nosuid,nodev,relatime,user_id=1000,group_id=10
β”œβ”€/tmp                        tmpfs      tmpfs     rw,nosuid,nodev,size=8141292k,nr_inodes=409600,in
└─/boot/efi                   /dev/nvme0n1p1
                                         vfat      rw,relatime,fmask=0077,dmask=0077,codepage=437,io

I run the following command to add the Windows partition (however, it was there…)
[

bxxxs@blade ~]$ sudo os-prober
[sudo] password for bxxxs: 
/dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi

Then re-run grub-mkconfig.


[bxxxs@blade ~]$ sudo grub-mkconfig
Generating grub configuration file ...
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 4476ff22-dee6-4f7e-a2ce-b43e09bb30f4
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=1920x1080
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
Found theme: /boot/grub/themes/EndeavourOS/theme.txt
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 4476ff22-dee6-4f7e-a2ce-b43e09bb30f4
insmod gfxmenu
loadfont ($root)/boot/grub/themes/EndeavourOS/unifont-regular-16.pf2
insmod png
set theme=($root)/boot/grub/themes/EndeavourOS/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img
menuentry 'EndeavourOS, on linux' --class endeavouros --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-4476ff22-dee6-4f7e-a2ce-b43e09bb30f4' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root 4476ff22-dee6-4f7e-a2ce-b43e09bb30f4
	echo	'Loading kernel linux ...'
	linux	/boot/vmlinuz-linux root=UUID=4476ff22-dee6-4f7e-a2ce-b43e09bb30f4 rw  quiet loglevel=3 nowatchdog
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/initramfs-linux.img
}
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-fallback.img
menuentry 'EndeavourOS, on linux (fallback initramfs)' --class endeavouros --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-4476ff22-dee6-4f7e-a2ce-b43e09bb30f4' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root 4476ff22-dee6-4f7e-a2ce-b43e09bb30f4
	echo	'Loading kernel linux ...'
	linux	/boot/vmlinuz-linux root=UUID=4476ff22-dee6-4f7e-a2ce-b43e09bb30f4 rw  quiet loglevel=3 nowatchdog
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/initramfs-linux-fallback.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
Adding boot menu entry for UEFI Firmware Settings ...
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
	fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###
done

And finally here is the result, but the Windows 10 option still cannot be seen when reboot:

[bxxxs@blade ~]$ efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0000,0002,0003,0004,0005
Boot0000* Windows Boot Manager	HD(1,GPT,879e7b1c-302d-4d95-a3d0-3da6f21eb83b,0x800,0x32000)/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* EndeavourOS	HD(1,GPT,879e7b1c-302d-4d95-a3d0-3da6f21eb83b,0x800,0x32000)/File(\EFI\ENDEAVOUROS\GRUBX64.EFI)
Boot0002* Hard Drive	BBS(HD,,0x0)..GO..NO........o.S.A.M.S.U.N.G. .M.Z.V.L.B.5.1.2.H.A.J.Q.-.0.0.0.0.0....................A...........................%8...$......2..Gd-.;.A..MQ..L.S.3.W.8.N.A.0.K.A.0.1.6.7.6........BO
Boot0003* UEFI:CD/DVD Drive	BBS(129,,0x0)
Boot0004* UEFI:Removable Device	BBS(130,,0x0)
Boot0005* UEFI:Network Device	BBS(131,,0x0)

Any help or advice would be great. Thanks in advance!

(from the link previously posted by @Dev0ut)

Add or uncomment:

GRUB_DISABLE_OS_PROBER=false

in /etc/default/grub.

Run
sudo grub-mkconfig -o /boot/grub/grub.cfg

5 Likes

Was about to write this down xd

2 Likes

@theblase
Did it do it?

Thanks, @pebcak, it works like a charm!

1 Like
3 Likes

Highly appreciate the explanation, @joekamprad !!! Thank you so much!

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.