Resolved: Help with GRUB, triple boot fails to load manjaro

Hope this finds all of you well!

Could use a hand if anyone is willing to advise me.

I’m between certifications at the moment and decided it was time to dive in and start using Linux as a daily driver with Windows/MacOS as background OSs. I also decided to transition from Mint to Manjaro.

Removed my Mint partitions after backing up my data and installed Manjaro beside Windows as a dual-boot situation with full success. Both are on the same SSD and playing nicely together for now - waiting to run into the horror stories I’ve read of Windows updating and messing with GRUB.

I’m taking a security class shortly that demands Kali be installed, so I used some unallocated space to create a Kali partition and install that as well. Its installer detected the Win10 and Manjaro installs and updated GRUB accordingly.

When the system is started, GRUB lists all 3 OSs as options - it loads into Windows and Kali just fine. When I try to load into Manjaro, though, I get the error in the photograph I’ve attached.

I’m sure it’s likely just a GRUB configuration error as the data in the Manjaro partitions still seems to exist and is accessible by Kali. But I’ve never troubleshot or worked much with GRUB. Most I’ve done is change the default background screen on it as I didn’t want GRUB advertising Kali every time I started the computer with it’s default image.

Anyone willing to help me get GRUB back on the right track? I’m sure it’s a simple fix and I could Google this, but decided to post it here because I’d kind of like a Linux friend or two to bounce ideas off of down the line. I hope this is ok. Not used to having to ask for help on anything computer related!!

Manjaro load error is as follows:

That kernel panic means that your intiramfs is either wrong, or non-existent.

Could you give us more info? GRUB config and listing of /boot.


also added #helpdesk tag for visibility.

3 Likes

Thanks for the helpdesk tag - new around these parts.

grub.cfg ::

Summary

. . .

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=‘hd0,msdos5’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 34bcefbc-4e41-4130-b7e9-0180488b4e75
else
search --no-floppy --fs-uuid --set=root 34bcefbc-4e41-4130-b7e9-0180488b4e75
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_output gfxterm 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=‘hd0,msdos5’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 34bcefbc-4e41-4130-b7e9-0180488b4e75
else
search --no-floppy --fs-uuid --set=root 34bcefbc-4e41-4130-b7e9-0180488b4e75
fi
insmod png
if background_image /usr/share/desktop-base/kali-theme/grub/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-34bcefbc-4e41-4130-b7e9-0180488b4e75’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd0,msdos5’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 34bcefbc-4e41-4130-b7e9-0180488b4e75
else
search --no-floppy --fs-uuid --set=root 34bcefbc-4e41-4130-b7e9-0180488b4e75
fi
echo ‘Loading Linux 4.19.0-kali4-amd64 …’
linux /boot/vmlinuz-4.19.0-kali4-amd64 root=UUID=34bcefbc-4e41-4130-b7e9-0180488b4e75 ro initrd=/install/gtk/initrd.gz quiet
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-4.19.0-kali4-amd64
}
submenu ‘Advanced options for Kali GNU/Linux’ $menuentry_id_option ‘gnulinux-advanced-34bcefbc-4e41-4130-b7e9-0180488b4e75’ {
menuentry ‘Kali GNU/Linux, with Linux 4.19.0-kali4-amd64’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.19.0-kali4-amd64-advanced-34bcefbc-4e41-4130-b7e9-0180488b4e75’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd0,msdos5’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 34bcefbc-4e41-4130-b7e9-0180488b4e75
else
search --no-floppy --fs-uuid --set=root 34bcefbc-4e41-4130-b7e9-0180488b4e75
fi
echo ‘Loading Linux 4.19.0-kali4-amd64 …’
linux /boot/vmlinuz-4.19.0-kali4-amd64 root=UUID=34bcefbc-4e41-4130-b7e9-0180488b4e75 ro initrd=/install/gtk/initrd.gz quiet
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-4.19.0-kali4-amd64
}
menuentry ‘Kali GNU/Linux, with Linux 4.19.0-kali4-amd64 (recovery mode)’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.19.0-kali4-amd64-recovery-34bcefbc-4e41-4130-b7e9-0180488b4e75’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd0,msdos5’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 34bcefbc-4e41-4130-b7e9-0180488b4e75
else
search --no-floppy --fs-uuid --set=root 34bcefbc-4e41-4130-b7e9-0180488b4e75
fi
echo ‘Loading Linux 4.19.0-kali4-amd64 …’
linux /boot/vmlinuz-4.19.0-kali4-amd64 root=UUID=34bcefbc-4e41-4130-b7e9-0180488b4e75 ro single initrd=/install/gtk/initrd.gz
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-4.19.0-kali4-amd64
}
menuentry ‘Kali GNU/Linux, with Linux 4.19.0-kali3-amd64’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.19.0-kali3-amd64-advanced-34bcefbc-4e41-4130-b7e9-0180488b4e75’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd0,msdos5’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 34bcefbc-4e41-4130-b7e9-0180488b4e75
else
search --no-floppy --fs-uuid --set=root 34bcefbc-4e41-4130-b7e9-0180488b4e75
fi
echo ‘Loading Linux 4.19.0-kali3-amd64 …’
linux /boot/vmlinuz-4.19.0-kali3-amd64 root=UUID=34bcefbc-4e41-4130-b7e9-0180488b4e75 ro initrd=/install/gtk/initrd.gz quiet
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-4.19.0-kali3-amd64
}
menuentry ‘Kali GNU/Linux, with Linux 4.19.0-kali3-amd64 (recovery mode)’ --class kali --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-4.19.0-kali3-amd64-recovery-34bcefbc-4e41-4130-b7e9-0180488b4e75’ {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root=‘hd0,msdos5’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 34bcefbc-4e41-4130-b7e9-0180488b4e75
else
search --no-floppy --fs-uuid --set=root 34bcefbc-4e41-4130-b7e9-0180488b4e75
fi
echo ‘Loading Linux 4.19.0-kali3-amd64 …’
linux /boot/vmlinuz-4.19.0-kali3-amd64 root=UUID=34bcefbc-4e41-4130-b7e9-0180488b4e75 ro single initrd=/install/gtk/initrd.gz
echo ‘Loading initial ramdisk …’
initrd /boot/initrd.img-4.19.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

menuentry ‘Windows 10 (on /dev/sda1)’ --class windows --class os $menuentry_id_option ‘osprober-chain-B6C09986C0994E0D’ {
insmod part_msdos
insmod ntfs
set root=‘hd0,msdos1’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 B6C09986C0994E0D
else
search --no-floppy --fs-uuid --set=root B6C09986C0994E0D
fi
parttool {root} hidden- drivemap -s (hd0) {root}
chainloader +1
}
menuentry ‘Manjaro Linux (18.0.4) (on /dev/sda2)’ --class manjarolinux --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-simple-60fbe4f3-3861-47ce-8d83-6dd65b1f32df’ {
insmod part_msdos
insmod ext2
set root=‘hd0,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
else
search --no-floppy --fs-uuid --set=root 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
fi
linux /boot/vmlinuz-4.19-x86_64 root=UUID=60fbe4f3-3861-47ce-8d83-6dd65b1f32df rw quiet
initrd /boot/intel-ucode.img
}
submenu ‘Advanced options for Manjaro Linux (18.0.4) (on /dev/sda2)’ $menuentry_id_option ‘osprober-gnulinux-advanced-60fbe4f3-3861-47ce-8d83-6dd65b1f32df’ {
menuentry ‘Manjaro Linux (on /dev/sda2)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-4.19-x86_64–60fbe4f3-3861-47ce-8d83-6dd65b1f32df’ {
insmod part_msdos
insmod ext2
set root=‘hd0,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
else
search --no-floppy --fs-uuid --set=root 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
fi
linux /boot/vmlinuz-4.19-x86_64 root=UUID=60fbe4f3-3861-47ce-8d83-6dd65b1f32df rw quiet
initrd /boot/intel-ucode.img
}
menuentry ‘Manjaro Linux (Kernel 4.19.32-1-MANJARO x64) (on /dev/sda2)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-4.19-x86_64–60fbe4f3-3861-47ce-8d83-6dd65b1f32df’ {
insmod part_msdos
insmod ext2
set root=‘hd0,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
else
search --no-floppy --fs-uuid --set=root 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
fi
linux /boot/vmlinuz-4.19-x86_64 root=UUID=60fbe4f3-3861-47ce-8d83-6dd65b1f32df rw quiet
initrd /boot/intel-ucode.img
}
menuentry ‘Manjaro Linux (Kernel 4.19.32-1-MANJARO x64 - fallback initramfs) (on /dev/sda2)’ --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-/boot/vmlinuz-4.19-x86_64–60fbe4f3-3861-47ce-8d83-6dd65b1f32df’ {
insmod part_msdos
insmod ext2
set root=‘hd0,msdos2’
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
else
search --no-floppy --fs-uuid --set=root 60fbe4f3-3861-47ce-8d83-6dd65b1f32df
fi
linux /boot/vmlinuz-4.19-x86_64 root=UUID=60fbe4f3-3861-47ce-8d83-6dd65b1f32df rw quiet
initrd /boot/initramfs-4.19-x86_64-fallback.img
}
}

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

By listing of /boot you mean just the contents?
/fonts
/386-pc
/locale
grub.cfg
grubenv
unicode.pf2

grub.txt (11.5 KB)

2 Likes

I don’t use GRUB, so I might be wrong, but I didn’t see an initramfs image passed to the manjaro entry. (only the fallback one)

Also it would be better to post the text in the post instead of a file.

```
text here
```

becomes

text here

and just hide it with

details tag
[details="details tag"]
like this
[/details]

Yes, but this seems like where the grub lives, could you list the manjaro boot? Like where the linux image is.


@AnotherDev how does one GRUB? Haven’t used it in like forever. Let alone triple boot.

1 Like

Updated my post per your suggestions. Thank you.

Manjaro /boot ::
/grub
/memtest86+
initramfs-4.19-x86_64-fallback.img
initramfs-4.19-x86_64.img
intel-ucode.img
linux419-x86)64.kver
vmlinuz-4.19-x86_64

Do you need the contents of either of those initramfs images? If so, which?

1 Like

your grub.cfg has entry for manjaro fallback with:
initrd /boot/initramfs-4.19-x86_64-fallback.img

but regular entry doesn’t have
initrd /boot/initramfs-4.19-x86_64.img

I think that might be the problem. Now again, I don’t use GRUB, so I don’t remember where to edit the cfg, since it’s generated. But , I think, you’d need to add that entry to the kernel parameters.

3 Likes

Thanks for the insight and nudge in the right direction!

Issue resolved.

Basically I copied and pasted the entries from Manjaro boot/grub.cfg referencing booting Manjaro over into the Kali boot/grub.cfg, replacing just that specific section in the Kali file. Everything between ::

menuentry ‘Manjaro Linux (18.0.4) (on /dev/sda2)’ --class manjarolinux --class gnu-linux --class gnu --class os $menuentry_id_option ‘osprober-gnulinux-simple-60fbe4f3-3861-47ce-8d83-6dd65b1f32df’ {

through

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

Manjaro, Kali, and Windows are coexisting peacefully and booting well again.

Really appreciate your help!

Now I’m off to read up on what initramfs is and does, so I can better understand the fix.

3 Likes