查找SD卡的唯一标识符


10

我有许多SD卡需要跟踪一个项目。现在,他们每个人的身体上都有一个永久性标记的数字。可以,但是我想查看每个可记录的SD卡中是否内置了某些独特功能。到目前为止,我知道:

  • SD卡的CID 通常(并非总是???)包括唯一的序列号。我无法在Fedora 21中找到一种简单的方法来读取SD卡上的内容。有些页面说,除非您将读卡器直接连接到PCI总线(而不是通过USB),否则您将看不到CID。
  • 卷/分区序列号。这可能可行,但我知道每次重新格式化卡时都会改变,这是我们不时进行的操作。所以不是一个好的选择。
  • 只需用我自己独特的命名系统标记SD卡的卷即可。这太容易更改了,我不妨坚持在外面写下数字。

所以,我想我的问题是:

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

1
仅供参考:您并不是真的希望回答每个答案。尽管对它们进行了投票/否决,并且如果可以解决您的问题,则将其选为您接受的答案肯定会受到赞赏。
derobert

@derobert理解,谢谢您的信息!
hpy 2015年

Answers:


3

blkid(8)可能正是您想要的。它将给出每个设备的UUID。

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

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

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

无法代表其他读卡器,但是我通过USB端口使用的读卡器会通过SD卡的UUID。


1
听起来很有希望,谢谢!!那么fat32呢?
hpy 2015年

1
是的,我相信也mlabel(1)支持fat32。
JonathanS

1
blkid只要存储在SD卡上的数据发生变化,任何回报都会发生变化。这与CID或序列号有很大不同。如果你做了dd if=/dev/sdcard1 of=/dev/sdcard2 count=2,变化是很HIGHT这blkid /dev/sdcard1将是相同的blkid /dev/sdcard2。答案的最后一句话也是令人误解的:UUID是从SD卡(而不是 SD卡)上存储的数据得出的,显然,每个USB读卡器都可以让您读取SD卡的内容。仍然无法访问CID
humanityANDpeace

3

根据@humanityAndpeace的评论,“寻找” CID可能是一种解决方案,但似乎您无法从所有SD卡中获取它。至少我测试过的情况就是这样。在此处查看更多文档。

这个想法是从 /sys/block/<yourBlockDevice>/device/cid

注意:你可以阅读<yourBlockDevice>sudo dmesg插件后

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.