So, just made my morningly update, with new kernel, yay. Unfortunately the reboot brings me to a violet screen with only one option available (instead of 4): boot to UEFI. Gone are boot into eos, boot into eos backup and boot into btrfs snapshot (from btrfs-grubd). Well… and now? Data is all there, I even managed to update the live environment of cassini (which gets more and more outdated, nothing an update keyring and pacman -Syu cannot solve, but nevertheless…) to get my keepass running and open so I can login here. Reinstall grub? Do something else? I am quite lost currently…
So, I have at least a tiny clue what has happened:
I have two systems currently installed, one are the leftovers of my Manjaro system in which I boot via BIOS selection, the other one is EOS.
Partition scheme:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 1.7G 1 loop /run/archiso/airootfs
sda 8:0 0 476.9G 0 disk
└─sda1 8:1 0 476.9G 0 part
sdb 8:16 0 14.6T 0 disk
├─sdb1 8:17 0 3.8T 0 part
├─sdb2 8:18 0 9.3T 0 part
└─sdb3 8:19 0 1.5T 0 part
sdc 8:32 1 56.3G 0 disk
├─sdc1 8:33 1 56.3G 0 part
│ └─ventoy 254:0 0 1.9G 1 dm /run/archiso/bootmnt
└─sdc2 8:34 1 32M 0 part
nvme0n1 259:0 0 1.8T 0 disk
├─nvme0n1p1 259:1 0 1000M 0 part
└─nvme0n1p2 259:2 0 1.8T 0 part
nvme1n1 259:3 0 1.8T 0 disk
├─nvme1n1p1 259:4 0 500M 0 part
├─nvme1n1p2 259:5 0 320.1G 0 part /run/media/liveuser/home
├─nvme1n1p3 259:6 0 100.1G 0 part /run/media/liveuser/system
└─nvme1n1p4 259:7 0 1.4T 0 part
And when I do look no into my crub-cfg it looks… wrong. Because there is Manjaro stuff in it which was never meant to be, never run os-prober or something similar:
#
# 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_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
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_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
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=5
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 5 ; 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-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
linux /boot/vmlinuz-6.4-x86_64 root=UUID=34de0a60-9721-4d0c-80f4-dc9ecf795fb9 rw quiet udev.log_priority=3
initrd /boot/amd-ucode.img /boot/initramfs-6.4-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
menuentry 'Manjaro Linux (Kernel: 6.4.6-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.6-1-MANJARO x64-advanced-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
linux /boot/vmlinuz-6.4-x86_64 root=UUID=34de0a60-9721-4d0c-80f4-dc9ecf795fb9 rw quiet udev.log_priority=3
initrd /boot/amd-ucode.img /boot/initramfs-6.4-x86_64.img
}
menuentry 'Manjaro Linux (Kernel: 6.4.6-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.6-1-MANJARO x64-fallback-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
linux /boot/vmlinuz-6.4-x86_64 root=UUID=34de0a60-9721-4d0c-80f4-dc9ecf795fb9 rw quiet udev.log_priority=3
initrd /boot/initramfs-6.4-x86_64-fallback.img
}
menuentry 'Manjaro Linux (Kernel: 6.2.16-2-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.2.16-2-MANJARO x64-advanced-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
linux /boot/vmlinuz-6.2-x86_64 root=UUID=34de0a60-9721-4d0c-80f4-dc9ecf795fb9 rw quiet udev.log_priority=3
initrd /boot/amd-ucode.img /boot/initramfs-6.2-x86_64.img
}
menuentry 'Manjaro Linux (Kernel: 6.2.16-2-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.2.16-2-MANJARO x64-fallback-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
linux /boot/vmlinuz-6.2-x86_64 root=UUID=34de0a60-9721-4d0c-80f4-dc9ecf795fb9 rw quiet udev.log_priority=3
initrd /boot/initramfs-6.2-x86_64-fallback.img
}
menuentry 'Manjaro Linux (Kernel: 6.1.41-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.41-1-MANJARO x64-advanced-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
savedefault
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
linux /boot/vmlinuz-6.1-x86_64 root=UUID=34de0a60-9721-4d0c-80f4-dc9ecf795fb9 rw quiet udev.log_priority=3
initrd /boot/amd-ucode.img /boot/initramfs-6.1-x86_64.img
}
menuentry 'Manjaro Linux (Kernel: 6.1.41-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.41-1-MANJARO x64-fallback-34de0a60-9721-4d0c-80f4-dc9ecf795fb9' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
search --no-floppy --fs-uuid --set=root 34de0a60-9721-4d0c-80f4-dc9ecf795fb9
linux /boot/vmlinuz-6.1-x86_64 root=UUID=34de0a60-9721-4d0c-80f4-dc9ecf795fb9 rw quiet udev.log_priority=3
initrd /boot/initramfs-6.1-x86_64-fallback.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
Well… what happened here? How do I get to my old Grub? And how to avoid future occurrences?
Hello, it seems your grub.cfg
got messed up by the update. You can try to repair the GRUB
by arch-chroot
to your currently installed EOS system.
Will try to do so. Btw have I posted the wrong grub.cfg above, this was the old one from Manjaro, the dorrect one is this one:
#
# 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 btrfs
search --no-floppy --fs-uuid --set=root ab5aa1ba-94e9-4c10-8d38-d7f63c007d9a
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_gpt
insmod btrfs
search --no-floppy --fs-uuid --set=root ab5aa1ba-94e9-4c10-8d38-d7f63c007d9a
insmod png
background_image -m stretch /@/usr/share/endeavouros/splash.png
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 ###
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/25_bli ###
if [ "$grub_platform" = "efi" ]; then
insmod bli
fi
### END /etc/grub.d/25_bli ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
if [ "$grub_platform" = "efi" ]; then
fwsetup --is-supported
if [ "$?" = 0 ]; then
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
fwsetup
}
fi
fi
### 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
### END /etc/grub.d/41_custom ###
### BEGIN /etc/grub.d/41_snapshots-btrfs ###
if [ ! -e "${prefix}/grub-btrfs.cfg" ]; then
echo ""
else
submenu 'EndeavourOS snapshots' {
configfile "${prefix}/grub-btrfs.cfg"
}
fi
### END /etc/grub.d/41_snapshots-btrfs ###
But does not matter much, heh? Both a wrong.
While I was trying the archroot thingy some questions arose, due to me being on BtrFS instead of ext4.
To mount what I need for archroot I will do the following:
sudo mount /dev/nvme0n1p2 /mnt
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
Or do I have to mount the rest of the BtrFS filesystems also?
Another question: Can I somehow restore grub.cfg from my auto-generated snapshots (via snapper and pacman hook)?
My fstab looks like this:
UUID=68E1-1935 /boot/efi vfat defaults,noatime 0 2
UUID=ab5aa1ba-94e9-4c10-8d38-d7f63c007d9a / btrfs subvol=/@,defaults,noatime,compress=zstd 0 0
UUID=ab5aa1ba-94e9-4c10-8d38-d7f63c007d9a /home btrfs subvol=/@home,defaults,noatime,compress=zstd 0 0
UUID=ab5aa1ba-94e9-4c10-8d38-d7f63c007d9a /var/cache btrfs subvol=/@cache,defaults,noatime,compress=zstd 0 0
UUID=ab5aa1ba-94e9-4c10-8d38-d7f63c007d9a /var/log btrfs subvol=/@log,defaults,noatime,compress=zstd 0 0
#UUID=ab5aa1ba-94e9-4c10-8d38-d7f63c007d9a /swap btrfs subvol=/@swap,defaults,noatime 0 0
#/swap/swapfile swap swap defaults 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
And sorry to ask everything twice and doublecheck, don’t want to brick my system any further than it is allready is…
For this, the best would be @dalto .
You are more than right:
Will do so!
Unfortunately it ain’t working:
[liveuser@eos-2023.05.28 system]$ sudo mount /dev/nvme0n1p2 /mnt -o subvol=@
[liveuser@eos-2023.05.28 system]$ sudo mount /dev/nvme0n1p1 /mnt/boot/efi
mount: /mnt/boot/efi: unknown filesystem type 'vfat'.
dmesg(1) may have more information after failed mount system call.
[liveuser@eos-2023.05.28 system]$
That is interesting.
What does sudo modprobe vfat
return?
Don’t know and cannot test - I opted for the brute force solution - reinstall whole system. I need it up and running. Got rid of the old Manjaro installation on the way, and will ask further questions regarding BtrFS in “the” BtrFS topic. Thanks to both of you, this thingy here can drop down…