मैं रास्पबेरी पाई रिबूट हर बार सही ड्राइव कैसे माउंट करूं?


13

मैं आमतौर पर यूनिक्स प्रणाली में हार्ड ड्राइव माउंट करना जानता हूं। लेकिन मैं एक चीज से भ्रमित हूं। मेरे पास कहने के disk #1और disk #2। के disk #1साथ माउंट करता हूं sudo mount /dev/sda1 /mnt/drive। मुझे कैसे पता चलेगा कि रास्पबेरी पाई को फिर से शुरू करने के बाद, विशेष रूप से उसके बाद sda1सौंपा जाएगा disk #1या नहीं disk #2? दूसरे शब्दों में, मैं क्रमशः # 1 और # 2 डिस्क कैसे sda1और sdb1असाइन कर सकता हूं और इसे रिबूट के बाद एक दूसरे के साथ स्वैप करने से रोक सकता हूं ?


1
यह एक अच्छा सवाल है क्योंकि एक रिबूट के बाद एक मल्टीडिस्क सिस्टम / dev / sda हमेशा / dev / sda नहीं होता है।
ऑक्टोपस

जवाबों:


16

डिस्क ड्राइव उनके यूयूआईडी (सार्वभौमिक रूप से विशिष्ट पहचानकर्ता) द्वारा प्रतिष्ठित हैं। आप अपने HD के UUID को कमांड के साथ पा सकते हैं, ls -l /dev/disk/by-uuid/ फिर आपको माउंट पॉइंट्स बनाने होंगे sudo mkdir /MOUNT/POINT1 और उनमें से अनुमतियों को बदलना होगा। sudo chmod 775 /MOUNT/POINT1 फिर आप अपनी fstab फाइल (जो कि / etc / fstab पर स्थित है) के लिए एक लाइन जोड़ते हैं, जो इस तरह दिखता है:

UUID=BLAHBLAH12341234 /MOUNT/POINT1 ntfs-3g rw,defaults 0 0
UUID=12341234BLAHBLAH /MOUNT/POINT2 ext rw,defaults 0 0

बेशक आपको इसे अपने फाइल सिस्टम आदि के अनुसार बदलना होगा। फिर फाइल को सेव करें और रिबूट करें और आपका एचडी अपने आप ही माउंटेड पॉइंट्स पर आ जाएगा।


1
जैसा कि मैंने अपने जवाब में बताया, यह ड्राइव नहीं है, लेकिन ड्राइव पर विभाजन जो एक यूयूआईडी द्वारा पहचाने जाते हैं। (एक सूक्ष्म अंतर।) यदि आप एक ड्राइव को फिर से प्रारूपित करते हैं, तो एक नया विभाजन बनाता है जिसे एक नया यूयूआईडी मिलता है।
फ्रेड

" / MOUNT / POINT1 " से आपका क्या अभिप्राय है ? क्या माउंट बिंदु की शाब्दिक परिभाषा है?
इगोरगानापोलस्की

1
@IgorGanapolsky इसका केवल उस फ़ोल्डर का नाम जिसे आप अपने विभाजन को माउंट करना चाहते हैं। आप जैसा चाहें वैसा चुनें।
Ios.id0

पुनः आरंभ करने से बेहतर है sudo mount -aकि कोई भी त्रुटि होने पर निष्पादित करें और देखें। यदि कोई था, तो यह एक ऐसी प्रणाली को जन्म दे सकता है जो बूट नहीं करता है।
जन

7

यह कड़ाई से एक सामान्य लिनक्स सवाल है, लेकिन वैसे भी इसका उत्तर विभाजन यूयूआईडी (विश्वविद्यालय की विशिष्ट पहचानकर्ता) है। जैसे नाम टिन पर कहता है, जब एक विभाजन को स्वरूपित किया जाता है, तो एक यादृच्छिक अद्वितीय आईडी उत्पन्न होती है जो इसका वर्णन करती है। आप यह सुनिश्चित करने के लिए इसका उपयोग कर सकते हैं कि आपको हमेशा सही विभाजन मिले। blkidआदेश वर्तमान में संलग्न उपकरणों, उदाहरण के लिए UUIDs की एक सूची देता है:

/dev/sda4: UUID="2d02d277-a79c-4818-adc7-c37484e17c6a" TYPE="ext3" 

यह इस मामले में / dev डिवाइस के अनुरूप होगा /dev/disk/by-uuid/2d02d277-a79c-4818-adc7-c37484e17c6a। आप इसे माउंट करने के लिए उपयोग कर सकते हैं। /etc/fstabएक ड्राइव माउंट किया जाना चाहिए यह निर्दिष्ट करने के लिए आप के साथ थोड़ा कम अंकन का उपयोग कर सकते हैं :

UUID=2d02d277-a79c-4818-adc7-c37484e17c6a /mnt/backup ext3 defaults 0 0

अधिक जानकारी के लिए यहां देखें , या यहां UUID खोज परिणामों को देखें


1
जब मैं ब्लकि टाइप करता हूं , तो मुझे कुछ नहीं मिलता है!
इगोरगानापल्स्की

@IgorGanapolsky प्रयास करें sudo blkid। जाहिर तौर पर blkidरूट विशेषाधिकारों की आवश्यकता होती है, लेकिन डिफ़ॉल्ट रूप से रास्पबेरी पाई पर आप गैर-विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में लॉग इन करेंगे pi
हरजबूब

0

वर्कअराउंड गैब्रिएल के लिए धन्यवाद, यहां एक ही समस्या (रास्पबेरी 2)। लेकिन मैं 30 सेकंड पर बाहर निकल सकता था जब तक r.local काम करने के लिए डिवाइस मिल गया था, इसलिए ए

sudo mount -a

in /etc/rc.local ने काम किया।


-2

ठीक है, सही और सही नहीं है। मेरे मामले में, RPI v2 4 कोर, v1 संस्करण के बाद से कुछ इस तरह बदल गया है: बाहरी hdd को स्वचालित करने के लिए संपादन fstab बिल्कुल भी नहीं चलता है, uid का उपयोग नहीं कर रहा है, / dev / sda1 का उपयोग नहीं कर रहा है।

समस्या यह है कि मैं अपने बाहरी hdd ड्राइव माउंट करने के लिए पूरा बूट के बाद 30 सेकंड इंतजार करना पड़ता है, अजीब बात है कि यूएसबी स्टिक पर, fstab निर्दोष रूप से चलता है। तो, मैंने 30 को सोने के लिए एक स्क्रिप्ट की; सुडो माउंट-ए चीजों को चलाने के लिए।

यहाँ / etc / fstab है

pi@raspberrypi ~ $ cat /etc/fstab 
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that

और अंतिम पंक्ति जोड़ दी

UUID=3d81d9e2-7d1b-4015-8c2c-29ec0875f762 /media/250_gb ext4 defaults 0 0

यहाँ मेरा /etc/rc.local एक्सटेंशन है

# Begin all drives remount
clear
echo "Please wait 30 seconsds in order to remount all missing drives !!!"
for x in `seq 1 30`
do
echo -n "."
sleep 1
done
sudo mount -a
sudo service minidlna force-reload

# End drives remount 

exit 0

यह 30 सेकंड के इंतजार के बिना jmicron यूएसबी एडाप्टर के साथ कुछ हो सकता है, यह कहता है कि डिवाइस मौजूद नहीं है, जबकि lsusb सही हो जाता है Jmicron एडाप्टर इसे गहरे भूमिगत खोदने के लिए मिला !!!

यहाँ मेरी टीवी स्नैपशॉट के 2 से पहले कर रहे हैं यहाँ छवि विवरण दर्ज करें के बाद यहाँ छवि विवरण दर्ज करें

gabriel@linux-romania.com


1
प्रश्न डिस्क ऑर्डर करने के बारे में बोलता है और उपलब्ध डिवाइस के बारे में नहीं।
एमप्रोमोनेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.