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.

  • Jiří KrálOP
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 month ago

    sda is the USB stick with currently live booted Fedora KDE. mmcblk1 is the internal disk I want to install on.

    Disk /dev/sda: 7.45 GiB, 8002732032 bytes, 15630336 sectors
    Disk model: Cruzer Blade    
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: EB4BE656-6730-46CE-819A-784A2C115F93
    
    Device       Start     End Sectors  Size Type
    /dev/sda1       64 5454691 5454628  2.6G Microsoft basic data
    /dev/sda2  5454692 5480551   25860 12.6M EFI System
    /dev/sda3  5480552 5481151     600  300K Microsoft basic data
    
    
    Disk /dev/mmcblk1: 116.48 GiB, 125069950976 bytes, 244277248 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: C75BAF61-B578-41D5-8C6C-8505ABF109A8
    
    Device           Start       End   Sectors  Size Type
    /dev/mmcblk1p1    2048   1050623   1048576  512M EFI System
    /dev/mmcblk1p2 1050624   9439231   8388608    4G Linux swap
    /dev/mmcblk1p3 9439232 244275199 234835968  112G Linux filesystem
    
    
    Disk /dev/mmcblk1boot0: 4 MiB, 4194304 bytes, 8192 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mmcblk1boot1: 4 MiB, 4194304 bytes, 8192 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/loop0: 2.43 GiB, 2607599616 bytes, 5092968 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/zram0: 3.66 GiB, 3930062848 bytes, 959488 sectors
    Units: sectors of 1 * 4096 = 4096 bytes
    Sector size (logical/physical): 4096 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    

    Here’s blkid output:

    /dev/sda1: BLOCK_SIZE="2048" UUID="2024-10-24-15-05-12-00" LABEL="Fedora-KDE-Live-41-1-4" TYPE="iso9660" PARTLABEL="ISO9660" PARTUUID="eb4be656-6730-46ce-819b-784a2c115f93"
    
      • Jiří KrálOP
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 month 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
          1 month 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

          • Jiří KrálOP
            link
            fedilink
            arrow-up
            1
            ·
            1 month 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.