Hi guys,
I can't get my Grub bootup fixed and keep landing in emergency shell of grub (not the grub rescue). And after manual boot even update-grub2 or grub-mkconfig doesn't help.
I summarize the error cause:
I use a LVM Multi boot system with UEFI, without Windows, no disk encryption, no secure boot, no (super) fast boot, and i installed Zorin17 /boot (you need separated /boot partition with LVM) on my last open partition with a size of 384 MB - what's too small for the new kernel update to 6.5.0-14 and cause a failure.
So i backup the Zorin17-boot and my manjaro-boot, than i format my Manjaro /boot partition and copy all /boot-Zorin files to the old (formated) 512MB /boot.
Afterwards i change the UUID in my /etc/fstab /boot mountpoint to the new one.
Than i format the old (too small) Zorin-boot and replaced it with the Manjaro boot files and edit Manjaros fstab.
Than i check the mountpoint and go for a second update after the failed with sudo apt -y autoremove && sudo apt update && sudo apt -y full-upgrade
with no Errors this time.
Now i reboot (and yes i don't change grub.cfg or update them manually). I land in a emergency shell of grub.
I use this commands to leave them:
set root=(hd0,gpt5)
linux /vmlinuz root=/dev/mapper/vglinux-zorin17
initrd /initrd.img
boot
Cause LVM and separate /boot there is the /boot as root and not /boot/vmlinuz etc. Vglinux is name of the VG and zorin17 of the LVM.
After im back in Zorin i go for sudo update-grub2 and reboot and again the grub-rescue greets me. Efibootmgr show me 1x Bootoption other than Harddrive or CD "Ubuntu" and as reminder before i had ubu-budgie as bootloader (Manjaro had no bootloader installed and evrything got startet from ubu bootloader) With Zorin17 i opt for the Zorin bootloader and i disable the Grub menue timer, so i don't show up (that work before) but cause no fast boot i can enter BIOS.
Can you help me please guys? I don't wonna mess with no real plan.
My grub.cfg is below (after grub2-update with the correct UUID at least under Zorin menue entry for the /boot). And i only change manually to the symbolic links.
Grub.cfg without multi-boot entry or sub-menues (cause length)
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 [ "${initrdfail}" = 2 ]; then
set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
set next_entry="${prev_entry}"
set prev_entry=
save_env prev_entry
if [ "${next_entry}" ]; then
set initrdfail=2
fi
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 initrdfail {
if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
if [ -z "${initrdfail}" ]; then
set initrdfail=1
if [ -n "${boot_once}" ]; then
set prev_entry="${default}"
save_env prev_entry
fi
fi
save_env initrdfail
fi; fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; 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 lvm
insmod ext2
set root='lvmid/BP64BN-bNs3-euGM-NeaD-3Xm3-HSUj-hKysrR/ALHVs8-RTM1-bQpy-xw8r-hl4U-xhqc-ck6Z5n'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/BP64BN-bNs3-euGM-NeaD-3Xm3-HSUj-hKysrR/ALHVs8-RTM1-bQpy-xw8r-hl4U-xhqc-ck6Z5n' f398aac2-99d1-4fcd-8b82-74a8cd1ce68d
else
search --no-floppy --fs-uuid --set=root f398aac2-99d1-4fcd-8b82-74a8cd1ce68d
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=de_DE
insmod gettext
fi
terminal_output gfxterm
insmod part_gpt
insmod lvm
insmod ext2
set root='lvmid/BP64BN-bNs3-euGM-NeaD-3Xm3-HSUj-hKysrR/ALHVs8-RTM1-bQpy-xw8r-hl4U-xhqc-ck6Z5n'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='lvmid/BP64BN-bNs3-euGM-NeaD-3Xm3-HSUj-hKysrR/ALHVs8-RTM1-bQpy-xw8r-hl4U-xhqc-ck6Z5n' f398aac2-99d1-4fcd-8b82-74a8cd1ce68d
else
search --no-floppy --fs-uuid --set=root f398aac2-99d1-4fcd-8b82-74a8cd1ce68d
fi
insmod gfxmenu
insmod png
set theme=($root)/usr/share/grub/themes/zorin/theme.txt
export theme
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=0
Fallback hidden-timeout code in case the timeout_style feature is
unavailable.
elif sleep --interruptible 0 ; then
set timeout=0
fi
fi
END /etc/grub.d/00_header
BEGIN /etc/grub.d/05_debian_theme
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 0,0,0; then
clear
fi
END /etc/grub.d/05_debian_theme
BEGIN /etc/grub.d/10_linux
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if [ ${grub_platform} != pc ]; then
set linux_gfx_mode=keep
elif hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Zorin' --class zorin --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f398aac2-99d1-4fcd-8b82-74a8cd1ce68d' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 b924a3eb-3b4a-437b-a924-dc94a708ba5b
else
search --no-floppy --fs-uuid --set=root b924a3eb-3b4a-437b-a924-dc94a708ba5b
fi
linux /vmlinuz root=/dev/mapper/vglinux-zorin17 ro quiet splash $vt_handoff
initrd /initrd.img
}
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/35_fwupd
END /etc/grub.d/35_fwupd
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