Don Faulkner Asked: 2010-08-08 20:43:13 +0800 CST2010-08-08 20:43:13 +0800 CST 2010-08-08 20:43:13 +0800 CST 将 USB 磁盘挂载到永久位置 772 我有一个 USB 硬盘,我想在启动时安装在特定位置。即使没有人登录,我如何才能使该驱动器挂载并保持可用(例如本地备份等)? 似乎 udev 或类似的东西抓住了磁盘。如果我在 /etc/fstab 中添加一个条目来尝试专门挂载该磁盘(通过 UUID),那么该挂载过程和 udev 挂载过程似乎最终会相互争斗,并且磁盘没有被挂载。 fstab mount usb-drive 2 个回答 Voted Best Answer Li Lo 2010-08-17T09:16:43+08:002010-08-17T09:16:43+08:00 使用 udev 挂载磁盘。将此wiki中的规则放入/etc/udev/user.rules并重新启动(或重新连接 USB 硬盘)。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 在做什么。 dv3500ea 2010-08-08T21:28:07+08:002010-08-08T21:28:07+08:00 您可以尝试通过 /dev/... 而不是 UUID 来引用它。它很可能是 /dev/sdb*,您可以通过转到系统 -> 管理 -> 系统监视器并单击“文件系统”选项卡来检查它。您需要先插入 USB 驱动器并让它自动挂载。将“UUID=uuid”替换为 /etc/fstab 中的“/dev/sdb*”。在编辑之前备份 fstab 总是一个好主意。
使用 udev 挂载磁盘。将此wiki中的规则放入
/etc/udev/user.rules
并重新启动(或重新连接 USB 硬盘)。wiki 中有几个规则的优点(这就是为什么我没有在这里列出它们),选择最适合您需要的一个(例如,您需要一个特定的普通用户才能卸载它)。细读
/lib/udev/rules.d/80-udisks.rules
将帮助您了解 udev 对您的硬盘做了什么。除了我上面提到的 udev 规则之外,我认为您还可以采取另一种方法:指示 udisk(通过 udev)不理会您的磁盘,然后通过 fstab 挂载它。
此代码适用于我的系统
但是通用的,包括所有分区。为了能够针对您的特定硬盘/分区使用
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 驱动器并让它自动挂载。将“UUID=uuid”替换为 /etc/fstab 中的“/dev/sdb*”。在编辑之前备份 fstab 总是一个好主意。