OpenSuse Tumbleweed fail to boot

When I turn on my computer, a message appears on the screen that I need a boot device. However, my SSD is fine. I know it because I can boot Windows (from BIOS/UEFI) and also I can boot OpenSuse, but only using a bootable USB stick. (I select an item 'More" from the bootable menu and then “Load system” o something like that). And this is ‘my’ OpenSuse, not just “Live System”. The partitions “/” and “efi” are in place and at first glance are not damaged.
I think that something is wrong with Bootloader. I tried to follow the instructions for x86_64 UEFI systems outlined here Reinstalling GRUB Bootloader from the Rescue System | Support | SUSE but it didn’t work. Maybe I didn’t take something into account. Can you help me?

1 Like

Can you try using the bios opensuse UEFI to boot. See if it is there.
If you are able to boot got to the yast2-bootloader and let it handle the booting config by pressing ok.
See if it will work.

2 Likes

First: Disconnect ANY USB storage device, then try to boot as usually to see if still doesn’t find boot partition.
You wrote you can boot your SSD installed when booting from USB stick but is the installed openSUSE selectable and bootable from UEFI or even is not listed?

Please post input/output here in between two lines each containing only ~~~ from running command parted -l.

I have a dual boot system - Windows 10 and OpenSuse. If I try to start the system in the usual way, a message appears that I need a boot device (or something like that). Also I can’t boot installed OpenSuse directly from UEFI. Because I see only bootable USB stick, Windows bootloader (both of them are marked as UEFI devices), I can see my SSD (not marked as UEFI device), but I don’t see any Linux bootloader.
So I boot from the USB stick and then select the menu item “More” → “Load Linux System” and boot my OpenSuse.

Command parted -l

parted -l
Model: ATA ADATA SU800 (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  538MB   537MB   fat32                                         boot, esp
 2      538MB   66.3GB  65.7GB  ntfs                                          msftdata
 3      66.3GB  66.8GB  557MB   ntfs                                          hidden, diag
 4      66.8GB  66.9GB  16.8MB                  Microsoft reserved partition  msftres
 5      66.9GB  71.6GB  4772MB  linux-swap(v1)                                swap
 6      71.6GB  128GB   56.4GB  ext4

1 is ESP partition, 6 is root partition.

It would appear Windows has ate your bootloader :yum:, it happens, you’re not its first victim. :sweat_smile:
Boot into OpenSuse from the USB drive, open Yast GUI > System > Bootloader and make sure the following options are checked:

  • Boot loader: Grub2 for EFI
  • Update NVRAM entry

In the tab Bootloader options, make sure the following are checked:

  • Probe foreign OS
  • Default boot selection: OpenSuse Tumbleweed
  • Timeout in seconds: 8

Then press OK.

This usually happens after Windows installation, but in my case it happened after the OpenSuse upgrade. All Bootloader options are OK.

The Update NVRAM entry was supposed to re-add the missing boot entry. As an update broke the bootloader, can’t say I’m surprised it did nothing.

Shot in the dark, what is the output of:

efibootmgr
ll /sys/firmware/efi/efivars
efibootmgr
EFI variables are not supported on this system.
ll /sys/firmware/efi/efivars
ls: cannot access '/sys/firmware/efi/efivars': No such file or directory

Okay, we’re onto something here. I have that feeling :face_with_monocle:

So according to TW, you’re not using an EFI capable system. The question is why?

  1. Is your BIOS in legacy mode or UEFI mode?
  2. What’s the output of lsmod | grep efi
    If the efivarfs module is not loaded, you can want to load it with modprobe efivarfs and mount it using mount -t efivarfs none /sys/firmware/efi/efivars.

Then reinstall the bootloader with grub2-install ... or as per the docs:

Also I found an old post by @nrickert that could help you:

This has to be done from a rescue system, same as Suse docs if you’re unable to load/mount efivarfs on the broken system.

1 Like

You have booted your USB in legacy mode.

First question: How did you prepare that USB?

Second question: Is your BIOS set to use UEFI booting?

It looks as if both Windows and openSUSE are set for UEFI booting, but not for UEFI booting.

If you prepared the USB in the recommended way, it should be able to be booted either way (legacy MBR booting or UEFI booting). But you have to use UEFI booting if you want to access EFI variables.

1 Like

I don’t know. Probably something happened to it after the update.

UEFI mode

at first nothing, but then I executed command modprobe efivarfs and now the output is

efivarfs               24576  0

A little later, because so far my PC is being used for some work.

with Suse Studio Imagewriter. Usually it woks fine.

UEFI booting.

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