Don*_*ner 13 usb-drive fstab mount
我有一个 USB 硬盘,我想在启动时安装在特定位置。即使没有人登录,我如何才能安装该驱动器并保持可用(例如本地备份等)?
似乎 udev 或类似的东西抓住了磁盘。如果我在 /etc/fstab 中放置一个条目来尝试专门挂载此磁盘(通过 UUID),那么该挂载进程和 udev 挂载进程似乎最终会相互争斗,并且该磁盘不会被挂载。
使用 udev 挂载磁盘。将来自此 wiki的规则放入/etc/udev/user.rules并重新启动(或重新连接 USB HDD)。wiki 中有几个规则的好处(这就是我没有在这里列出它们的原因),选择最适合您需要的规则(例如,您需要特定的普通用户才能卸载它)。
仔细阅读/lib/udev/rules.d/80-udisks.rules将帮助您了解 udev 对您的硬盘做了什么。
除了我上面提到的 udev 规则之外,我认为您还可以采用另一种方法:指示 udisks(通过 udev)不要管您的磁盘,然后通过 fstab 挂载它。
此代码适用于我的系统
ACTION!="add|change", GOTO="my_udisks_end"
SUBSYSTEM!="block", GOTO="my_udisks_end"
ENV{ID_TYPE}!="disk", GOTO="my_udisks_end"
ENV{ID_BUS}!="ata", GOTO="my_udisks_end"
ENV{DEVTYPE}!="partition", GOTO="my_udisks_end"
KERNEL=="sd*|hd*", ENV{UDISKS_PRESENTATION_NOPOLICY}="1"
LABEL="my_udisks_end"
Run Code Online (Sandbox Code Playgroud)
但是通用的,包括所有分区。为了能够针对您的特定硬盘/分区使用udevadm info --query=all -n /dev/sdX,然后匹配 udev 规则中的某些特定属性。
在这方面帮助您的一个很好的资源是编写 udev 规则。不幸的是,它包含一些过时的信息(udevinfo已被 替换udevadm indo)。不过,我向您保证,这是值得一读的——udev 是当今架构的核心部分,您可以通过使用它来完成很多工作。它也非常灵活。
在 udev 规则中也很容易出错:)。用于udevadm test $(udevadm info -q path -n /dev/sdX)“窥视”udev 在做什么。