Windows isn't showing on Manjaro Boot Menu

I have 3 os installed on my SSD. Default Boot menu is for Manjaro and it doesn’t detect windows. update-grub, grub install or no other trick seems to work(manjaro-chroot outputs command not found). I reinstalled my kali-xfce 1 day ago and created grub install for that, If I boot to SSD instead of UEFI OS, kali boot menu detects everything. My Manjaro grub.cfg:

grub.cfg

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="${saved_entry}"
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
}

set menu_color_normal=light-gray/black
set menu_color_highlight=green/black

if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos2’ --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos2’ --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
insmod gfxmenu
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_24.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_48.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_bold_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_mono_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-18.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b18.pf2
insmod png
set theme=($root)/usr/share/grub/themes/manjaro/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=10

Fallback hidden-timeout code in case the timeout_style feature is

unavailable.

elif sleep --interruptible 10 ; then
set timeout=0
fi

END /etc/grub.d/00_header

BEGIN /etc/grub.d/10_linux

menuentry ‘Manjaro Linux’ --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-simple-dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos2’ --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
linux /boot/vmlinuz-5.8-x86_64 root=UUID=dc888595-5356-42a1-8b17-ef5085bd7aa5 rw quiet apparmor=1 security=apparmor udev.log_priority=3
initrd /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img
}
submenu ‘Advanced options for Manjaro Linux’ $menuentry_id_option ‘gnulinux-advanced-dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
menuentry ‘Manjaro Linux (Kernel: 5.8.11-1-MANJARO x64)’ --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-5.8.11-1-MANJARO x64-advanced-dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos2’ --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
linux /boot/vmlinuz-5.8-x86_64 root=UUID=dc888595-5356-42a1-8b17-ef5085bd7aa5 rw quiet apparmor=1 security=apparmor udev.log_priority=3
initrd /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img
}
menuentry ‘Manjaro Linux (Kernel: 5.8.11-1-MANJARO x64 - fallback initramfs)’ --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-5.8.11-1-MANJARO x64-fallback-dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos2’ --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
linux /boot/vmlinuz-5.8-x86_64 root=UUID=dc888595-5356-42a1-8b17-ef5085bd7aa5 rw quiet apparmor=1 security=apparmor udev.log_priority=3
initrd /boot/initramfs-5.8-x86_64-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

menuentry ‘Kali GNU/Linux Rolling (on /dev/sdb4)’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-simple-40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
savedefault
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos4’ --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
linux /boot/vmlinuz-5.7.0-kali1-amd64 root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro quiet splash
initrd /boot/initrd.img-5.7.0-kali1-amd64
}
submenu ‘Advanced options for Kali GNU/Linux Rolling (on /dev/sdb4)’ $menuentry_id_option ‘osprober-gnulinux-advanced-40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
menuentry ‘Kali GNU/Linux (on /dev/sdb4)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-5.7.0-kali1-amd64–40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
savedefault
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos4’ --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
linux /boot/vmlinuz-5.7.0-kali1-amd64 root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro quiet splash
initrd /boot/initrd.img-5.7.0-kali1-amd64
}
menuentry ‘Kali GNU/Linux, with Linux 5.7.0-kali1-amd64 (on /dev/sdb4)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-5.7.0-kali1-amd64–40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
savedefault
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos4’ --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
linux /boot/vmlinuz-5.7.0-kali1-amd64 root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro quiet splash
initrd /boot/initrd.img-5.7.0-kali1-amd64
}
menuentry ‘Kali GNU/Linux, with Linux 5.7.0-kali1-amd64 (recovery mode) (on /dev/sdb4)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-5.7.0-kali1-amd64-root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro single-40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
savedefault
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos4’ --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
linux /boot/vmlinuz-5.7.0-kali1-amd64 root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro single
initrd /boot/initrd.img-5.7.0-kali1-amd64
}
}

set timeout_style=menu
if [ “${timeout}” = 0 ]; then
set timeout=10
fi

END /etc/grub.d/30_os-prober

BEGIN /etc/grub.d/30_uefi-firmware

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

BEGIN /etc/grub.d/60_memtest86+

if [ “${grub_platform}” == “pc” ]; then
menuentry “Memory Tester (memtest86+)” --class memtest86 --class gnu --class tool {
search --fs-uuid --no-floppy --set=root --hint-ieee1275=‘ieee1275//disk@0,msdos2’ --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
linux16 /boot/memtest86+/memtest.bin
}
fi

END /etc/grub.d/60_memtest86+

And my Kali grub.cfg is following:

grub.cfg

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

if [ -s $prefix/grubenv ]; then
set have_grubenv=true
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_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=1280x720,1280x800,auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_IN
insmod gettext
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
insmod gfxmenu
loadfont ($root)/boot/grub/themes/kali/unifont-regular-16.pf2
insmod png
set theme=($root)/boot/grub/themes/kali/theme.txt
export theme
if [ “${recordfail}” = 1 ] ; then
set timeout=30
else
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
fi

END /etc/grub.d/00_header

BEGIN /etc/grub.d/05_debian_theme

insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
insmod png
if background_image /usr/share/grub/themes/kali/grub-4x3.png; then
set color_normal=white/black
set color_highlight=black/white
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi

END /etc/grub.d/05_debian_theme

BEGIN /etc/grub.d/10_linux

function gfxmode {
set gfxpayload="${1}"
}
set linux_gfx_mode=
export linux_gfx_mode
menuentry ‘Kali GNU/Linux’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-simple-40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
echo ‘Loading Linux 5.7.0-kali1-amd64 …’
linux /boot/vmlinuz-5.7.0-kali1-amd64 root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro quiet splash
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-5.7.0-kali1-amd64
}
submenu ‘Advanced options for Kali GNU/Linux’ $menuentry_id_option ‘gnulinux-advanced-40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
menuentry ‘Kali GNU/Linux, with Linux 5.7.0-kali1-amd64’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-5.7.0-kali1-amd64-advanced-40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
echo ‘Loading Linux 5.7.0-kali1-amd64 …’
linux /boot/vmlinuz-5.7.0-kali1-amd64 root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro quiet splash
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-5.7.0-kali1-amd64
}
menuentry ‘Kali GNU/Linux, with Linux 5.7.0-kali1-amd64 (recovery mode)’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-5.7.0-kali1-amd64-recovery-40afb832-bac1-49d7-8abb-9a7e9072ae2f’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd1,msdos4’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos4 --hint-efi=hd1,msdos4 --hint-baremetal=ahci1,msdos4 40afb832-bac1-49d7-8abb-9a7e9072ae2f
else
search --no-floppy --fs-uuid --set=root 40afb832-bac1-49d7-8abb-9a7e9072ae2f
fi
echo ‘Loading Linux 5.7.0-kali1-amd64 …’
linux /boot/vmlinuz-5.7.0-kali1-amd64 root=UUID=40afb832-bac1-49d7-8abb-9a7e9072ae2f ro single
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-5.7.0-kali1-amd64
}
}

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

menuentry ‘Manjaro Linux (20.1.1) (on /dev/sdb2)’ --class manjarolinux --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-simple-dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
linux /boot/vmlinuz-5.8-x86_64 root=UUID=dc888595-5356-42a1-8b17-ef5085bd7aa5 rw quiet apparmor=1 security=apparmor udev.log_priority=3
initrd /boot/intel-ucode.img
}
submenu ‘Advanced options for Manjaro Linux (20.1.1) (on /dev/sdb2)’ $menuentry_id_option ‘osprober-gnulinux-advanced-dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
menuentry ‘Manjaro Linux (on /dev/sdb2)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-5.8-x86_64–dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
linux /boot/vmlinuz-5.8-x86_64 root=UUID=dc888595-5356-42a1-8b17-ef5085bd7aa5 rw quiet apparmor=1 security=apparmor udev.log_priority=3
initrd /boot/intel-ucode.img
}
menuentry ‘Manjaro Linux (Kernel 5.8.11-1-MANJARO x64) (on /dev/sdb2)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-5.8-x86_64–dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
linux /boot/vmlinuz-5.8-x86_64 root=UUID=dc888595-5356-42a1-8b17-ef5085bd7aa5 rw quiet apparmor=1 security=apparmor udev.log_priority=3
initrd /boot/intel-ucode.img
}
menuentry ‘Manjaro Linux (Kernel 5.8.11-1-MANJARO x64 - fallback initramfs) (on /dev/sdb2)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-5.8-x86_64–dc888595-5356-42a1-8b17-ef5085bd7aa5’ {
insmod part_msdos
insmod ext2
set root=‘hd1,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2 dc888595-5356-42a1-8b17-ef5085bd7aa5
else
search --no-floppy --fs-uuid --set=root dc888595-5356-42a1-8b17-ef5085bd7aa5
fi
linux /boot/vmlinuz-5.8-x86_64 root=UUID=dc888595-5356-42a1-8b17-ef5085bd7aa5 rw quiet apparmor=1 security=apparmor udev.log_priority=3
initrd /boot/initramfs-5.8-x86_64-fallback.img
}
}

menuentry ‘Windows 10 (on /dev/sdb3)’ --class windows --class os $menuentry_id_option ‘osprober-chain-3A9234EE9234AFED’ {
insmod part_msdos
insmod ntfs
set root=‘hd1,msdos3’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3 3A9234EE9234AFED
else
search --no-floppy --fs-uuid --set=root 3A9234EE9234AFED
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}

END /etc/grub.d/30_os-prober

BEGIN /etc/grub.d/30_uefi-firmware

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

If I copy the following portion from kali’s grub.cfg and add to manjaro’s grub.cfg:
menuentry ‘Windows 10 (on /dev/sdb3)’ --class windows --class os $menuentry_id_option ‘osprober-chain-3A9234EE9234AFED’ {
insmod part_msdos
insmod ntfs
set root=‘hd1,msdos3’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3 3A9234EE9234AFED
else
search --no-floppy --fs-uuid --set=root 3A9234EE9234AFED
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}

I get the following error:
error: cannot find command 'drivemap

Please post the output of:

sudo parted -l
test -d /sys/firmware/efi && echo efi || echo bios
efibootmgr -v
os-prober

I think you have a mixed system with BIOS and UEFI. If Kali and Windows are installed in BIOS mode and Manjaro in UEFI mode, then grub on Manjaro will only search for EFI entries and not BIOS entries.

At least Windows is installed on a partition with ms-dos partition table what let me guess that it is installed in BIOS mode.

1 Like

sudo parted -l

Model: ATA ST1000LM035-1RK1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary ntfs
2 525MB 108GB 107GB primary ntfs boot
3 108GB 331GB 223GB primary ntfs
4 331GB 1000GB 669GB extended lba
5 331GB 554GB 223GB logical ntfs
6 554GB 777GB 223GB logical ntfs
7 777GB 1000GB 223GB logical ntfs
Model: ATA TS240GSSD220S (scsi)
Disk /dev/sdb: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 269MB 268MB primary fat32 lba
2 269MB 115GB 114GB primary ext4
3 115GB 223GB 108GB primary ntfs
4 223GB 240GB 17.4GB primary ext4 boot

test -d /sys/firmware/efi && echo efi || echo bios
efi

efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0007,0009,0003
Boot0000* manjaro HD(1,MBR,0x6277e483,0x800,0x80000)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0003* ST1000LM035-1RK172 BBS(HD,0x0)…GO…NO…o.T.S.2.4.0.G.S.S.D.2.2.0.S…A…
…>…Gd-.;.A…MQ…L.6.E.2.0.8.5.2.0.7.9. . . . . . . . . . …BO…NO…o.S.T.1.0.0.0.L.M.
0.3.5.-.1.R.K.1.7.2…A…>…Gd-.;.A…MQ…L. . . . . . . . . . . . .D.W.8.E
.2.P.J.C…BO
Boot0007* UEFI OS HD(1,MBR,0x6277e483,0x800,0x104000)/File(\EFI\BOOT\BOOTX64.EFI)…BO
Boot0009* UEFI OS HD(1,MBR,0x6277e483,0x800,0x80000)/File(\EFI\BOOT\BOOTX64.EFI)…BO

sudo os-prober
/dev/sdb4:Kali GNU/Linux Rolling:Kali:linux

As i thought… Manjaro is installed in EFI mode and Windows or Kali are not listed in the efi.

To make it work, you have to boot the Manjaro Install Disk in BIOS mode and install it. Then grub will find Kali and Windows.

1 Like

grub can find Kali, after I had used update-grub, It enlisted Kali…
Can the same thing be done with windows?

The grub of Manjaro or the grub of kali? Sure the grub of kali will find kali. No doubts. But since grub of Manjaro is working in EFI mode, it will not find anything which is not installed on the efi partition:

Sorry for the confusion,
sudo update-grub
Generating grub configuration file …
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-5.8-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-5.8-x86_64.img
Found initrd fallback image: /boot/initramfs-5.8-x86_64-fallback.img
Found Kali GNU/Linux Rolling on /dev/sdb4
Adding boot menu entry for UEFI Firmware Settings …
Found memtest86+ image: /boot/memtest86+/memtest.bin
done

I can boot to Kali from the Manjaro Boot Menu after I used update-grub

Ah ok… /dev/sdb4 is the kali and /dev/sdb2 is manjaro right?

That is really strange now… Maybe have a look here:

https://wiki.archlinux.org/index.php/GRUB#Windows_installed_in_BIOS/MBR_mode

Don’t edit /etc/grub/grub.cfg … instead create a new file here: /etc/grub.d/40_custom.cfg and put you config in it as described and run sudo update-grub

However… that can screw up your system in many ways… if you use a ms-dos partition table, always use BIOS (legacy mode & CSM).

1 Like

You can try to solve your issue by following the excellent advice of @megavolt or further screw up your system. There is no other solution than booting all OS you want to include in one boot loader menu either in UEFI or in BIOS mode. Your disk /dev/sda is msdos parted, that’s another reason to stick to BIOS mode. So remeber for grub as boot loader:

BIOS + msdos parted disk

or

UEFI + gpt parted disk

But do not mix these modes even if it is not totally impossible. :wink:

2 Likes

/dev/sda an extra hdd that had windows installed, the windows crashed. I didn’t change it later…
It’s already mixed…

/dev/sdb2 is manjaro…
I updated the cfg without noticing the precaution u mentioned from:
menuentry ‘Windows 10 (on /dev/sdb3)’ --class windows --class os $menuentry_id_option ‘osprober-chain-3A9234EE9234AFED’ {
insmod part_msdos
insmod ntfs
set root=‘hd1,msdos3’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3 3A9234EE9234AFED
else
search --no-floppy --fs-uuid --set=root 3A9234EE9234AFED
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}

to this:
menuentry ‘Windows 10 (on /dev/sdb3)’ --class windows --class os $menuentry_id_option ‘osprober-chain-3A9234EE9234AFED’ {
insmod part_msdos
insmod ntfs
insmod ntldr
set root=‘hd1,msdos3’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos3 --hint-efi=hd1,msdos3 --hint-baremetal=ahci1,msdos3 3A9234EE9234AFED
else
search --no-floppy --fs-uuid --set=root 3A9234EE9234AFED
fi
ntldr /bootmgr
# parttool ${root} hidden-
# drivemap -s (hd0) ${root}
# chainloader +1
}

and the error I got was:
error: file /boot/grub/x86-640ef/ntldr.mod not found.
error: can’t find command ntldr.
Press any key to continue…_

i don’t think uefi support drivemap. Is there anything similar for uefi?

Really… i recommend to install Manjaro in BIOS mode and the issue you have here will be gone.

Thats because it is in:

/boot/grub/i386-pc/ntldr.mod

UEFI and BIOS are 2 different systems. Do you really want more experiments?

2 Likes

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=698914

I can’t use the following as windows was installed on bios mode:
menuentry “Windows (UEFI)” {
search --set=root --file /EFI/Microsoft/Boot/bootmgfw.efi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

And again…

Windows -> BIOS (NO EFI)

1 Like

Is this procedure safe to make covert windows from BIOS to UEFI?
https://social.technet.microsoft.com/wiki/contents/articles/14286.converting-windows-bios-installation-to-uefi.aspx
or this:

no idea, sorry… never done this for windows.

But at least you have to use a gpt partition table… that means… you need to wipe the whole harddrive, write the new gpt partition table and reinstall Windows anyway.

1 Like