查找 SD 卡的唯一标识符

查找 SD 卡的唯一标识符

我有数十张 SD 卡,需要为项目进行跟踪。现在,他们每个人都有一个用永久性记号笔写在外面的数字。这没问题,但我想看看每张 SD 卡中是否内置了一些可以记录的独特内容。到目前为止我知道:

  • SD 卡的 CID,通常(并不总是???)包含一个唯一的序列号。我找不到在 Fedora 21 中从 SD 卡读取此信息的直接方法。有些页面说,除非您有直接连接到 PCI 总线(而不是通过 USB)的读卡器,否则您看不到 CID。
  • 卷/分区序列号。这可能工作,但我知道每次重新格式化卡时都会发生变化,这是我们不时做的事情。所以这不是一个好的选择。
  • 只是用我自己独特的命名系统标记 SD 卡卷。这太容易改变了,我还不如坚持把数字写在外面。

所以,我想我的问题是:

  1. 在 Fedora 21 或其他 GNU/Linux 发行版中,有没有一种方法可以可靠地读取 SD 卡上的 CID,以通过 USB 读卡器获取序列号?
  2. 如果没有,是否有其他方法可以使用 SD 卡或其他系统中现有的唯一标识符来唯一标识 SD 卡?

答案1

根据@ humanityAndpeace 评论,寻找CID可能是一个解决方案,但似乎你无法从所有 SD 卡中获取它。至少我测试过的一个是这样。查看更多文档这里

这个想法是从以下位置获取信息/sys/block/<yourBlockDevice>/device/cid

笔记:插入后即可<yourBlockDevice>读取sudo dmesg

答案2

blkid(8) 可能就是您正在寻找的。它将给出每个设备的 UUID。

对于 vfat,可以使用 mtools 应用程序 mlabel(1) 设置 UUID。

对于 ext2、ext3 和 ext4,可以使用 e2label(8) 设置 UUID。

因此,如果您不时重新格式化,只需根据需要将 UUID 设置为与之前相同的值即可。

不能说其他读卡器,但我通过 USB 端口使用的读卡器会通过 SD 卡的 UUID。

相关内容