लिनक्स कैसे जानता है कि कौन सी यूएसबी हार्ड ड्राइव है?


24

वर्तमान में मैंने अपने पीसी पर एक हार्ड ड्राइव विभाजन के साथ लिनक्स मिंट को स्थापित किया है /home। यह अच्छा काम कर रहा है।

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

विंडोज से आ रहा है, मैंने देखा है कि अक्सर ऐसा होता है कि ड्राइव अक्षर "याद" नहीं होते हैं, जिससे सभी प्रकार के मुद्दे सही ढंग से होते हैं।

मुझे लगता है कि मुख्य सवाल यह है: लिनक्स वास्तव में कैसे जानता है कि कौन सी यूएसबी हार्ड ड्राइव है /dev/sdbऔर कौन सी है /media/misha/my_2nd_drive?


USB हार्ड ड्राइव विभाजन के साथ घुड़सवार के रूप में/home आप बता सकते हैं कि आपने यह कैसे किया?
AL

मैंने इसे लिनक्स मिंट इंस्टॉलेशन के दौरान किया था। उस समय यह काफी आसान है। मेरा एसएसडी एसडीए के रूप में दिखाई दिया और यूएसबी हार्ड ड्राइव एसडीबी के रूप में दिखाई दिया । मैं डाल दिया /और swapपर sda , और /homeपर SDB । लेकिन मुझे नहीं पता कि मौजूदा इंस्टॉलेशन के माउंट को कैसे बदलना है/home , उसके लिए बहुत नया है!
misha256

जवाब कहते हैं कि आपको क्या करना चाहिए , लेकिन मुझे नहीं लगता कि वे सीधे कहते हैं कि sd[a-z]बस पता लगाने के क्रम में नाम रखे गए हैं। नामों को एक ही रखने पर कोई प्रयास नहीं किया जाता है। यह आम तौर पर नियतात्मक है (एक ही HW पर एक ही कर्नेल एक ही नामकरण देगा), लेकिन SATA- नियंत्रक ड्राइवर के लिए एक अद्यतन के साथ एक नया कर्नेल इसे विपरीत क्रम में SATA ड्राइव को स्कैन कर सकता है। यहां तक ​​कि ब्लॉक डिवाइस का नाम बदलने की कोशिश करने के बजाय (जैसा कि nameifईथरनेट डिवाइस नामों के लिए या w / e के साथ किया जाता है , आमतौर पर udev नियमों के साथ), UUID, लेबल और आईडी (ड्राइव सीरियल नंबर द्वारा) नाम मौजूद हैं।
पीटर कॉर्ड्स

मैंने एसएएस डिस्क के साथ सर्वर देखे हैं, जहां रिबूटिंग आमतौर पर एक अलग क्रम का नेतृत्व करेगा sd[a-z]: डिस्क की जांच एक साथ (समानांतर में) की जाती है और जो भी डिस्क का पता चलता है sda, वह पहले बन जाता है , आदि
wurtel

जवाबों:


26

आमतौर पर USB पोर्ट (बस / डिवाइस) का स्थान उस क्रम का निर्धारण करता है जिस पर इसका पता लगाया जाता है। हालाँकि, इस पर भरोसा मत करो।

प्रत्येक फ़ाइल सिस्टम में एक UUID होता है जो सार्वभौमिक रूप से विशिष्ट पहचानकर्ता के लिए खड़ा होता है ( FAT और NTFS थोड़ी अलग योजना का उपयोग करते हैं, लेकिन उनके पास एक पहचानकर्ता भी होता है जिसे UUID के रूप में उपयोग किया जा सकता है)। आप (Linux) UUID पर अद्वितीय होने के लिए भरोसा कर सकते हैं। UUIDs के बारे में अधिक जानकारी के लिए, यह विकिपीडिया लेख देखें

माउंट UUID का उपयोग माउंट तर्क के रूप में करें। यह जानने के लिए कि UUID क्या है, इसे चलाएं:

$ sudo blkid /dev/sdb1

( blkidडिवाइस को पढ़ने की आवश्यकता है, इसलिए इसे रूट शक्तियों की आवश्यकता है, इसलिए sudo। यदि आप पहले से ही रूट बन गए हैं, तो sudoइसकी आवश्यकता नहीं है।)

फिर आप /etc/fstabइस तरह से उस UUID का उपयोग कर सकते हैं :

UUID=7e839ad8-78c5-471f-9bba-802eb0edfea5 /home ext4 defaults 0 2

इसके बाद कोई भ्रम नहीं हो सकता है कि डिस्क को घर पर क्या रखा जाना है।

मैनुअल माउंटिंग के लिए आप उपयोग कर सकते हैं /dev/disk/by-uuid/.....


1
बहुत बढ़िया, मुझे fstabअब तक इस बारे में पता नहीं था (कि मैं लिनक्स में कितना नया हूं)। मैंने अपनी fstabफ़ाइल देखी है और सब कुछ पहले से ही UUID द्वारा पहचाना गया है। लिनक्स मिंट इंस्टॉलर ने अच्छा किया।
misha256

आप यूयूआईडी क्या है, और संक्षेप में बताकर इस उत्तर को बेहतर बना सकते हैं और यह अद्वितीय क्यों है जो इसे एक विश्वसनीय पहचानकर्ता बनाता है।
AL

11

यदि आपका fstabसंदर्भ विभाजन के रूप में है /dev/sdx, तो एक नई ड्राइव को जोड़ना निश्चित रूप से सिस्टम को भ्रमित कर सकता है। हालाँकि, हालिया अभ्यास, विभाजन को पहचानने के लिए विभाजन यूयूआईडी का उपयोग करना है।

यदि आपका सिस्टम udevस्थापित है (2.6+ लिनक्स कर्नेल के लिए मामला होना चाहिए), तो आप लगातार नामकरण का उपयोग कर सकते हैं fstab। डिफ़ॉल्ट रूप से, विभाजन UUIDs के माध्यम से पहचाने जाते हैं:

/dev/disk/by-uuid/31f8eb0d-612b-4805-835e-0e6d8b8c5591

हालाँकि, आप "घर" की तरह एक सार्थक विभाजन लेबल बना सकते हैं और इस तरह अपने विभाजन का संदर्भ दे सकते हैं:

/dev/disk/by-label/home

उन आईडी को अंदर बदलने के लिए इस्तेमाल किया जा सकता /dev/sdxहै fstab


काश, मैं आपके उत्तर को सही भी चिह्नित कर पाता। Wurtel पहले एक संपर्क में था। लेकिन धन्यवाद वैसे भी, आपको मेरा +1 मिलता है।
misha256

@ misha256 विडंबना यह है कि मैं अपने सिस्टम पर UUIDs का उपयोग भी नहीं करता हूं (क्योंकि इससे उत्पादन dfऔर mountअपठनीय हो जाता है)। आंतरिक एचडीडी के पहले पता लगाने की काफी अधिक संभावना है, और हर बार उसी क्रम में।
दिमित्री ग्रिगोरिव

1
यदि आप लेबल का उपयोग करते हैं, तो आप LABEL=homeअपने fstab में उपयोग कर सकते हैं । मुझे t-homeअपनी मशीन पर घरेलू निर्देशिका के लिए लेबल का उपयोग करना पसंद है जिसे टेस्ला कहा जाता है। इसलिए यदि मैं डिस्क को किसी अन्य सिस्टम में चिपकाता हूं, तो एक ही लेबल के साथ दो फाइल सिस्टम नहीं होंगे। यही कारण है कि लिनक्स इंस्टॉलर यादृच्छिक यूयूआईडी उत्पन्न करते हैं और उन्हें डिफ़ॉल्ट लेबल के बजाय fstab में उपयोग करते हैं, जो कि अधिकांश सिस्टम को उनके एफएस के लिए समान लेबल देगा। @ misha256, आप इस बारे में सोचना चाहते हैं कि क्या आप अपने एफएस को लेबल करते हैं।
पीटर कॉर्ड्स

1
@PeterCordes मैं वास्तव में प्रयोगशालाओं का उपयोग करता हूं, और मेरे पास इन लेबल को अद्वितीय बनाने के उद्देश्य से एक नामकरण योजना है।
दिमित्री ग्रिगोरीव

1
यूयूआईडी महान हैं और जवाबों में उल्लेख के अनुसार काम करते हैं। लेकिन, वे मानव हितैषी नहीं हैं। जब भी मैं विभाजन (कहीं भी) बनाता हूं, मैं उन्हें अद्वितीय मानव पठनीय लेबल देता हूं जो मेरे लिए समझ में आता है। कई ड्राइव के साथ बैकअप स्क्रिप्ट लिखने के दौरान यह विशेष रूप से उपयोगी है। आप दुर्घटना से उलट एक स्रोत और गंतव्य प्राप्त नहीं करना चाहते हैं! इसके अलावा, जब भी आप किसी पार्टीशन को रिफॉर्मेट करते हैं, तो उसे एक नया UUID मिलता है और आपको उस UUID का इस्तेमाल करने वाली किसी भी चीज को एडिट करना होता है, जबकि आप अभी भी उसी लेबल का इस्तेमाल कर सकते हैं और कुछ भी नहीं बदलना है।
जो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.