Cannot boot OpenSUSE Tumbleweed

I have dual-boot system, Windoze 10 and OpenSUSE Tumbleweed. I use default install with btfs and grub. Today after adding 4 parameters to kernel in YAST right after partition uuid (nvidia nvidia_modeset=1 nvidia_uvm=1 nvidia_drm=1) and after upgrading a system with sudo zypper dup + upgrading flatpaks in KDE Discover I rebooted, and surprisingly it started to boot Windoze. So I tried to select my linux disk from boot menu, and got an error “Reboot and select proper Boot device or insert boot media in selected Boot device and press a key”.
I cannot boot to my linux in any way and I’m exhausted by trying literally everything I could imagine and not getting any results.
What I’ve already tried:

grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=opensuse --recheck
grub2-mkconfig -o /boot/grub2/grub.cfg
  • using bootrepair and getting error

Please enable a repository containing the [grub2] packages in the software sources of Ubuntu 16.04.1 LTS (sdb8). Then try again

Therefore trying to do that manually as suggested here : Boot repair enable a repository containing grub2 packages - Ask Ubuntu with no success

None of above methodes worked out, I could not get grub to display which is veeeery very weird since reinstalling should make it display. Also, my SSD passed Smart check so it is not broken.

Please at least give me some concept whats wrong, my mind is already blown by this, like…with such problems on Arch it was just the matter of chrooting, removing grub, installing and voila. Thank you in advance

I accidentaly deleted previous topic so I recreate it (btw why there is no confirmation before deletion) with new findings:

  • tried using supergrub to boot and after selecting /efi/boot/bootx64.efi or /EFI/boot/bootx64.efi it is stuck at black screen. Selecting /efi/opensuse/grub.efi launches GRUB shell version 2.12. I am still unable to boot the system :upside_down_face:

I tried again reinstalling grub with this commands: Grub2 reinstallation from rescue system
No luck. Therefore I checked with Gparted and KDE partition manager on live system, that I have 3 partitions on my ssd:

  1. fat32 512MiB with flags boot, esp
  2. btrfs no flags
  3. swap

So I guess flags are set correctly which is different than what an author of that post encountered. I also did check and repair fat32 partition in gparted there was no error.
Did short self-test smart in gnome disks it completed successfully.

Great, no one can help? Reinstall is only left option?
I’d prefer not to, configuring everything again, backing up the whole disk, recovering it etc. come on…

@sussybro and you were using GRUB and not systemd-boot? In the system BIOS is there an option to select a boot menu, in that menu is there openSUSE present?

If you boot from an openSUSE Rescue session (install media(?)) what does the output from efibootmgr -v show?

If nothing, then it should be possible to create a new efi entry for openSUSE with efibootmgr to store into NVRAM, assuming an openSUSE directory is present in /boot/efi.

In the boot menu there is no opensuse option available, just the disk opensuse is installed on.
efibootmgr -v output shows boot order and some binary data, I don’t know what this data mean though and if its correct:

I’m still fighting, tried reformatting boot partition and again reinstalling grub, but I see one weird thing. When I remove boot entries for opensuse and reinstall grub it correctly shows the path to grubx64.efi or shim.efi, BUT after restarting and trying to boot it and again going into rescue shell I can see it changes to that weird 2 boot entries “Hard Drive” and “Unknown Device” which is shown on the image I sent in previous reply. No magician could give a hint? I suspect sth might be wrong with initramfs too (while I don’t know what initramfs is actually), but I tried this link:

dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg

and yeah…no result. Also tried doing zypper dup but no success.

I managed to boot my system finally! I did exactly that:

  1. rescue boot
  2. cp /boot/efi/EFI/opensuse/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
  3. doing grub2-install --removable --target=x86_64-efi --efi-directory=/boot/efi
  4. rebooting and selecting localboot in ventoy (F4)
  5. selecting find and boot BOOTX64.efi
  6. It boots grub rescue shell, where i’ve got error ../../grub-core/kern/disk.c:236:disk ` ,gpt2' not found
  7. I used ls to find my btrfs root partition
  8. then used commands
set root=(hd1,gpt2)/boot/grub2
insmod normal
normal

Now I need to figure out, why uefi cannot find grubx64.efi or bootx64.efi automatically and I have to use ventoy to find it manually.

Looks like I fixed the issue but I’m not sure how :upside_down_face:
Here is a quick summary of what changes exactly I’ve made for future viewers with similar problem:

  • Reformatting a boot partition and reinstalling grub and updating /etc/fstab with new EFI partition UUID (blkid)
mkfs.vfat -F32 /dev/sda1
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=opensuse --recheck
grub2-mkconfig -o /boot/grub2/grub.cfg
  • later I have changed /etc/default/grub kernel parameters (GRUB_CMDLINE_LINUX_DEFAULT) to just nomodeset and reran grub2-mkconfig and
grub2-install --removable --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=opensuse
  • Also I regenerated initramfs with dracut
dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg
  • Finally I managed to boot my system by using method I explained in my previous reply
  • after boot I went into YAST → bootloader tab → selected bootloader Not Managed then changed that instantly back to GRUB2 for EFI and checked/unchecked Update NVRAM Entry
  • After that I rebooted and was able to see opensuse entry in my boot menu and successfully boot.

I think the key role in fixing the issue played proper chrooting into btrfs system.

Additionally here are some links that helped me fix the issue, so they might help you reading that:

https://wiki.archlinux.org/title/GRUB#Default/fallback_boot_path
https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#efibootmgr
https://bbs.archlinux.org/viewtopic.php?id=283707
https://bbs.archlinux.org/viewtopic.php?id=252598

And at the end I’d like to honor myself for solving this puzzle and not losing all the patience. Usually if you encounter such issue just go reinstall the OS, quickest and most certain way to make it work, but be careful to do backup of your data on external media before. Also wanted to appreciate every author of mentioned above links, without these I would just end up wasting a lot of time finally reinstalling OS anyway.

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