मैं ओएस एक्स में रिबूट पर डिस्क रेनबेरिंग को कैसे रोकूं?


12

मैं अपने मैक प्रो में मैक ओएस एक्स 10.6.4 के साथ 3 भौतिक ड्राइव करता हूं। कभी-कभी मशीन को रिबूट करने के बाद, डिस्क नंबरिंग में बदलाव होता है, जैसे कि / dev / डिस्क # उसी ड्राइव को संदर्भित नहीं करता है, जैसा उसने रिबूट से पहले किया था।

उदाहरण

/dev/disk0 -> 64GB SSD drive
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 160GB WD (BootCamp)

रीबूट करने के बाद मैपिंग हो सकती है

/dev/disk0 -> 160GB WD (BootCamp)
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 64GB SSD drive

इससे भी अधिक भ्रामक यह है कि रीमैपिंग सुसंगत नहीं है। अधिकांश सामानों के लिए यह अप्रासंगिक है। हालाँकि, मेरे पास भी समानताएं हैं, जो OS X के भीतर से BootCamp विभाजन तक पहुँचने की अनुमति देता है। Parallels इस विन्यास फाइल में / dev / डिस्क # पथ का उपयोग करता है, इसलिए OS XI लॉन्च समानताएँ को रिबूट करने के बाद और यह बताता है कि डिस्क अब मौजूद नहीं है ।

क्या ओएस एक्स को हमेशा एक दिए गए ड्राइव को / dev / disk0 को बताने का एक तरीका है?


3
यह मेरी विशेषज्ञता के दायरे में नहीं है, लेकिन वॉल्यूम यूयूआईडी के साथ कुछ किया जा सकता है?
1

: मुकदमा।
पॉल अलेक्जेंडर

लिनक्स में डिस्क में सीमलिंक जैसे / देव / डिस्क / बाय-यूआईडी / [डिस्क-यूआईडी] होते हैं जो नंबरिंग करने पर भी नहीं बदलते हैं। शायद OSX समान है?
सोलर

जवाबों:


2

जहां तक ​​मैं समझता हूं कि MacOS में वह क्षमता नहीं है, हालांकि समानताएं चलाने के लिए यह कड़ाई से आवश्यक नहीं हो सकता है।

macports का उपयोग करना और एक छोटे पैच के साथ e2fsprogs स्थापित करना:

diff -r e2fsprogs-1.41.12/misc/Makefile e2fsprogs-1.41.12.patched/misc/Makefile
399c399
>       $(LIBEXT2FS) $(LIBCOM_ERR)
---
<       $(LIBEXT2FS)
401,402c401

आप विभाजन, डिस्क को मिटाने और उनके संबंधित uuids (किसी भी समर्थित फ़ाइल-सिस्टम के लिए जो काफी कुछ है) को प्राप्त करने के लिए blkid -s UUID / dev / rdisk * का उपयोग कर सकते हैं।

उसके बाद 'ln -s' के साथ एक सॉफ्टलिंक जोड़ने या mknod के साथ एक वैकल्पिक डिवाइस नोड बनाने के लिए काम करना चाहिए (और फिर समानताएं से psudo- / क्लोन-डिवाइस संदर्भ)। मैंने फ्यूजन के साथ समान चालें की हैं, लेकिन मुझे अभी पक्षाघात स्थापित नहीं हुआ है (इसलिए मैं परीक्षण नहीं कर सकता)

stat -f "% Sr% Z" / dev / rdisk s आपको डिवाइस पर एक मेज देता है, अगर डिवाइस के सॉफ्ट-लिंक को स्वीकार नहीं करता है तो मामूली का उपयोग किया जा सकता है।

जिसका उपयोग निम्न उदाहरण में किया जा सकता है:

some@host:/e2fsprogs-1.41.12$ blkid -s UUID /dev/rdisk*s* 
/dev/rdisk0s1: UUID="76D6-1701" 
/dev/rdisk0s2: UUID="654F73AE51849687" 
/dev/rdisk1s1: UUID="51FC4E72-BFA9-4DBD-9A5C-0E5H731DB0ED" 
some@host:/e2fsprogs-1.41.12$ stat -f "%Sr %Z" /dev/rdisk*
rdisk0 14,0
rdisk0s1 14,1
rdisk0s2 14,2
rdisk1 14,3
rdisk1s1 14,4

# okay, UUID 51FC4E72-BFA9-4DBD-9A5C-0E5H731DB0ED is a partition
# on the disk we want to use. so we make a 'private' device node
# pointing to the device containing that partition.

some@host:/e2fsprogs-1.41.12$ sudo mknod /dev/pdisk1 b 14 3

# just a quick verify that the mknod worked as expected ...
some@host:/~$ sudo dd if=/dev/rdisk1  count=10 2>/dev/null | md5 
19d55b28485771bc80acdddbd1b45faf
some@host:/~$ sudo dd if=/dev/pdisk1  count=10 2>/dev/null | md5 
19d55b28485771bc80acdddbd1b45faf

अब केवल एक चीज बची है उसे स्क्रिप्ट लिखने और http://support.apple.com/kb/HT2420?viewlocale=en_US में निर्देशों का उपयोग करके इसे बूट पर चलाने के लिए।

लेकिन वह किसी और को खत्म करने के लिए होगा ...


हे विस्तृत जवाब के लिए धन्यवाद। mknodसंलयन के साथ कोशिश कर रहा है , लेकिन एक त्रुटि दे ./vmware-rawdiskCreator create /dev/pdisk1 fullDevice ~/5tc ide Unable to create the source raw disk: The specified device is not a valid physical disk device (20).कोई सुराग? चीयर्स
एलेक्जेंड्रे जी

इस समस्या के लिए इस जवाब ने मेरे लिए बहुत काम किया, लेकिन वीएमवेयर फ्यूजन के साथ। दुर्भाग्य से इसके बाद, VMware को नॉनस्टैंडर्ड डिस्क डिवाइस पाथ (जैसे vmdk फाइल में, डिस्क या विभाजन को संदर्भित करता है) पसंद नहीं आता है। ऐसा लग रहा था कि यह हुड के नीचे डिस्कुटाइल शैली के पुस्तकालयों के लिए उन्हें पारित कर रहा था, जो नहीं जानते थे कि उनके साथ क्या करना है। इतना करीब ... मेरे मामले में विकल्प संभवतः प्रोग्राम के बाद खोज के बाद vmdk फ़ाइल को पुन: उत्पन्न करना है।
टॉम

1

मैंने होशियार मैक लोगों को सुना है कि मेरे मुकाबले इसका मतलब यह है कि डिस्क नंबरिंग कुछ हद तक मनमानी है और एक रिबूट के बाद उसी नंबर पर उसी डिवाइस पर निर्भर नहीं किया जा सकता है। टर्मिनल में डिस्क्यूटिल के माध्यम से RAID स्लाइस बनाने के संदर्भ में इसका उल्लेख किया गया था।

मुझे निम्न स्तर की कोई भी उपयोगिता नहीं मिली है, जैसे कि डिस्कुटिल, पीडीआईएक्स या जीटीपी, डिस्क को प्रभावित करने में सक्षम प्रतीत होती है। मुझे डर है कि यह नियंत्रणीय नहीं हो सकता है।


1
हुह, मुझे नहीं लगता था कि उत्तर -1 बुरा था। शायद ही कभी जवाब "आप ऐसा नहीं कर सकते।"
थियो बेल्क

1

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

df

आप टर्मिनल को खोलकर वर्तमान वॉल्यूम के लिए वर्ण डिवाइस फ़ाइलों के लिए पूर्ण मार्ग देख सकते हैं, फिर टाइप कर सकते हैं (प्रत्येक पंक्ति के बाद रिटर्न दबाएं):

cd /dev
ls -lias

प्रत्येक माउंट किए गए वॉल्यूम पर प्रत्येक विभाजन (यह फाइंडर में प्रदर्शित होता है या नहीं) में / देव निर्देशिका के लिए सूची में दो फाइलें होंगी। फ़ाइलों के नाम संख्या के आधार पर डिवाइस और विभाजन पर डिवाइस की पहचान करते हैं। फ़ाइलों को खोजने के लिए आपको टर्मिनल विंडो में थोड़ा स्क्रॉल करना पड़ सकता है।


0

आप में प्रविष्टियाँ जोड़ने का प्रयास करें /etc/fstab

An /etc/fstab example:

# Identifier, mount point, fs type, options1
UUID=DF000C7E-AE0C-3B15-B730-DFD2EF15CB91 /export ufs ro
UUID=FAB060E9-79F7-33FF-BE85-E1D3ABD3EDEA none hfs rw,noauto
LABEL=This40Is40The40Volume40Name none msdos ro

पहचानकर्ता का उपयोग वॉल्यूम की पहचान करने के लिए किया जाता है; LABEL वॉल्यूम नाम है, UUID यूनिवर्सल यूनिक आइडेंटिफ़ायर ड्राइव है। आप दोनों का उपयोग कर सकते हैं, लेकिन UUID सबसे अच्छा विकल्प है क्योंकि वॉल्यूम का नाम बदलने से यह पहचानकर्ता नहीं बदलेगा।

से http://macosx.com/forums/mac-os-x-system-mac-software/314314-stop-disk-unmounting-automounting.html


यह केवल वही परिवर्तन करता है जहाँ ड्राइव / वॉल्यूम निर्देशिका में आरोहित है। इसका उसके / देव / डिस्क पर कोई प्रभाव नहीं है ??? असाइनमेंट।
पॉल अलेक्जेंडर

0

ड्राइव संख्या उस समय पर आधारित होती है जब बूट के दौरान भौतिक उपकरण को एनुमरेट किया जाता है। यह मेरे साथ विंडोज पर भी हुआ है। मैंने इस संकल्प के लिए लंबा और कठोर देखा है, और मुझे एक नहीं मिला है। मैं डिस्क को "सही" क्रम में प्राप्त करने में सक्षम था जब मैंने SATA केबलों को चारों ओर घुमाया, लेकिन यह केवल एक अस्थायी फिक्स था। आपके मामले में, चूंकि समानताएं एक पथ के लिए डिस्क नंबरिंग पर निर्भर करती हैं, इसलिए स्टार्टअप पर उस कॉन्फ़िग फ़ाइल को अपडेट करने के लिए स्क्रिप्ट बनाना सबसे अच्छा हो सकता है।


0

मेरे पास यह मुद्दा पहले आया है, वे आम तौर पर अपडेट करने या कुछ स्थापित करने के बाद बदल जाते हैं, लेकिन एक दूसरे पुनरारंभ के बाद अपनी मूल संख्या पर लौटते हैं। यह स्पष्ट रूप से आदर्श नहीं है, लेकिन मेरे लिए काम करने के लिए लग रहा था ...

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