การค้นหาตัวระบุเฉพาะสำหรับการ์ด SD


10

ฉันมีการ์ด SD หลายสิบใบที่ฉันต้องติดตามเพื่อทำโครงการ ตอนนี้พวกเขาแต่ละคนมีตัวเลขเขียนด้วยเครื่องหมายถาวรด้านนอก นี่เป็นเรื่องปกติ แต่ฉันต้องการดูว่ามีสิ่งที่ไม่ซ้ำกันที่สร้างไว้ในการ์ด SD แต่ละอันที่ฉันสามารถบันทึกได้หรือไม่ จนถึงตอนนี้ฉันรู้:

  • CID ของการ์ด SD ซึ่งโดยปกติ (ไม่เสมอไป) รวมถึงหมายเลขซีเรียลที่ไม่ซ้ำกัน ฉันไม่สามารถหาวิธีอ่านการ์ด SD ใน Fedora 21 ได้อย่างตรงไปตรงมาบางหน้าบอกว่าถ้าคุณไม่มีเครื่องอ่านการ์ดเชื่อมต่อโดยตรงกับบัส PCI (ไม่ใช่ผ่าน USB) คุณจะไม่เห็น CID
  • หมายเลขซีเรียลของวอลุ่ม / พาร์ติชัน สิ่งนี้อาจใช้งานได้ แต่ฉันเข้าใจว่าการเปลี่ยนแปลงนี้เกิดขึ้นทุกครั้งที่มีการฟอร์แมตการ์ดใหม่ซึ่งเป็นสิ่งที่เราทำเป็นครั้งคราว ไม่ใช่ตัวเลือกที่ดี
  • เพียงติดฉลากปริมาณการ์ด SD ด้วยระบบตั้งชื่อที่ไม่ซ้ำใคร มันง่ายเกินไปที่จะเปลี่ยนแปลงและฉันก็อาจจะติดกับการเขียนตัวเลขด้านนอก

ดังนั้นฉันเดาคำถามของฉันคือ:

  1. มีวิธีการที่เชื่อถือได้ในการอ่าน CID จากการ์ด SD ของฉันเพื่อรับหมายเลขซีเรียลผ่านตัวอ่านการ์ด USB ใน Fedora 21 หรือการแจกแจง GNU / Linux อื่น ๆ หรือไม่?
  2. ถ้าไม่มีวิธีอื่นในการใช้ตัวระบุเฉพาะที่มีอยู่ในการ์ด SD หรือระบบอื่นสำหรับการระบุการ์ด SD โดยไม่ซ้ำกันหรือไม่

1
FYI: คุณไม่ได้คาดหวังว่าจะตอบแต่ละคำตอบ แม้ว่าการลงคะแนนขึ้น / ลงบนพวกเขาและหากมีใครแก้ปัญหาของคุณได้
Derobert

@derobert เข้าใจขอบคุณสำหรับข้อมูล!
hpy

คำตอบ:


3

blkid (8) อาจเป็นสิ่งที่คุณกำลังมองหา มันจะให้ UUID ของแต่ละอุปกรณ์

สำหรับ vfat สามารถตั้งค่า UUID โดยใช้ mtools application mlabel (1)

สำหรับ ext2, ext3 และ ext4, e2label (8) สามารถใช้ตั้งค่า UUID ได้

ดังนั้นหากคุณฟอร์แมตเป็นครั้งคราวให้ตั้งค่า UUID ให้เหมือนเดิมก่อนถ้าจำเป็น

ไม่สามารถพูดให้ผู้อ่านการ์ดอื่น ๆ ได้ แต่คนที่ฉันเคยใช้ผ่านพอร์ต USB ผ่าน UUID ของการ์ด SD


1
ฟังดูมีแนวโน้มขอบคุณ !! แล้ว fat32 ล่ะ?
hpy

1
ใช่ฉันเชื่อว่าmlabel(1)รองรับ fat32 เช่นกัน
JonathanS

1
สิ่งที่blkidส่งคืนจะมีการเปลี่ยนแปลงเมื่อใดก็ตามที่ข้อมูลที่เก็บไว้ในการเปลี่ยนแปลงการ์ด SD สิ่งนี้แตกต่างจาก CID หรือหมายเลขซีเรียลมาก ถ้าคุณทำdd if=/dev/sdcard1 of=/dev/sdcard2 count=2การเปลี่ยนแปลงเป็นอย่างสูงว่าจะเหมือนกับblkid /dev/sdcard1 blkid /dev/sdcard2ข้อสังเกตสุดท้ายของคำตอบคือทำให้เข้าใจผิด: UUID นั้นได้มาจากข้อมูลที่เก็บไว้ในการ์ด SD และไม่ใช่การ์ดส่วนใหญ่ผู้อ่าน USB ทุกคนจะช่วยให้คุณอ่านเนื้อหาของการ์ด SD ได้ CIDอะไรคือสิ่งที่ยังคงเป็นไปไม่ได้คือการเข้าถึง
มนุษยชาติ

3

จากความคิดเห็น @humanityAndpeace การหาCIDอาจเป็นวิธีแก้ปัญหา แต่ดูเหมือนว่าคุณไม่สามารถรับได้จากการ์ด sd ทั้งหมด อย่างน้อยก็เป็นกรณีสำหรับหนึ่งฉันทดสอบ ดูเอกสารเพิ่มเติมที่นี่

ความคิดคือการได้รับข่าวสารจาก /sys/block/<yourBlockDevice>/device/cid

หมายเหตุ : คุณสามารถอ่าน<yourBlockDevice>จากsudo dmesgหลังจากเสียบแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.