我已经更新了我的嵌入式 Linux,但它udisksctl
不再按预期工作。如果我尝试安装 ext4 格式的闪存驱动器,则会收到以下错误:
root@system:~# udisksctl mount -b /dev/sda1
Error mounting /dev/sda1: GDBus.Error:org.freedesktop.UDisks2.Error.OptionNotPermitted: Mount option `errors=remount-ro' is not allowed
errors=remount-ro
我不知道为什么以及如何强制选择!
如果我尝试使用mount
命令安装它工作得很好:
root@system:~# mount /dev/sda1 /tmp/mydrive
我的问题是,在哪里udisksctl
将 remount-ro 引入游戏中,我如何避免或排除该选项?
我已经看过了,fstab
并没有发现里面有什么有趣的东西。 udisk 在哪里读取这些选项?
答案1
U盘携带一组内置允许众所周知的文件系统类型的挂载选项以及始终传递给挂载命令的相关默认选项集。特别是关于 ext4 文件系统:
ext4_defaults=errors=remount-ro
ext4_allow=errors=remount-ro
这解释了为什么在更高的覆盖级别指定udisksctl mount
该选项时会失败。remount-ro
第一级覆盖由某些 udisks 配置文件提供:mount_options.conf
它的默认位置是/etc/udisks2/mount_options.conf
**
查找以以下内容开头的行ext4_defaults
但我会发现非常令人惊讶的是,在这个特定的 udisks 文件中设置的选项与udisks
内置规则相冲突。所以……魔法很可能来自……第二层也是最高层的覆盖:udev
。
udev 规则还可以覆盖配置文件级别和基本内置挂载选项中的相应键。
规则集的常见位置是/etc/udev/rules.d/
,/lib/udev/rules.d
因此只需解析这些目录以获取某些专门覆盖挂载选项的规则。由于此规则应最后运行,因此关联的文件名可能以 99 为前缀。