我有一个USB硬盘,要在引导时和特定位置安装。即使没有人登录,我如何才能使该驱动器挂载并保持可用状态(例如本地备份等)?
似乎udev或类似的东西抢占了磁盘。如果我在/ etc / fstab中放置一个试图专门通过UUID挂载该磁盘的条目,则该挂载进程和udev挂载进程似乎最终陷入了一场争斗,并且磁盘没有被挂载。
我有一个USB硬盘,要在引导时和特定位置安装。即使没有人登录,我如何才能使该驱动器挂载并保持可用状态(例如本地备份等)?
似乎udev或类似的东西抢占了磁盘。如果我在/ etc / fstab中放置一个试图专门通过UUID挂载该磁盘的条目,则该挂载进程和udev挂载进程似乎最终陷入了一场争斗,并且磁盘没有被挂载。
Answers:
使用udev挂载磁盘。将来自此Wiki的规则放入/etc/udev/user.rules
并重新引导(或重新连接USB HDD)。Wiki中有很多规则(这就是为什么我没有在此处列出规则)的原因,请选择最适合您需求的规则(例如,您需要特定的普通用户才能卸载它)。
细读/lib/udev/rules.d/80-udisks.rules
将帮助您了解什么是udev的做给你的硬盘。
除了我上面提到的udev规则外,我认为您还可以采取另一种方法:指示udisk(通过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"
但是通用的,包括所有分区。为了能够针对您的特定硬盘/分区用途udevadm info --query=all -n /dev/sdX
,然后匹配udev规则中的某些特定属性。
编写udev规则是一个很好的资源来帮助您。不幸的是,它包含一些过时的信息(udevinfo
已被替换udevadm indo
)。不过,我向您保证,这是一本值得一读的书-udev是当今架构的核心,您可以通过使用它来完成很多工作。它也很灵活。
在udev规则中容易出错:)。用于udevadm test $(udevadm info -q path -n /dev/sdX)
“窥视” udev在做什么。
您可以尝试通过/ dev / ...而不是UUID引用它。最有可能是/ dev / sdb *,您可以通过转到系统->管理->系统监视器,然后单击“文件系统”选项卡来进行检查。您需要先插入USB驱动器,然后使其自动安装。在/ etc / fstab中将'UUID = uuid'替换为'/ dev / sdb *'。在编辑fstab之前备份它总是一个好主意。
/etc/fstab
吗?插入驱动器时是否有任何日志消息?也许有助于提高中的日志级别/etc/udev/udev.conf
。