Want to view contents of /boot/efi/ in Xubuntu and don't have permissions
I'd like to collect some information from the comments, and add more information, in a formal answer:
- rEFInd's main configuration file is
refind.conf
. It exists in the same directory as the rEFInd EFI binary, which is normallyrefind_x64.efi
(or variants for non-AMD64 architectures; orbootx64.efi
or variants if it's installed using the fallback filename). This configuration file will normally be/boot/efi/EFI/refind/refind.conf
, or sometimes/boot/efi/EFI/BOOT/refind.conf
, from Ubuntu. - In Ubuntu, the default location for rEFInd is
/boot/efi/EFI/refind
; however,/boot/efi/EFI/BOOT
is the fallback location, which is used when installing rEFInd to a USB flash drive, if the installation script runs in BIOS mode, or ifmvrefind
is used to move rEFInd to the fallback filename. The fallback filename is used if the EFI's NVRAM-based variables don't exist or if they all point to non-existent boot loaders or boot loaders that fail. In theory, rEFInd can be installed anywhere on the ESP, so it could exist in other oddball locations. - Because the EFI System Partition (ESP) can be mounted at different locations in different OSes, the rEFInd documentation generally refers to files without specifying a mount point. In this context, rEFInd is installed in
EFI/refind
orEFI/BOOT
; you'd add the standard Ubuntu ESP mount point of/boot/efi/
to the start of these values to get/boot/efi/EFI/refind
or/boot/efi/EFI/BOOT
. - The rEFInd binary and configuration file are stored on the ESP, which is a FAT partition. FAT does not support Unix-style ownership or permissions, but because Linux requires these features, they're faked in a crude way by mount options, which are typically specified in
/etc/fstab
. See this question and its answers for an introduction to how this is done. - FAT is a case-insensitive filesystem. Since the ESP is mounted at
/boot/efi
, that means that any directory or filename component after that point is case-insensitive. Thus,/boot/efi/EFI/refind
is equivalent to/boot/efi/efi/rEFInd
; but these two are not equivalent to/boot/EFI/EFI/refind
, since/boot/efi
is normally on a Linux-native filesystem like ext4fs, and Linux-native filesystems are case-sensitive. - The green text in
ls
listings identifies executable files. Files on an ESP are not normally executable in Linux, although rEFInd and other EFI binaries are executable in EFI. Ubuntu mounts the ESP in such a way that all files appear to be executable. I suspect that's because the executable bit does double duty as a way to identify directories that can be searched/entered, so it's required to make directories useful. The easy thing to do is to ignore this. If you're annoyed by it, you can edit the mount options in/etc/fstab
, using separatedmask
andfmask
options, which set directory and file permissions separately, rather than a singleumask
option, that applies to both directories and files. - See this question and its answers for more on color coding in
ls
listings. Note that you can get more detailed information on individual files' permissions and ownership by doing long listings, as inls -l ~/foo
; however, on a FAT partition, all files will have identical ownership, and permissions will be identical with the possible exception of write permission being denied on some files. (Directories might or might not have identical permissions, depending on the mount options.) - Recent versions of Ubuntu have set rather restrictive permissions on access to the ESP because it's such a critical partition; an ordinary user should not be able to modify its contents because the boot loaders it contains are required to boot the OS. Indeed, there's little reason for ordinary users to even see what's on that partition, and knowing settings in files like
refind.conf
could conceivably be a security threat, particularly on a multi-user computer. To access this partition, you can usesudo
, as insudo ls /boot/efi/EFI/refind
. If you're not so concerned with security, you can edit/etc/fstab
to give yourself greater access to the partition; but even then, I strongly recommend against giving universal read/write access to it. The risk of accidentally trashing a directory is too great. - If you do change mount options in
/etc/fstab
, you can unmount the ESP (withsudo umount /boot/efi
), make the changes, and then re-mount the ESP (withsudo mount -a
).