After installing a dual boot (Ubuntu mate 16.04.3 + OpenSuse Leap 42.3) last year, I had the bad :sarcastic: idea today to do a ‘sudo apt update && sudo apt upgrade’, which updated a GRUB thing, and overwrite the current boot.
Now Ubuntu Mate become my first boot choice, and Leap 42.3 was move the 4rd place and can’t start :O, the error message (translated from french) is :
error : file “/boot/vmlinuz-4.4.103-36-default” not available.
error : the kernel must first be loaded.
Press a key to continue…
Is there a way to fix this without I have to reinstall Leap 42.3 ? (I already did last year).
You should not need to reinstall. But how to repair depends on how you boot.
For UEFI booting, you should be able to use “efibootmgr” to set the boot order. Or maybe you can do that in your BIOS.
For Legacy booting, one way (not the only way) is to use the supergrub disk to boot into openSUSE. And, once you are booted into openSUSE, run Yast bootloader to update the boot loader (change something such as the delay time, to force a reinstall).
After trying all the menus of SuperGrub2 v2.02s9, the only other error message I can get is “Sorry, but we are booted via UEFI and can not …” :
But UEFI is off in my BIOS (Legacy is enabled). Any other idea ?
Just boot manually. Upstream grub2 (which Ubuntu follows) always accesses btrfs from the “top”, while SUSE grub2 has patches to respect default subvolume. What SUSE grub2 sees as /boot is most likely /@/.snapshots/1/snapshot/boot (could be different if you ever used snapper to revert). If you are using legacy BIOS you could load openSUSE grub2 using
multiboot /@/boot/grub2/i386-pc/core.img
boot
in GRUB CLI. When openSUSE is booted, just reinstall bootloader.