1

when I run efibootmgr command:

efibootmgr --create --disk /dev/sdb --part 1 --loader /EFI/syslinux/syslinux.efi --label "Syslinux" --unicode

I get this error:

EFI variables are not supported on this system.

when I try to load the module efivarfs, I get following error:

modprobe efivarfs
modprobe: ERROR: could not insert 'efivarfs': No such device

I am using self compile kernel, and i do have efivarfs support:

CONFIG_EFIVAR_FS=m

so why can't I load the module ?

I am using kernel 6.1.45 on Debian 12

UPDATE:

I have just tested on Debian Live-CD booted system, and I get the same error:

modprobe efivarfs 
modprobe: ERROR: could not insert 'efivarfs': No such device
1
  • 1
    are you booting UEFI or Legacy mode? what is the output of sudo efibootmgr Commented Aug 16, 2023 at 6:28

1 Answer 1

2

If you've booted in Legacy BIOS compatibility mode, the firmware cannot make UEFI runtime services available to the running OS, and so UEFI variables cannot be manipulated. In this situation, the Linux kernel will not present a /sys/firmware/efi/ directory at all, and so efivarfs cannot be mounted, as the kernel module fails to communicate with the firmware's UEFI runtime services.

Most modern installation and Live-CDs are prepared to be bootable both in legacy and UEFI modes, so you'll have to be really careful to boot from external media in UEFI mode if your system has the BIOS compatibility support module (CSM) module enabled.

The writer of the system firmware can decide whether the system will prefer legacy or UEFI-style boot, or make it selectable in the BIOS settings. Unfortunately the user interface to these settings is not standardized - each vendor can do it differently.

Generally, when starting to install the first operating system to a new computer, you should decide whether to use UEFI or legacy BIOS, and if possible, adjust the BIOS settings to allow that boot mode only. Completely excluding the "wrong" boot mode makes it easier to avoid mistakes.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .