I am trying to install Linux (Fedora KDE spin specifically, but this problem is probably not distribution related) on an older Acer Switch 3 (SW312-31P) tablet. The installation always fails when trying to setup grub with “failed to set new efi boot target”. Grub shows up when I boot the device, however only UEFI fimware setting is present in the GRUB menu. I repartitioned the whole internal drive as GPT added ext4 partition to be mounted at /, swap partition and FAT32 EFI partition to be mounted at /boot/efi and even told the Fedora installer to reformat it as EFI, however the result is still the same. I think the problem lies somewhere within the EFI firmware of the device itself, because when I run

sudo efibootmgr -v

I get this result:

Skipping unreadable variable "Boot0000": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
Skipping unreadable variable "Boot0001": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
Skipping unreadable variable "Boot0002": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
Skipping unreadable variable "Boot0003": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
Skipping unreadable variable "Boot0005": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
Skipping unreadable variable "Boot2001": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
Skipping unreadable variable "Boot2002": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
Skipping unreadable variable "Boot2003": Input/output error
error trace:
 efivarfs.c:271 efivarfs_get_variable(): read failed: Input/output error
 lib.c:140 efi_get_variable(): ops->get_variable failed: Input/output error
show_order(): Input/output error

Does anyone know what does this mean? I tryed asking Generative AIs, however they would usually advice me to remove faulty entries with some command that wouldn’t work (usually using the efivar utility which would at least list all the variables without throwing an error).

I tryed using the “load optimized defaults” option in UEFI settings. That didn’t help. I have secure boot disabled.

On start grub prints out “checking media [fail]” before showing boot options.

  • FrameXXOP
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    4 hours ago

    I added EFI label to the EFI partition. At least it shows that tag in gparted.

    • tychosmoose@lemm.ee
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      4 hours ago

      Huh. I wonder why blkid isn’t showing the SSD.

      So, if you did label it EFI, there’s a chance the firmware doesn’t like that. A bug in their firmware makes them unable to find the EFI partition when it is labeled EFI. You might try clearing the label and then reboot and try efibootmgr -v again.

      Edit: Maybe related to this? https://askubuntu.com/a/676384

      If you’re not sure whether it does have a label, maybe try: lsblk -o name,label,size,uuid

      • FrameXXOP
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        I removed the label using gparted and then confirmed the changes and rebooted, however the results are still the same. I am now testing the solution in the askubuntu thread you shared.