Problems with boot loader

Hey, so i’m having an issue with trying to duel boot my system, i currently have EOS and Kali Linux installed on my system, but Kali Linux never shows up on the Grub i have tried using os-prober and it does not seem to detect it and yes i did mount it.

i also tried manually adding it, It shows up but refuses to actually boot into the OS

Any other suggestions searched high and low for a solution but cant find anything.

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

Generating grub configuration file ...
Found theme: /boot/grub/themes/EndeavourOS/theme.txt
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-fallback.img
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.
Adding boot menu entry for UEFI Firmware Settings ...
done

sudo grub-mkconfig -o /etc/grub.d

Generating grub configuration file ...
Found theme: /boot/grub/themes/EndeavourOS/theme.txt
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/amd-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  amd-ucode.img initramfs-linux-fallback.img
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.
Adding boot menu entry for UEFI Firmware Settings ...
/usr/bin/grub-mkconfig: line 305: /etc/grub.d: Is a directory

manually trying to add the boot entry with 40_custom

#!/bin/sh
exec tail -n +3 $0
# 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.

menuentry "Kali Linux" {
    search --set=root --fs-uuid ff42a029-4943-4164-9975-a3e8413a3ba9
  linux /boot/vmlinuz-5.16.0-kali7-amd64 root=UUID=ff42a029-4943-4164-9975-a3e8413a3ba9 rw  quiet
}

Did you run:

again afterwards?

1 Like

yup, should i try and add the entry to the grub.cfg instead? No clue how to do that though.

No, that would be overwritten each time Grub is updated. Make instead a custom.cfg file in /boot/grub and add the menu entry to it. No need to update grub afterwards.

1 Like

nah that didnt work

custom.cfg should normally create a boot entry on the grub boot menu after reboot.
Why it is not working, it beats me :confused:

1 Like

sorry should have elaborated it does show up on the bootloader but when i try to boot into it i get

error: file '/boot/vmlinuz-5.16.0-kali7-amd64' not found.
Press any key to continue....
1 Like

in the boot folder in kali there are two of these files though
vmlinuz-5.16.0-kali7-amd64
and
vmlinuz-5.15.0-kali3-amd64

What shows in Kali’s grub.cfg?

1 Like
#
# 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_gpt
insmod btrfs
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
else
  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
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_GB
  insmod gettext
fi
terminal_output gfxterm
insmod part_gpt
insmod btrfs
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
else
  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
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_gpt
insmod btrfs
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
else
  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
fi
insmod png
if background_image /@/usr/share/grub/themes/kali/grub-16x9.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/06_dark_theme ###
set menu_color_normal=white/black
set menu_color_highlight=yellow/black
set color_normal=white/black
set color_highlight=yellow/black
background_image
### END /etc/grub.d/06_dark_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-2837b27c-aa88-4c89-bf8a-44664ea0089d' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod btrfs
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
	else
	  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
	fi
	echo	'Loading Linux 5.16.0-kali7-amd64 ...'
	linux	/@/boot/vmlinuz-5.16.0-kali7-amd64 root=UUID=2837b27c-aa88-4c89-bf8a-44664ea0089d ro rootflags=subvol=@  quiet splash
	echo	'Loading initial ramdisk ...'
	initrd	/@/boot/initrd.img-5.16.0-kali7-amd64
}
submenu 'Advanced options for Kali GNU/Linux' $menuentry_id_option 'gnulinux-advanced-2837b27c-aa88-4c89-bf8a-44664ea0089d' {
	menuentry 'Kali GNU/Linux, with Linux 5.16.0-kali7-amd64' --class kali --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.16.0-kali7-amd64-advanced-2837b27c-aa88-4c89-bf8a-44664ea0089d' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod btrfs
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
		else
		  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
		fi
		echo	'Loading Linux 5.16.0-kali7-amd64 ...'
		linux	/@/boot/vmlinuz-5.16.0-kali7-amd64 root=UUID=2837b27c-aa88-4c89-bf8a-44664ea0089d ro rootflags=subvol=@  quiet splash
		echo	'Loading initial ramdisk ...'
		initrd	/@/boot/initrd.img-5.16.0-kali7-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 5.16.0-kali7-amd64 (recovery mode)' --class kali --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.16.0-kali7-amd64-recovery-2837b27c-aa88-4c89-bf8a-44664ea0089d' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod btrfs
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
		else
		  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
		fi
		echo	'Loading Linux 5.16.0-kali7-amd64 ...'
		linux	/@/boot/vmlinuz-5.16.0-kali7-amd64 root=UUID=2837b27c-aa88-4c89-bf8a-44664ea0089d ro single rootflags=subvol=@ 
		echo	'Loading initial ramdisk ...'
		initrd	/@/boot/initrd.img-5.16.0-kali7-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 5.15.0-kali3-amd64' --class kali --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-kali3-amd64-advanced-2837b27c-aa88-4c89-bf8a-44664ea0089d' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod btrfs
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
		else
		  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
		fi
		echo	'Loading Linux 5.15.0-kali3-amd64 ...'
		linux	/@/boot/vmlinuz-5.15.0-kali3-amd64 root=UUID=2837b27c-aa88-4c89-bf8a-44664ea0089d ro rootflags=subvol=@  quiet splash
		echo	'Loading initial ramdisk ...'
		initrd	/@/boot/initrd.img-5.15.0-kali3-amd64
	}
	menuentry 'Kali GNU/Linux, with Linux 5.15.0-kali3-amd64 (recovery mode)' --class kali --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-kali3-amd64-recovery-2837b27c-aa88-4c89-bf8a-44664ea0089d' {
		load_video
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod btrfs
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  2837b27c-aa88-4c89-bf8a-44664ea0089d
		else
		  search --no-floppy --fs-uuid --set=root 2837b27c-aa88-4c89-bf8a-44664ea0089d
		fi
		echo	'Loading Linux 5.15.0-kali3-amd64 ...'
		linux	/@/boot/vmlinuz-5.15.0-kali3-amd64 root=UUID=2837b27c-aa88-4c89-bf8a-44664ea0089d ro single rootflags=subvol=@ 
		echo	'Loading initial ramdisk ...'
		initrd	/@/boot/initrd.img-5.15.0-kali3-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 ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $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 ###

Is Kali installed in BTRFS?

If so os-prober as it is, is not capable of detecting other systems installed on BTRFS.

Use something like:

https://aur.archlinux.org/packages/os-prober-btrfs

Also there is a mismatch between the root UUIDs:

2 Likes

Really haha?

god damn it been isntalling all my system in btrfs
if i wanted to duel boot would i need to change my endevour os ssystem as well or just kali?

sorry skipped throught your message to quick there just used os-prober-btrfs and it worked thanks man

now dont suppose you know how to remove the entrys i made with the cfg files? haha

1 Like

Install os-prober-btrfs from AUR in EnOS and let EnOS’ Grub in charge of the booting.

1 Like

The custom.cfg?

sudo rm /boot/grub/custom.cfg

The 40_custom:

Just edit it with sudo and delete its contenet.

1 Like

Yup sorry marked you as the solution honestly thanks mate been trying to figure out whats been going wrong for awhile :slight_smile:

1 Like

You are welcome!
Glad you got it sorted out!

:enos_flag:

2 Likes

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