प्रत्येक रिबूटिंग के बाद डिस्क डिवाइस बदल जाती है


3

मेरे पास मेरी डेस्कटॉप मशीन पर एक SATA डिस्क और एक IDE डिस्क है, और मैंने SATA डिस्क में Windows 7 स्थापित किया है, जबकि IDE में ArchLinux, IDE डिस्क पर ग्रब स्थापित है।

ArchLinux / etc / fstab में, मैंने आरईसीएलएक्सएक्स सेटअप प्रोग्राम में पता लगाए गए रूट माउंट डिवाइस को / dev / sdb2 के बजाय / dev / sda2 के रूप में सेट किया है।

हालांकि, हर बार जब मैं ग्रब से आर्चलिनक्स में बूट करता हूं, तो संभावना होगी कि initrd / dev / sda2 से नहीं पढ़ सकता है क्योंकि ऐसा लगता है कि / dev / sda ArchLinux एक के बजाय विंडोज 7 डिस्क है। लेकिन कभी-कभी यह काम करता है क्योंकि / dev / sda ArchLinux एक हो जाता है। दूसरे शब्दों में, चाहे ArchLinux डिस्क / dev / sda या / dev / sdb रिबूट करने के बाद अलग हो।

मैं सोच रहा था कि यह डिवाइस पथ के बजाय विभाजन को चुनने के लिए UUID का उपयोग करने में मदद करता है। और क्या इस समस्या का कोई और समाधान है?

जवाबों:


2

UUID का उपयोग करना हमेशा बेहतर विकल्प होता है। लेकिन कहा जा रहा है कि आपकी समस्या आप से आती है। कुछ पुराने Sata नियंत्रकों को स्पिन करने में थोड़ा समय लगता है और उस समय तक udv पहले से ही IDE ड्राइव ढूंढ चुका होता है और इसे पहली ड्राइव के रूप में उपयोग करता है। हालांकि मेरा मानना ​​है कि यह केवल कोल्ड-बूट से है।

जब कोरबूट के साथ काम करते हुए मैं अक्सर इस समस्या में भाग जाता था और एकमात्र वास्तविक समाधान जो मैंने पाया था वह कुछ सेकंड के लिए सिस्टम को रोकना था (ड्राइव्स को स्पिन करने की अनुमति देने के लिए मेरे 1 टीबी ने 20 सेकेंड तक कुछ भी लिया)।

आशा है कि यह किसी में मदद करता है!


1

जैसा कि क्रैंकेडमिन का जवाब है, यूयूआईडी द्वारा एक विभाजन की पहचान करना डिवाइस पथों का उपयोग करने के लिए बेहतर है।

एक अन्य विकल्प विभाजन लेबल द्वारा पहचान करना है। मैं इसे यूयूआईडी के लिए पसंद करता हूं क्योंकि यह बहुत अधिक मानव-पठनीय है, लेकिन आपको यह सुनिश्चित करने की आवश्यकता है कि आपके विभाजन अद्वितीय लेबल का उपयोग करें, और कुछ वर्ण जो अन्यथा विभाजन लेबल में कानूनी हैं, इस उपयोग के लिए समस्याग्रस्त हो सकते हैं (विशेष रूप से, रिक्त स्थान काम नहीं कर सकते हैं कुंआ)।

आप के साथ विकल्प tune2fs -L <new-label> <device>का उपयोग करके अपने पूर्व (2,3,4) विभाजन में या प्रारूप समय पर लेबल जोड़ सकते हैं । दोनों में यूयूआईडी की तरह लेबल का उपयोग करें और :-L <new-label>mkfs.ext(2,3)/etc/fstab/boot/grub/menu.lst

# fstab w/ UUID
UUID=3a9a1209-47de-4959-8ba6-9724e4c3eb37  /     ext3    defaults,errors=remount-ro 0 1

# fstab w/ label
LABEL=arch-root      /     ext3    defaults,errors=remount-ro 0 1


# GRUB config w/ UUID
kernel          /boot/vmlinuz-2.6.20-15-generic root=UUID=3a9a1209-47de-4959-8ba6-9724e4c3eb37 ro quiet splash

# GRUB config w/ label
kernel          /boot/vmlinuz-2.6.20-15-generic root=LABEL=arch-root ro quiet splash

0

मैं आपके कॉन्फ़िगरेशन (जैसे कि / etc / fstab) में / dev / sdX के बजाय UUID का उपयोग करने के बारे में पिछली टिप्पणियों से सहमत हूं। हालाँकि यह एक पुराना प्रश्न है, लेकिन मैंने सोचा कि मैं इस पृष्ठ को साझा करूँगा जब मैंने आज इसी तरह की समस्या से निपटा। यह UUIDs (या लेबल, यदि आप उन को पसंद करते हैं) का उपयोग करने के लिए एक अच्छा संदर्भ प्रतीत होता है।

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