I recently installed Fedora on my system as a toy. As usual, my grub setup was replaced with a configuration that didn’t have openSUSE as the first OS. I decided to use efibootmgr to fix it.
efibootmgr gave me the following error message.
localhost:/boot # efibootmgr
EFI variables are not supported on this system.
localhost:/boot #
I verified that all systems have /boot/efi mounted.
Os-probler gives me the following:
99.440986 | DM multipath kernel driver not loaded
/dev/sda2:Ubuntu 24.10 (24.10):Ubuntu:linux
/dev/sdb1:Ubuntu 24.04.2 LTS (24.04):Ubuntu:linux
/dev/sdb6:Fedora Linux 42 (KDE Plasma Desktop Edition):Fedora:linux
I don’t see how to fix this problem.
Any advice on how to fix this?
This means the current boot was not done in UEFI mode. UEFI boot repairs and analysis must be done booted in UEFI mode, including running efibootmgr
.
I don’t know how to go about making these repairs. Any thoughts on how to do this?
Start by booting something in UEFI mode to run efibootmgr as a diagnostic tool. It’s possible it is all you need to use to fix this.
Check whether Fedora was installed using the same bootloader as TW. It may be using systemd-boot rather than grub-efi, or vice-versa.
Google suggested the following:
localhost:/home/jc # bootctl status
systemd-boot not installed in ESP.
System:
Not booted with EFI
Available Boot Loaders on ESP:
ESP: /boot/efi (/dev/disk/by-partuuid/434be06a-6729-4f0a-9a44-715d71d72afb)
File: ├─/EFI/BOOT/bootx64.efi
├─/EFI/BOOT/fallback.efi
├─/EFI/BOOT/MokManager.efi
├─/EFI/BOOT/fbx64.efi
├─/EFI/BOOT/mmx64.efi
├─/EFI/BOOT/bkpbootx64.efi
├─/EFI/BOOT/grubx64.efi
├─/EFI/BOOT/BOOTIA32.EFI
└─/EFI/BOOT/fbia32.efi
Boot Loader Entries:
$BOOT: /boot/efi (/dev/disk/by-partuuid/434be06a-6729-4f0a-9a44-715d71d72afb)
token: opensuse-tumbleweed
0 entries, no entry could be determined as default.
localhost:/home/jc #
sbctl was also suggested. It producted the following output:
localhost:/home/jc # sbctl verify
failed to find EFI system partition
ocalhost:/home/jc # sbctl status
system is not booted with UEFI
localhost:/home/jc #
/boot/efi is mounted.
localhost:/home/jc # ls /boot/efi
EFI System mach_kernel
localhost:/home/jc #
So, what’s next?
Best next step is probably to go into UEFI BIOS setup and disable CSM (legacy/MBR) booting, to force booting only in UEFI mode, so that whatever you boot, efibootmgr can do its job.
Also provide here output from lsblk -f <device>
for whichever disk(s) host some operating system, other than USB media.
tree /boot/efi
may also be helpful, as your bootctl status
output seems unexpectedly brief. I would have expected it to have included probably directories ubuntu
, opensuse
& fedora
.
Provide also fstab from TW at least for now…
Here’s the stuff you asked for.
localhost:/home/jc # lsblk -f /dev/sda
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 ext4 1.0 ce1838e6-9c42-4e3e-8793-18c1526b4687 425.2G 7% /
└─sda2 ext4 1.0 kubuntu 1b79294f-617e-4d97-9355-fc220de8676c
localhost:/home/jc #
localhost:/home/jc # lsblk -f /dev/sdb
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb mpath_member
├─sdb1 ext4 1.0 71a71cf4-6347-4e69-881e-b52a0df89857
├─sdb2 vfat FAT32 5E45-BB2C
├─sdb3 ext4 1.0 1213b50b-9a08-4e91-8bda-6498745380b3
├─sdb4 ext4 1.0 93fb1896-6d56-471f-907e-dc475dfe5586
├─sdb5 swap 1 12c32801-de56-4b1a-b4ae-8473649118f9
├─sdb6 ext4 1.0 Fedora d2e174ed-2850-4f4e-9bfb-20e855d9868d
└─WDC_WDS100T2B0B-00YS70_190583800692
├─WDC_WDS100T2B0B-00YS70_190583800692-part1 ext4 1.0 71a71cf4-6347-4e69-881e-b52a0df89857 33G 39% /ubuntu
├─WDC_WDS100T2B0B-00YS70_190583800692-part2 vfat FAT32 5E45-BB2C 1G 3% /boot/efi
├─WDC_WDS100T2B0B-00YS70_190583800692-part3 ext4 1.0 1213b50b-9a08-4e91-8bda-6498745380b3 259.7G 29% /home
├─WDC_WDS100T2B0B-00YS70_190583800692-part4 ext4 1.0 93fb1896-6d56-471f-907e-dc475dfe5586 17.8G 71% /misc
├─WDC_WDS100T2B0B-00YS70_190583800692-part5 swap 1 12c32801-de56-4b1a-b4ae-8473649118f9 [SWAP]
└─WDC_WDS100T2B0B-00YS70_190583800692-part6 ext4 1.0 Fedora d2e174ed-2850-4f4e-9bfb-20e855d9868d
localhost:/home/j
localhost:/home/jc # tree /boot/efi
/boot/efi
├── EFI
│ ├── boot
│ │ ├── BOOTIA32.EFI
│ │ ├── MokManager.efi
│ │ ├── bkpbootx64.efi
│ │ ├── bootx64.efi
│ │ ├── fallback.efi
│ │ ├── fbia32.efi
│ │ ├── fbx64.efi
│ │ ├── grubx64.efi
│ │ └── mmx64.efi
│ ├── fedora
│ │ ├── BOOTIA32.CSV
│ │ ├── BOOTX64.CSV
│ │ ├── gcdia32.efi
│ │ ├── gcdx64.efi
│ │ ├── grubia32.efi
│ │ ├── grubx64.efi
│ │ ├── mmia32.efi
│ │ ├── mmx64.efi
│ │ ├── shim.efi
│ │ ├── shimia32.efi
│ │ └── shimx64.efi
│ ├── opensuse
│ │ ├── MokManager.efi
│ │ ├── boot.csv
│ │ ├── grub.cfg
│ │ ├── grub.efi
│ │ ├── grubx64.efi
│ │ └── shim.efi
│ └── ubuntu
│ ├── BOOTX64.CSV
│ ├── grub.cfg
│ ├── grubx64.efi
│ ├── mmx64.efi
│ └── shimx64.efi
├── System
│ └── Library
│ └── CoreServices
│ └── SystemVersion.plist
└── mach_kernel
9 directories, 33 files
The system would not boot with the CSM disabled.
Try booting TW installation media with CSM disabled, selecting to boot the installed system, to run efibootmgr -v
to paste here. If you can’t make that work, try booting with CSM disabled same media into rescue mode, to run efibootmgr -v
to paste here.
What do you mean by “TW installation media”?
Do You mean a USB installation media?
The installation media I have does not have a rescue mode.
When I boot TW 20250319 installation media (iso installed to USB) in UEFI mode, on selecting “More …” from first screen, top selection (on second screen of selections) is “Rescue System”. When boot finishes, the screen provides:
openSUSE Tumbleweed Rescue System
rescue login:
where I login as root with no password and succeed to run efibootmgr
or efibootmgr -v
.
Behavior and result is same with TW 20250505 on a Ventoy USB.
Best if you can make boot from installed system work, as from rescue mode, command output either needs to be written somewhere for transcription to this forum, or command output needs to be redirected to a file that can be accessed from wherever you run a browser to copy and paste here. If you find you must copy manually you can skip most of the UUID string characters, keeping just the first several characters of each to use for identification. Also you can skip lines referring to USB entries. IOW, save the first three lines of output, plus portions of any Boot…* line that includes opensuse, fedora, windows or ubuntu.