एक वीएम कॉन्फिगरेशन खोलने की कोशिश की जा रही है जिसमें मौजूदा वर्चुअल मशीन के समान ही यूयूआईडी है


25

जब दो मैसेजबॉक्स वर्चुअल मशीनों को जोड़ने की कोशिश की जा रही है जो मूल रूप से एक ही स्रोत से (सरल फ़ाइल कॉपी के माध्यम से) कॉपी की गई हैं, तो दूसरा मैं जो संदेश देता हूं उसे जोड़ने पर

Failed to open virtual machine [...]
Trying to open a VM config [...] which has the same UUID as an existing virtual machine.

(हां, मशीनों को साधारण फ़ाइल कॉपी के बजाय क्लोन किया जाना चाहिए था, लेकिन इस बिंदु पर बहुत देर हो चुकी है।)

जवाबों:


37

आप उपयोग कर सकते हैं VBoxManage internalcommands sethduuid <VDI/VMDK file> (HD बॉक्स को बदलने के लिए VBox इंस्टॉल डायरेक्टरी से रन करें), लेकिन इसकी दो कमियां हैं: यह अपडेट नहीं करता है .vbox फ़ाइल, और यह मशीन UUID को नहीं बदलता है (मुझे VBoxManage के साथ ऐसा करने का कोई तरीका नहीं मिला), बस HD UUID।

निम्नलिखित ने मेरे लिए काम किया (विन 7, सबसे हाल का वर्चुअलबॉक्स संस्करण):

  1. रन VBoxManage internalcommands sethduuid <VDI/VMDK file> दो बार (पहली बार बस यूयूआईडी को आसानी से जनरेट करना है, आप इसके बजाय किसी अन्य यूयूआईडी पीढ़ी विधि का उपयोग कर सकते हैं)
  2. को खोलो .vbox एक पाठ संपादक में फ़ाइल
  3. में पाया UUID की जगह <Machine uuid="{...}" UUID के साथ जब आप भागे तो sethduuid पहली बार
  4. में पाया UUID की जगह <HardDisk uuid="{...}" और में <Image uuid="{}" (अंत की ओर) यूयूआईडी के साथ जब आप भागे थे sethduuid दूसरी बार

आप उसके बाद वर्चुअल मशीन को जोड़ सकते हैं। बहुत साफ समाधान नहीं है, लेकिन कोई समस्या पैदा नहीं करता है।


1
यह मेरे लिए काम करता है, लेकिन मेरे पास VM में एक डीवीडी "इन्सर्ट" भी है जिसे मैं मैन्युअल रूप से कॉपी कर रहा था। जब मैंने अपनी .vbox फ़ाइल संपादित की, तो मुझे बदलना पड़ा <DVDImages>...</DVDImages> करने के लिए बस <DVDImages /> डुप्लिकेट यूयूआईडी के साथ डीवीडी को "बेदखल" करने के लिए।
JPhi1618

ध्यान दें कि यदि वीएम के पास स्नैपशॉट हैं, तो आपको "स्नैपशॉट" फ़ोल्डर में vdi फ़ाइलों पर भी वही कदम उठाने होंगे।
this.lau_

5

मैंने इसे करने का एक सरल तरीका खोज लिया है

मौजूदा वर्चुअल मशीन को क्लोन करें। यह संभवतः एक नया यूआईडी के साथ एक नया संस्करण बनाता है, लेकिन अन्य सभी मामलों में यह एक ही मशीन है।

उसके बाद आप जो भी जोड़ना चाहते हैं, उसे अपने \ user (अपने नाम) \ Virtual Box VMs \ (या जहाँ भी स्थान आपकी वर्चुअल मशीनों के लिए है) की प्रतिलिपि बनाएँ और मौजूदा मशीन को बदलने के लिए वहां मौजूद सभी फ़ाइलों को अधिलेखित करें।

मैं मौजूदा मशीन को पहले ही वापस कर दूंगा, ऐसा करने से पहले, लेकिन यह यहाँ ठीक काम किया है। मौजूदा संस्करण को क्लोन के रूप में रखते हुए VM के पुराने बैकअप में वापस जाने के लिए इसका उपयोग किया।


यदि आपके पास पर्याप्त डिस्क स्थान है, तो यह सबसे आसान तरीका है, धन्यवाद रॉबर्ट।
sddk

यदि कोई भी ऐसा करता है - उन्हें यह सुनिश्चित करना चाहिए कि vbox फ़ाइल में मशीन uuid & lt; हार्डवेयर uuid = "{...}" & gt; से मेल खाता एक हार्डवेयर uuid टैग है; तो वे हार्ड डिस्क uuid और मशीन uuid को बदल सकते हैं किसी भी मुद्दे के साथ। & lt; हार्डवेयर uuid = "{...}" & gt;
StixO

1

आप मौजूदा मशीन को क्लोन कर सकते हैं फिर सेटिंग्स में जा सकते हैं और .vmdk का उपयोग करने के लिए स्टोरेज को बदल सकते हैं जिसे आपने पहले कॉपी किया था।


1

मुझे लगता है कि यह एक पुरानी पोस्ट है लेकिन मैं इस त्रुटि पर भागा हूं मैंने इसे हल किया:

  1. वर्चुअल बॉक्स मैनेजर खोलें
  2. वर्चुअल बॉक्स मैनेजर में वर्चुअल मशीन पर राइट क्लिक करें
  3. "निकालें" पर क्लिक करें
  4. एक पॉप-अप दिखाई देगा। "केवल निकालें" चुनें जो बस होगा   वर्चुअल बॉक्स से वर्चुअल बॉक्स के सभी निशान हटा दें   मैनेजर
  5. वर्चुअल बॉक्स मैनेजर को बंद करें
  6. लिनक्स फाइल मैनेजर का उपयोग करके, उस फ़ोल्डर में ब्राउज़ करें जिसमें युक्त है   आभासी मशीन
  7. हटाएँ (या ले जाएँ) सब कुछ .vmdk वर्चुअल हार्ड डिस्क फ़ाइल से बाहर निकलें
  8. वर्चुअल बॉक्स मैनेजर खोलें
  9. "मशीन" पर क्लिक करें
  10. "नया" पर क्लिक करें
  11. नई मशीन का नाम (मैंने मूल रूप से उपयोग किया गया वही नाम इस्तेमाल किया)

    नोट: मशीन का नाम है का नाम बन जाएगा   निर्देशिका जिसमें वर्चुअल मशीन होगी, इसलिए बुद्धिमानी से चुनें   और यह भी ध्यान दें कि यदि आप .vmdk फ़ाइल को नए में रखना चाहते हैं   निर्देशिका कि यह वर्चुअल बॉक्स मैनेजर में अतिरिक्त कदम उठाएगा

  12. वर्चुअल मशीन के लिए उचित प्रकार और संस्करण का चयन करें   समस्या थी और "अगला" पर क्लिक करें
  13. वर्चुअल मशीन के लिए इच्छित मेमोरी आकार का चयन करें   "अगला" आवंटित और क्लिक करें
  14. "उपयोग और मौजूदा वर्चुअल हार्ड डिस्क फ़ाइल" का चयन करें और इसे चुनें   इसके स्थान पर ब्राउज़ करके
  15. "बनाएँ" चुनें

बस वहां से संकेतों का पालन करें और फिर वर्चुअल मशीन शुरू करें।

सब कुछ ठीक चलता है, खिड़कियों की पुन: सक्रियता या आवश्यक नहीं है


0

यदि आप इस त्रुटि के कारण लॉन्च करने में असमर्थ हैं, बस 'निकालें ...' 'Oracle VM VirtualBox प्रबंधक' से प्रविष्टि । यह संघर्ष को साफ़ कर देगा और फिर आप VM को उसके नए स्थान से खोल पाएंगे

... उस बिंदु पर आप एक क्लोन प्रदर्शन कर सकते हैं यदि वह वही है जो आप चाहते हैं। मेरे मामले में, कोई अतिरिक्त प्रयास की आवश्यकता नहीं थी क्योंकि मुझे वीएम के मूल स्थान की कोई और आवश्यकता नहीं थी।


-1

उपयोगकर्ता टीजीआर ने इसे सही पाया, लेकिन मुझे एक अतिरिक्त बदलाव करना पड़ा: Vbox XML में मुझे हार्डडिस्क uuid (कमांड लाइन पर उत्पन्न दूसरा UUID) से मिलान करने के लिए इमेज uuid को बदलना होगा

<StorageControllers>
   <StorageController ...>
     <AttachedDevice ...>
       <Image uuid="{ [second UUID] }"/>

-1

मैंने किसी भी अन्य की तुलना में एक और आसान तरीका पाया है। आपके पास केवल वर्चुअल बॉक्स इंटरफ़ेस से वर्चुअल मशीन को हटाने के लिए है (यदि यह आपसे पूछता है कि क्या आप वीएम की फ़ाइलों को हटाना चाहते हैं, तो जवाब दें !, या आप वीएम खो देंगे)। और फिर .vbox फ़ाइल पर जाएं और इसे (वर्चुअल बॉक्स के साथ) खोलें। यह काम करना चाहिए क्योंकि आपने यूयूआईडी को हटा दिया है (जबकि वीएम को हटा दिया गया है)। कम से कम इसने मेरे लिए काम किया ...

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