# inxi -S System: Host: ab560 Kernel: 6.4.16-200.fc38.x86_64 arch: x86_64 bits: 64 Console: pty pts/1 Distro: Fedora release 39 (Thirty Nine) # rpm -qa | grep grub # grep -w /efi /proc/mounts systemd-1 /efi autofs rw,relatime,fd=52,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=24799 0 0 /dev/nvme0n1p1 /efi vfat rw,nosuid,nodev,noexec,relatime,nosymfollow,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0 # tree /efi/ /efi/ ├── EFI │ ├── BOOT │ │ ├── BOOTX64.EFI │ │ ├── fbx64.efi │ │ ├── grubx64.efi │ │ └── mt74x64.efi │ ├── opensusetw │ │ └── grubx64.efi │ └── tubuntu ├── grub2 │ ├── customAB250-17.cfg │ └── custom.cfg ├── MemTest86.log ├── mt74x64.efi └── mt83x64.efi
11 directories, 10 files # efibootmgr BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001 Boot0000* opensusetw HD(1,GPT,5b33...,0x800,0xa0000)/File(\EFI\OPENSUSETW\GRUBX64.EFI) Boot0001* UEFI OS HD(1,GPT,5b33...,0x800,0xa0000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f # grep -E 'efi|boot|esp' /etc/fstab #LABEL=TM8P01ESP /boot/efi vfat codepage=437 0 0 #
This is a multiboot PC. Only one bootloader is necessary. It isn't Fedora on this one. I noticed existence of /efi/ shortly after last dnf upgrade, looked at its content, thought it must have been an errant backup of some kind, moved the content elsewhere as just-in-case before removing it all, and sure enough, no more booting possible from NVME until after restoring from the backup and recreating the required EFI boot entry.
Why was/is the ESP mounted anywhere when there is/was no fstab entry for it?
Why does /efi/ exist?
I added a new noauto fstab entry for the ESP to a unique location not within /boot/ and deleted /efi/, with the result that it stays unmounted, and /efi/ stays absent.
/efi/ is the default mount of EFI System Partition. Take a look at https://0pointer.net/blog/linux-boot-partitions.html on why mount ESP on /boot/efi should be discouraged.
On 2023-10-04 6:27 p.m., Felix Miata mrmazda@earthlink.net wrote:
# inxi -S System: Host: ab560 Kernel: 6.4.16-200.fc38.x86_64 arch: x86_64 bits: 64 Console: pty pts/1 Distro: Fedora release 39 (Thirty Nine) # rpm -qa | grep grub # grep -w /efi /proc/mounts systemd-1 /efi autofs rw,relatime,fd=52,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=24799 0 0 /dev/nvme0n1p1 /efi vfat rw,nosuid,nodev,noexec,relatime,nosymfollow,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 0 # tree /efi/ /efi/ ├── EFI │ ├── BOOT │ │ ├── BOOTX64.EFI │ │ ├── fbx64.efi │ │ ├── grubx64.efi │ │ └── mt74x64.efi │ ├── opensusetw │ │ └── grubx64.efi │ └── tubuntu ├── grub2 │ ├── customAB250-17.cfg │ └── custom.cfg ├── MemTest86.log ├── mt74x64.efi └── mt83x64.efi
11 directories, 10 files # efibootmgr BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001 Boot0000* opensusetw HD(1,GPT,5b33...,0x800,0xa0000)/File(\EFI\OPENSUSETW\GRUBX64.EFI) Boot0001* UEFI OS HD(1,GPT,5b33...,0x800,0xa0000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f # grep -E 'efi|boot|esp' /etc/fstab #LABEL=TM8P01ESP /boot/efi vfat codepage=437 0 0 #
This is a multiboot PC. Only one bootloader is necessary. It isn't Fedora on this one. I noticed existence of /efi/ shortly after last dnf upgrade, looked at its content, thought it must have been an errant backup of some kind, moved the content elsewhere as just-in-case before removing it all, and sure enough, no more booting possible from NVME until after restoring from the backup and recreating the required EFI boot entry.
Why was/is the ESP mounted anywhere when there is/was no fstab entry for it?
Why does /efi/ exist?
I added a new noauto fstab entry for the ESP to a unique location not within /boot/ and deleted /efi/, with the result that it stays unmounted, and /efi/ stays absent.
On Wed, Oct 4, 2023, at 9:27 PM, Felix Miata wrote:
# inxi -S System: Host: ab560 Kernel: 6.4.16-200.fc38.x86_64 arch: x86_64 bits: 64 Console: pty pts/1 Distro: Fedora release 39 (Thirty Nine) # rpm -qa | grep grub # grep -w /efi /proc/mounts systemd-1 /efi autofs rw,relatime,fd=52,pgrp=1,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=24799 0 0 /dev/nvme0n1p1 /efi vfat
If there isn't an /etc/fstab entry for the ESP, then systemd-auto-generator detects it's an ESP and will mount it on either /boot or /efi on demand (and unmount it after the timeout). If /boot is used in fstab, then /efi is used for the ESP.
I'm pretty sure /efi doesn't exist unless you've (at one time or other) configured sd-boot instead of grub.