จะค้นหาหมายเลขรุ่นของดิสก์ไดรฟ์ Linux ได้อย่างไร


8

ฉันมีกล่อง Linux ที่มีดิสก์ไดรฟ์ห้าตัวซึ่งหนึ่งในนั้นฉันต้องการแทนที่ ไดรฟ์ที่ละเมิดนั้นมี/dev/sdcแต่นั่นไม่ได้บอกวิธีแยกแยะฮาร์ดแวร์ ไดรฟ์คือ SATA และการกำหนดไดรฟ์ให้กับอุปกรณ์บางครั้งจะเปลี่ยนไปหลังจากบูต

ฉันต้องการใช้ชื่อรุ่นที่พิมพ์บนดิสก์ ฉันรู้ว่าชื่อเหล่านี้สามารถอ่านได้ด้วยเครื่องเนื่องจากเป็นชื่อที่ BIOS ใช้

มีวิธีใช้ Linux เพื่อค้นหาหมายเลขรุ่น/dev/sdcหรือแม้แต่หมายเลขรุ่นของไดรฟ์ทั้งหมดในระบบหรือไม่

คำตอบ:


12

ลองใช้hdparmโปรแกรม:

# hdparm -i /dev/sdc
/dev/sda:

 Model=INTEL SSDSA2CW080G3, FwRev=4PC10362, SerialNo=CVPR112003RA080BGN
...

-iตัวเลือกในการhdparmสามารถนำมาใช้เพื่อดึงข้อมูลประจำตัว


7

ฉันไม่แน่ใจว่ามันอยู่ใน distros ทั้งหมดหรือไม่ แต่ลองดู / dev / disk / by-id:

$ ls -l /dev/disk/by-id/
razem 0
lrwxrwxrwx 1 root root  9 08-08 14:45 ata-HL-DT-STDVD-RAM_GH22NS30 -> ../../sr0
lrwxrwxrwx 1 root root  9 08-08 14:45 ata-ST31000528AS_9VP8RZQM -> ../../sda
lrwxrwxrwx 1 root root 10 08-08 14:45 ata-ST31000528AS_9VP8RZQM-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 08-08 14:45 ata-ST31000528AS_9VP8RZQM-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 08-11 05:27 ata-ST31000528AS_9VP8RZQM-part6 -> ../../sda6
lrwxrwxrwx 1 root root 10 08-08 14:45 ata-ST31000528AS_9VP8RZQM-part7 -> ../../sda7
lrwxrwxrwx 1 root root  9 08-08 14:45 ata-ST3500630A_9QG9YH73 -> ../../sdb
lrwxrwxrwx 1 root root 10 08-08 14:45 ata-ST3500630A_9QG9YH73-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 08-11 02:56 ata-ST3500630A_9QG9YH73-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 08-08 12:45 ata-ST3500630A_9QG9YH73-part3 -> ../../sdb3
lrwxrwxrwx 1 root root 10 08-08 12:45 ata-ST3500630A_9QG9YH73-part5 -> ../../sdb5
lrwxrwxrwx 1 root root  9 08-08 14:45 wwn-0x5000c5002737ee0c -> ../../sda
lrwxrwxrwx 1 root root 10 08-08 14:45 wwn-0x5000c5002737ee0c-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 08-08 14:45 wwn-0x5000c5002737ee0c-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 08-11 05:27 wwn-0x5000c5002737ee0c-part6 -> ../../sda6
lrwxrwxrwx 1 root root 10 08-08 14:45 wwn-0x5000c5002737ee0c-part7 -> ../../sda7

คุณยังสามารถลอง grepping dmesg สำหรับชื่ออุปกรณ์:

# dmesg | grep -C3 sda
[2.387103] ata6.00: 1953525168 ภาคส่วนหลาย 0: LBA48 NCQ (ความลึก 31/32)
[2.388346] ata6.00: กำหนดค่าสำหรับ UDMA / 133
[2.388418] scsi 5: 0: 0: 0: การเข้าถึงโดยตรง ATA ST31000528AS CC38 PQ: 0 ANSI: 5
[2.388611] sd 5: 0: 0: 0: [sda] 1953525168 บล็อกตรรกะ 512 ไบต์: (1.00 TB / 931 GiB)
[2.388653] sd 5: 0: 0: 0: [sda] Write Protect ปิดอยู่
[2.388656] sd 5: 0: 0: 0: [sda] ความรู้สึกโหมด: 00 3a 00 00
[2.388664] sd 5: 0: 0: 0: แนบ scsi generic sg1 ประเภท 0
[2.388669] sd 5: 0: 0: 0: [sda] เขียนแคช: เปิดใช้งานอ่านแคช: เปิดใช้งานไม่รองรับ DPO หรือ FUA
[2.448514] sda: sda1 
[2.448985] sd 5: 0: 0: 0: [sda] ดิสก์ SCSI ที่แนบมา
[2.449040] scsi 8: 0: 0: 0: การเข้าถึงโดยตรง ATA ST3500630A 3.AA PQ: 0 ANSI: 5
[2.449189] sd 8: 0: 0: 0: [sdb] 976771055 บล็อกตรรกะ 512 ไบต์: (500 GB / 465 GiB)
[2.449225] sd 8: 0: 0: 0: [sdb] Write Protect ปิดอยู่
-

ในกรณีนี้มันคือ ST31000528AS


! ที่น่าตื่นตาตื่นใจ ไม่จำเป็นต้องใช้ยูทิลิตี้ภายนอก ทางออกที่แท้จริง
darnir

6

ลองเรียกใช้:

$ sudo lshw

มันจะให้ผลลัพธ์ที่ยาวนานเกี่ยวกับฮาร์ดแวร์ของคุณสิ่งที่เกี่ยวข้องกับคุณจะคล้ายกับสิ่งนี้:

 *-scsi:0
          physical id: 0
          logical name: scsi0
          capabilities: emulated
        *-disk
             description: ATA Disk
             product: WDC WD3200BEVT-7
             vendor: Western Digital
             physical id: 0.0.0
             bus info: scsi@0:0.0.0
             logical name: /dev/sda
             version: 01.0
             serial: WD-WX81A30C3330
             size: 298GiB (320GB)
             capabilities: partitioned partitioned:dos
             configuration: ansiversion=5 sectorsize=512 signature=9f7685a8
           *-volume:0
                description: Linux filesystem partition
                vendor: Linux
                physical id: 1
                bus info: scsi@0:0.0.0,1
                logical name: /dev/sda1
                logical name: /boot
                version: 1.0
                serial: aa84c5a8-6408-4952-b577-578f2a67af86
                size: 141MiB
                capacity: 141MiB
                capabilities: primary extended_attributes ext2 initialized
                configuration: filesystem=ext2 label=boot lastmountpoint=/boot modified=2012-08-11 17:03:06 mount.fstype=ext2 mount.options=rw,relatime mounted=2012-08-11 12:25:38 state=mounted

แจ้งให้ทราบว่ามันกล่าวถึงรหัสอุปกรณ์บล็อกของคุณเป็นและยังเป็นหมายเลขซีเรียลlogical name productคุณสามารถใช้สิ่งนี้เพื่อแยกความแตกต่างไดรฟ์ของคุณ


ดูมีประโยชน์ แต่lshwไม่ได้ติดตั้งบนระบบของฉัน
นอร์แมนแรมซีย์

ตกลง. ฉันใช้ lshw เพื่อรับข้อมูลที่ฉันต้องการเกี่ยวกับฮาร์ดแวร์ของระบบใด ๆ สะดวกมาก.
darnir

วิธีนี้ใช้ได้ผลดีในกรณีที่hdparmและdmesgไม่ได้ให้ข้อมูล (WD My Passport disk บน Debian jessie)
Diomidis Spinellis

ฉันชอบ-htmlตัวเลือกlshw- เช่นlshw -htmlเปลี่ยนเส้นทางไปยังไฟล์และวิธีที่คุณสามารถดูได้ในเบราว์เซอร์ (ด้วยฟังก์ชั่นการค้นหาและอื่น ๆ )
ivanivan

3

หากคุณlsblkติดตั้งบนระบบของคุณคุณสามารถใช้คำสั่งนี้:

lsblk -o MODEL,SERIAL,SIZE,STATE --nodeps

สิ่งนี้จะส่งคืนการแสดงผลแบบเสาเหมือนที่แสดงด้านล่างพร้อมกับหมายเลขรุ่นหมายเลขซีเรียลของผู้ผลิตขนาดดิสก์และสถานะ สามารถเขียนสคริปต์เพื่อให้คุณสามารถเข้าถึงเครื่องระยะไกลได้เช่นกัน คุณจะต้องรูทเพื่อใช้งาน

MODEL            SERIAL         SIZE STATE
FUJITSU MHZ2320B K618T913BPHU 298.1G running
External         W3PEEC6T     465.8G running
DVDRW  DR-TD08HB               1024M running

คุณไม่จำเป็นต้องใช้สิทธิ์รูท ฉันคิดว่ามันเป็นสิ่งสำคัญที่จะเพิ่ม "NAME" ตัวเลือกเช่นนี้lsblk -o NAME,MODEL,SERIAL,SIZE,STATE --nodepsเพื่อให้คุณทราบว่า FUJITSU เป็นหรือsda sdbเรากำลังถามว่า "ไดรฟ์ตัวใดเป็นอะไร" ไม่ใช่ "ฉันมีไดรฟ์ชนิดใด"
โฟมบินใน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.