टर्मिनल से हार्डडिस्क सीरियल नंबर?


65

मेरे पास कई हार्डडिस्क हैं जो मेरे सर्वर से जुड़े हुए हैं और मुझे यकीन नहीं है कि एसडीएक्सवाई के दृष्टिकोण में कौन सा है। अगर मैं टर्मिनल से अपनी हार्डडिस्क के सीरियल नंबर देख सकता हूं, तो मैं उन्हें आसानी से पहचान सकता हूं।

क्या कोई तरीका है जो मैं उन्हें टर्मिनल से देख सकता हूं?

जवाबों:


57

एक और समाधान जिसमें रूट विशेषाधिकारों की आवश्यकता नहीं होती है:

udevadm info --query=all --name=/dev/sda | grep ID_SERIAL

यह वास्तव में पुस्तकालय है lsblk, जिसका उल्लेख don_crissti द्वारा किया गया है, उत्तोलन करता है, लेकिन मेरे lsblk के संस्करण में सीरियल के लिए विकल्प शामिल नहीं है।


2
सबसे अच्छा समाधान अगर आपकी हार्ड डिस्क पूरी तरह से मर गई है। अन्य तरीके काम नहीं करते।
niieani

1
grep ID_SCSI_SERIALहो सकता है कि वास्तव में ड्राइव का सीरियल नंबर देता है , जैसा कि वर्ल्ड वाइड नाम (wwn) के तहत बताया गया है ID_SERIAL
रॉन

@ क्रोन दिलचस्प! क्या आपके पास कोई संदर्भ है जो wwn को परिभाषित करता है?
जोहान

केवल संदर्भ डब्ल्यूडी, सीगेट के साथ मेरा पहला हाथ अनुभव है, लेबल पर लिखे गए टर्मिनल पर एचजीएसटी हार्ड ड्राइव के मूल्यों की तुलना करता है। हार्ड ड्राइव मुख्य रूप से एंटरप्राइज़ / डेटा सेंटर ग्रेड बनाम उपभोक्ता डेस्कटॉप हैं।
रॉन

1
@ron जस्ट ने इसे फिर से परीक्षण किया। Udvadm का मेरा संस्करण (सिस्टम 229) एक ID_WWN फ़ील्ड की रिपोर्ट करता है। मेरे सिस्टम में ड्राइव के लिए, वहाँ भी नहीं है ID_SCSI_SERIALऔर न ही कुछ अनुरूप (नहीं ID_ATA_SERIAL): E: ID_SERIAL=TOSHIBA-TR150_23SC51E8J2BI ... E: ID_SERIAL_SHORT=23SC51E8J2BI ... E: ID_WWN=0x5e83a97200463ff3 ... E: ID_WWN_WITH_EXTENSION=0x5e83a97200463ff3
जोहान

50

टर्मिनल प्रकार में:

# hdparm -I /dev/sd? | grep 'Serial\ Number'

EDIT: आप भी उपयोग lshwया कर सकते हैंsmartctl

  • lshw

    # lshw -class disk

  • smartctl

    # smartctl -i /dev/sda

यदि आप उन उपकरणों को याद कर रहे हैं, तो बस निम्नलिखित पैकेज स्थापित करें

# apt-get install hdparm
# apt-get install smartmontools
# apt-get install lshw

उत्तर के लिए धन्यवाद मैंने इसका परीक्षण किया है। लेकिन यह देव / sdXX नहीं दे रहा है। कृपया इसे ठीक करने का प्रयास करें। जब तक इसका अच्छा
r itsdʒɑ

यदि आप 'grep' भाग को निकालते हैं, तो आपको पूरी जानकारी मिल जाएगीhdparm -I /dev/sd?
Loopo

3
काम नहीं करता है अगर आपकी हार्ड डिस्क पूरी तरह से मर गई है और आप दोषपूर्ण इकाई के सीरियल नंबर की तलाश कर रहे हैं। इसके बजाय @ जोहान की विधि का उपयोग करें।
niieani

मुझे hdparmएआरएम (रास्पबेरी पाई पर रास्पियन ) पर पैकेज (उपयुक्त-नाम नामित) स्थापित करना था ।
ईथरनेट

hdparm -I /dev/sd? | grep --before-context=4 'Serial\ Number'डिवाइस के साथ सीरियल नंबर को सहसंबंधित करने के लिए उपयोग करें । यह मूल प्रश्न अनुरोधों के परिणामस्वरूप दिखता है।
s.co.tt

31

डिवाइस 1 नाम और इसी क्रम संख्या:

lsblk --nodeps -o name,serial

उत्पादन:

NAME SERIAL
sda  0000000012400917BA30
sdb  0000000012400917BA96

-nयदि आप हेडर लाइन प्रिंट नहीं करना चाहते हैं तो जोड़ें :

lsblk --nodeps -no name,serial

उत्पादन:

sda  0000000012400917BA30
sdb  0000000012400917BA96

deviceकिसी विशिष्ट डिवाइस के केवल सीरियल नंबर प्राप्त करने के लिए तर्क के रूप में पास करें :

lsblk --nodeps -no serial /dev/sda

उत्पादन:

0000000012400917BA30

lsblk सभी उपलब्ध (या निर्दिष्ट) ब्लॉक उपकरणों के बारे में जानकारी को ध्यान में रखें । अब, उन लोगों के लिए जो यह नहीं जानते कि अंतिम शब्द का क्या अर्थ है:
सामान्य तौर पर, ब्लॉक डिवाइस वे डिवाइस होते हैं जो डेटा को स्टोर या होल्ड करते हैं। डिस्केट ड्राइव, हार्ड ड्राइव और सीडी-रॉम ड्राइव सभी ब्लॉक डिवाइस हैं। लेकिन यह एक समस्या नहीं है जब lsblkआप इसका उपयोग कर सकते हैं जैसे कि आप अधिक कॉलम जोड़ सकते हैं जैसे type(डिवाइस प्रकार) और / या tran(डिवाइस ट्रांसपोर्ट प्रकार) आदि:

lsblk --nodeps -no नाम, सीरियल, प्रकार, ट्रान
sda  0000000012400917BA30     disk sata
sdb  0000000012400917BA96     disk sata
sr0  4B583242334C453233353320 rom  usb

10
ध्यान दें कि इसके लिए उपयोग lsblk-लिनेक्स संस्करण 2.24 या उससे अधिक की आवश्यकता प्रतीत होती है: github.com/karelzak/util-linux/commit/…
जोहान

जब मैं VM ubuntu का उपयोग करता हूं तो हार्ड डिस्क सीरियल को कैसे पुनः प्राप्त करें? उपरोक्त आदेश इस स्थिति पर कुछ भी नहीं लौटाते हैं
बेंजामिन जाफरी

11

उपयोग करके hdparm आप टर्मिनल से अपना हार्डडिस्क सीरियल नंबर देख सकते हैं।

अपना टर्मिनल खोलें और जैसा लिखें

 hdparm -I /dev/sd?|grep -E "Number|/dev"

ठीक है, लेकिन आपको विकल्प का उपयोग करने के लिए सुपरयुसर होना चाहिए । मैं नहीं चाहूंगा कि या तो और बिना रूट परमिशन के सेर को कैसे पढ़ें । यही कारण है कि मैंने don_crissti के समाधान को ही उखाड़ा है। - वाक्य रचना 57 सेकंड पहले-Ihdparm
वाक्यविन्यास

9
$ ls -al /dev/disk/by-id/*sda*

यह आपको परिचित डिस्क नाम के खिलाफ सीरियल नंबर दिखाएगा।


यह एक चतुर दृष्टिकोण है लेकिन मेरे वर्चुअल बॉक्स पर काम नहीं करता है। ऐसा लगता है कि by-idडायर की सामग्री सिर्फ़ सहानुभूति है, इसलिए ls -al /dev/disk/by-id/आपको दिखाएगी कि आपको वैसे भी क्या चाहिए।
वाइल्डकार्ड

1
इसने मेरे लिए एक डेबियन लाइव बूट सिस्टम पर भी काम किया, जबकि अन्य सभी उपकरण खरोंच से उपलब्ध नहीं हैं, बिना इंटरनेट और उन्हें प्राप्त किए बिना।
होइजुई

3

सबसे आसान तरीका मुझे पता है (रूट की आवश्यकता नहीं है):

inxi -Dplxx

यह सभी डिस्क, उनके धारावाहिक और किसी भी अतिरिक्त जानकारी का आउटपुट देता है। -p विभाजन जोड़ता है। -l लेबल जोड़ता है। -U विभाजन के लिए UUID जोड़ता है।

इसके अलावा यह याद रखना बहुत आसान है, हे।

नमूना:

inxi -Dxx
Drives:    HDD Total Size: 810.2GB (42.9% used)
           ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
           ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
           ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
           ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX

ध्यान दें कि यह ऑप्टिकल ड्राइव को फ़िल्टर करता है। ऑप्टिकल डेटा देखने के लिए:

inxi -Dxxd 
Drives:    HDD Total Size: 810.2GB (42.9% used)
           ID-1: /dev/sdc model: ST3160827AS size: 160.0GB serial: 5MT2HMH6
           ID-2: /dev/sdb model: WDC_WD3200JD size: 320.1GB serial: WD-WCAMR1302926
           ID-3: /dev/sda model: ST380817AS size: 80.0GB serial: 4MR2EWBE
           ID-4: /dev/sdd model: ST3250824AS size: 250.1GB serial: 9ND08GKX
           Optical-1: /dev/sr0 model: LITE-ON DVDRW SOHW-1693S
           rev: KS09 dev-links: dvd,dvdrw
           Features: speed: 48x multisession: yes
           audio: yes dvd: yes rw: cd-r,cd-rw,dvd-r state: running
           Optical-2: /dev/sr1 model: LITE-ON LTR-52327S rev: QS0C dev-links: cdrom,cdrw
           Features: speed: 52x multisession: yes
           audio: yes dvd: no rw: cd-r,cd-rw state: running

ध्यान दें कि मेरे डेबियन सिस्टम पर, lsblk धारावाहिकों के लिए कुछ भी नहीं दिखाता है, चाहे रूट या उपयोगकर्ता के रूप में। यही कारण है कि inxi उस डेटा को प्राप्त करने के लिए एक अधिक विश्वसनीय विधि का उपयोग करता है।

lsblk --nodeps -o name,serial
NAME SERIAL
fd0  
sda  
sdb  
sdc  
sdd  
sr0  
sr1  

lsblk --version
lsblk from util-linux 2.25.2

जैसा कि आप देख सकते हैं, lsblk करने के लिए, यह सोचता है कि एक ऑप्टिकल ड्राइव और फ्लॉपी ड्राइव भी डिस्क हैं, जो एक मायने में, हालांकि वे वास्तव में नहीं हैं, क्योंकि वे डिस्क डालने तक डिस्क नहीं बनते हैं। और यह धारावाहिक के लिए कुछ भी नहीं दिखाता है, वैसे यह अन्य मूल्यों के लिए भी कुछ नहीं दिखाता है, जैसे लेबल। निश्चित रूप से यह डेटा सिस्टम के लिए उपलब्ध होने के बाद से एक बग है, जहां यह inxi इसे प्राप्त करता है, प्रत्यक्ष।


2
आपकी पोस्ट का अंतिम भाग गलत है, lsblkउन्हें नहीं लगता कि वे डिस्क हैं, यह बस सभी ब्लॉक डिवाइस को सूचीबद्ध करता है । स्पष्टीकरण के लिए मेरी अपडेट की गई पोस्ट देखें। जानकारी नहीं दिखाने के रूप में - यह इसलिए है क्योंकि आप डेबियन का उपयोग कर रहे हैं जो उनके lsblkव्यवहार के लिए कुख्यात है। यह आर्चलिनक्स पर बिल्कुल ठीक काम करता है इसलिए निश्चित रूप से बग नहीं । इसके अलावा, inxiसिर्फ एक बैश स्क्रिप्ट है जो उस जानकारी को प्राप्त करने के लिए अन्य कमांड का उपयोग करती है; यह "सीधे" कुछ भी नहीं मिलता है।
डॉन_क्रिस्टी

तकनीकी रूप से सही है, लेकिन सामान्य भाषण के दायरे में, डिस्क इस अवधारणा को संप्रेषित करने का एक अच्छा तरीका है। एक व्यवहार विफल होना निश्चित रूप से एक बग है, यह अप्रासंगिक है कि क्या कारण है, इसलिए आपकी टिप्पणी कि एक छोटी गाड़ी lsblk एक बग नहीं है मूल रूप से कोई मतलब नहीं है। बग को डेबियन बनाया गया है या नहीं यह इस बग के तथ्य को बदल नहीं सकता है। सीधे मतलब है कि मध्यस्थता के बिना, यानी, फ़ाइल सिस्टम से, जहाँ पर inxi को धारावाहिक जानकारी मिलती है। एक उत्तर में समग्र ग्नू / लिनेक्स परिदृश्य को प्रतिबिंबित करना चाहिए, इसलिए उदाहरण के लिए कहा गया है कि डेबियन / बंटू को छोड़कर lsblk काम करता है, इसका कोई मूल्य नहीं है क्योंकि अधिकांश उपयोगकर्ता इसे काम नहीं करेंगे।
20

उत्तर का यह हिस्सा गलत है: lsblk, यह सोचता है कि एक ऑप्टिकल ड्राइव और फ्लॉपी ड्राइव भी डिस्क हैं । वास्तव में, lsblk ब्लॉक डिवाइसों को सूचीबद्ध करता है (जिसमें हार्ड डिस्क, SSDs, फ्लॉपी डिस्क ड्राइव, ऑप्टिकल डिस्क ड्राइव, LVM लॉजिकल वॉल्यूम आदि), और lsblk डिस्क और गैर-डिस्क के बीच अंतर नहीं करता है।
अंक

डेबियन बस्टर पर FYI करें, lsblk --nodeps -o name,serialसीरियल नंबर प्रदर्शित करता है, मैं बग को पुन: पेश नहीं कर सकता।
अंक

lsblk में सुधार हो रहा है, लेकिन अभी भी कुछ सूक्ष्म मुद्दे हैं, मैं अभी भी इसे उपकरण बनाने के लिए प्राथमिक डेटा स्रोत के रूप में उपयोग नहीं करने जा रहा हूं, लेकिन मैं इसे अब एक माध्यमिक स्रोत के रूप में उपयोग कर रहा हूं, लेकिन हम पहले ही अकथनीय कीड़े का सामना कर चुके हैं इसका उपयोग करना, अब एक पर काम करना।
छिपकली

1

मुझे यह भी पसंद है ls -l /dev/disk/by-idक्योंकि अगर यह उपलब्ध है तो यह डिस्क का WWN दिखाएगा। WWN आमतौर पर डिस्क के लेबल पर मुद्रित होता है, इसलिए इसे पहचानना आसान है।

root@server (16:27:58):~# ls -l /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root  9 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N -> ../../sda
lrwxrwxrwx 1 root root 10 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Dec 20 01:51 ata-Samsung_SSD_850_EVO_250GB_S3PZNF0JB57579N-part2 -> ../../sda2
...
lrwxrwxrwx 1 root root  9 Dec 20 01:51 wwn-0x50014ee25ffd0a5c -> ../../sdc
lrwxrwxrwx 1 root root  9 Dec 20 01:51 wwn-0x50014ee2b554c0b4 -> ../../sdb
lrwxrwxrwx 1 root root  9 Dec 20 01:51 wwn-0x5002538d427700f0 -> ../../sda

1
ls -al /dev/disk/by-id/ | grep sdX | grep wwn | awk '{print $9'}

यह wwn-idडिस्क के लिए दिखाएगा । awkफिल्टर ओएस वितरण और संस्करण के आधार पर समायोजित करने की आवश्यकता हो सकती है। मुझे पढ़ने के लिए एक स्क्रिप्टेड समाधान की आवश्यकता थी wwn-id, जो पेसमेकर डिस्क बाड़ लगाने के लिए आवश्यक है। यदि विभाजन ( /dev/sdX1उदाहरण के लिए) पहले से ही बनाया गया grepहै तो आउटपुट को फ़िल्टर करने के लिए एक और आवश्यक है:

ls -al /dev/disk/by-id/ | grep sdX | grep wwn | grep -v sdX1 | awk '{print $9'}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.