如何通过物理路径识别我的设备?

如何通过物理路径识别我的设备?

我正在创建一台可以操作硬盘的计算机。

我希望通过插入硬盘的插槽而不是插入硬盘的顺序来识别硬盘。我知道 Ubuntu (Linux/Udev) 曾经有一个“按路径”排序文件夹,用于永久设备命名。但它已被删除,原因我不太明白。

我正在寻求帮助,希望能够重新创建一种方法来识别物理路径,从而识别我插入硬盘的插槽。我认为通过 udev 规则应该可以实现,但我不知道它们是如何工作的。

答案1

ATA 设备的旁路已被删除,因为同一设备可能有多个不同的旁路名称。

有几个选项可以获取物理路径,包括阅读/sys/block/、询问blkid、查询udevadm或查询udisks

如果您想要一个具有可安装文件系统的块设备列表,并且不想使用任何额外的库,那么最简单的方法可能是:

udevadm trigger --dry-run --verbose --property-match=ID_FS_USAGE=filesystem

(这不需要任何 root 权限)。如果您想要所有块设备,那么

udevadm trigger --dry-run --verbose --subsystem-match=block

将给出一个列表,包括设备映射器(以及环回等...)。

来源:错误 #1193705

相关内容