那么,在完全不了解 Linux 语法的情况下,我该如何设置权限才能查看和编辑文件/boot/efi/
夹内的某个文件?
该文件是refind.conf
- 是重新引导操作系统选择器应用程序的配置文件。
答案1
我想从评论中收集一些信息,并在正式答复中添加更多信息:
- rEFInd 的主配置文件是
refind.conf
。它与 rEFInd EFI 二进制文件位于同一目录中,后者通常是refind_x64.efi
(或非 AMD64 架构的变体;或bootx64.efi
使用后备文件名安装的变体)。此配置文件通常是/boot/efi/EFI/refind/refind.conf
,有时是/boot/efi/EFI/BOOT/refind.conf
,来自 Ubuntu。 - 在 Ubuntu 中,rEFInd 的默认位置是;
/boot/efi/EFI/refind
但是,/boot/efi/EFI/BOOT
倒退位置,用于将 rEFInd 安装到 USB 闪存驱动器时、安装脚本在 BIOS 模式下运行或用于mvrefind
将 rEFInd 移动到备用文件名时。如果 EFI 的基于 NVRAM 的变量不存在,或者它们都指向不存在的引导加载程序或失败的引导加载程序,则使用备用文件名。理论上,rEFInd 可以安装在 ESP 上的任何位置,因此它可以存在于其他奇怪的位置。 - 因为EFI 系统分区 (ESP)可以安装在不同的操作系统的不同位置,rEFInd 文档通常指未指定挂载点的文件。在此上下文中,rEFInd 安装在
EFI/refind
或 中EFI/BOOT
;您需要将 的标准 Ubuntu ESP 挂载点添加/boot/efi/
到这些值的开头以获取/boot/efi/EFI/refind
或/boot/efi/EFI/BOOT
。 - rEFInd 二进制文件和配置文件存储在 ESP 上,这是一个 FAT 分区。FAT 不支持 Unix 风格的所有权或权限,但由于 Linux 需要这些功能,因此它们以粗暴的方式通过挂载选项伪造,这些选项通常在 中指定
/etc/fstab
。请参阅这个问题及其答案了解具体操作方法。 - FAT 是不区分大小写的文件系统。由于 ESP 安装在
/boot/efi
,这意味着该点之后的任何目录或文件名组件都不区分大小写。因此,/boot/efi/EFI/refind
相当于/boot/efi/efi/rEFInd
;但这两个是不是相当于/boot/EFI/EFI/refind
,因为/boot/efi
通常在 Linux 原生文件系统(如 ext4fs)上,并且 Linux 原生文件系统区分大小写。 - 列表中的绿色文本
ls
表示可执行文件。ESP 上的文件通常不可执行在 Linux 中,尽管 rEFInd 和其他 EFI 二进制文件是可执行的在 EFI 中。Ubuntu 以这样一种方式挂载 ESP,即所有文件看起来都是可执行的。我怀疑这是因为可执行位兼作识别可搜索/输入目录的方式,因此它是使目录有用的必需品。最简单的做法是忽略这一点。如果您对此感到厌烦,您可以编辑 中的挂载选项/etc/fstab
,使用单独的dmask
和fmask
选项,分别设置目录和文件权限,而不是一个umask
适用于目录和文件的选项。 - 看这个问题及其答案有关列表中颜色编码的更多信息
ls
。请注意,您可以通过执行长列表来获取有关各个文件的权限和所有权的更多详细信息,例如ls -l ~/foo
;但是,在 FAT 分区上,所有文件都具有相同的所有权,并且权限也将相同,但某些文件的写入权限可能被拒绝。(目录可能有也可能没有相同的权限,具体取决于安装选项。) - Ubuntu 的最新版本对 ESP 的访问设置了相当严格的权限,因为它是一个非常关键的分区;普通用户不应该能够修改其内容,因为它包含的引导加载程序是启动操作系统所必需的。事实上,普通用户根本没有理由查看该分区上的内容,并且了解文件中的设置
refind.conf
可能会带来安全威胁,尤其是在多用户计算机上。要访问此分区,您可以使用sudo
,如sudo ls /boot/efi/EFI/refind
。如果您不太关心安全性,您可以编辑/etc/fstab
以授予自己对该分区的更大访问权限;但即便如此,我强烈建议不要授予对该分区的通用读/写访问权限。意外破坏目录的风险太大了。 - 如果您确实更改了 中的挂载选项
/etc/fstab
,则可以卸载 ESP(使用sudo umount /boot/efi
),进行更改,然后重新挂载 ESP(使用sudo mount -a
)。