वर्चुअलबॉक्स में VM पहले से ही एक सत्र के लिए बंद है (या अनलॉक किया जा रहा है)


85

वर्चुअलबॉक्स में मेरा वीएम इस त्रुटि के कारण शुरू नहीं हो सकता है, मैं इसे नष्ट नहीं करना चाहता और इसे फिर से स्थापित करना चाहता हूं, वैसे भी इसे पुनर्प्राप्त करना है?

निष्पादित करते समय एक त्रुटि हुई VBoxManage, वर्चुअल बॉक्स को नियंत्रित करने के लिए वैग्रांत द्वारा उपयोग किया गया एक सीएलआई। आदेश और stderr नीचे दिखाया गया है।

Command: ["modifyvm", "319fcce3-e8ff-4b6f-a641-3aee1df6543f", "--natpf1", "delete", "ssh"]

Stderr: VBoxManage: error: The machine 'centos64_c6402_1454036461345_59755' is already locked for a session (or being unlocked)
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component MachineWrap, interface IMachine, callee nsISupports
VBoxManage: error: Context: "LockMachine(a->session, LockType_Write)" at line 493 of file VBoxManageModifyVM.cpp

जवाबों:


138

कमांड लाइन पर इसे चलाने से VM अनलॉक हो गया:

vboxmanage startvm <vm-uuid> --type emergencystop

<vm-uuid>त्रुटि संदेश में संख्या कहां है Command: ["modifyvm", "<vm-uuid>" [...]:। उसके बाद मैं VM (प्रारंभ, पड़ाव, आदि) को नियंत्रित करने में सक्षम था। Ubuntu पर वर्चुअलबॉक्स 4.1 का उपयोग करना।


1
धन्यवाद आदमी, यह वास्तव में मेरी मदद की, मैं कुछ मुद्दों के बारे में एक साझा फ़ोल्डर में docker था। मैं साझा फ़ोल्डर को नहीं हटा सका (त्रुटि: 'ourspends' नाम का एक साझा फ़ोल्डर नहीं मिल सका), और, बनाने पर, यह भी कह रहा था कि यह पहले से मौजूद है (साझा फ़ोल्डर 'ourspends' मैप नहीं किया जा सका / / घर / रेलू / परियोजनाएँ / हमारी योजनाएँ (VERR_ALREADY_EXISTS))
रेलू मेसरोस

मैं इसे बिल्कुल कहाँ से चलाता हूँ? जाहिर है, यह VM के भीतर से ही नहीं है, क्योंकि "vboxmanage" कमांड होस्टिंग मशीन पर VBox सॉफ्टवेयर से संबंधित है और VM स्वयं इसे पहचान नहीं पाता है। दूसरी ओर, यह कमांड मेरे होस्टिंग मशीन के लिए भी अनजान है (मेरे मामले में, यह विंडोज 10 है)। तो ... मुझे इस कमांड को चलाने की क्या आवश्यकता है?
theCuBeMan

मैंने इसे लिनक्स का उपयोग करते हुए एक टर्मिनल में निष्पादित किया। मुझे लगता है कि विंडोज में इसे कमांड प्रॉम्प्ट (cmd) में निष्पादित किया जा सकता है। यह VirtualBox 4.1 के साथ परीक्षण किया गया था
मथेउ

4
अपने vm-uuid का पता लगाने के लिए VBoxManage -nologo सूची vms का प्रयोग करें
Jakob

3
विंडोज के लिए आपको पूर्ण पथ की आवश्यकता है"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" <vm-uuid> --type emergencystop
फेलिक्स ईव

35

एक ही समस्या होने पर मैंने पाया कि वास्तव में vm को लॉक करने वाली एक प्रक्रिया चल रही थी:

501 79419 79323   0  2:18PM ??         0:39.75 /Applications/VirtualBox.app/Contents/MacOS/VBoxHeadless --comment default --startvm 1d438a2e-68d7-4ba2-bef9-4ea162913c1b --vrde config

सुनिश्चित करें कि आपके पास vm शुरू करने की कोशिश में कोई प्रक्रिया नहीं है:

ps -ef | grep -i "vbox"

इसने मेरे लिए काम किया। मैंने ps -ef स्टेटमेंट द्वारा लौटी सभी प्रक्रियाओं को मार दिया और फिर "योनि विनाश" फिर से काम किया।
thebiggestlebowski

13

मेरे लिए मुझे कार्य प्रबंधक में VboxHeadless.exe प्रक्रिया को मारना था। मुझे यह भी सुनिश्चित करना था कि प्रशासनिक मोड में सीएमडी शीघ्र खोला जाए।


लिनक्स का उपयोग करके मेरे लिए भी काम किया। कृपापूर्वक चलने वाले अन्य सभी वीएम को भी बंद करने की सलाह दें ( ps aux | grep boxयदि टर्मिनल में उपयोग कर सकते हैं )।
दान

11

मुझे @Gonzalez का यह उत्तर बहुत ही रोचक लगा।

vboxmanage startvm <vm-uuid> --type emergencystop

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

उदाहरण के लिए:

 VBoxManage modifyvm <vm_name> --natpf1 "guestssh,tcp,,22,,2222"
 VBoxManage modifyvm <vm_name> --natpf1 delete "guestssh"

बनना:

VBoxManage controlvm <vm_name> natpf1 "guestssh,tcp,,22,,2222"
VBoxManage controlvm <vm_name> natpf1 delete "guestssh"

पूर्ण प्रलेखन यहाँ https://www.virtualbox.org/manual/ch08.html#vboxmanage-controlvm


10

sudo pkill -9 VBox vbox से संबंधित हर चीज को मारता है


7

विंडोज टास्क मैनेजर में, मैंने वर्चुअल बॉक्स से संबंधित किसी भी कार्य को समाप्त कर दिया है (आप देख सकते हैं कि वे एक टास्क मैनेजर जैसे Vbox हेडलैस। Ex आदि के साथ शुरू करते हैं)। एक बार जब मैंने ऐसा किया, तो मैं इस त्रुटि को दूर करने में सक्षम था (उपरोक्त 'vboxmanage startvm ... आदि ...' यहाँ समाधान मेरे लिए काम नहीं किया)।


4

यदि आपके पास VirtualBox GUI में उस बॉक्स के लिए एक सेटिंग विंडो खुली है, तो आप इस त्रुटि में भाग सकते हैं। बस सेटिंग्स विंडो को बंद करें और फिर से प्रयास करें।


1

मैंने आज उसी त्रुटि संदेश का सामना किया है:

>me@myhost:~$ ps -ef | grep -i "vbox"

me  3064     1  0 08:51 ?        00:00:00 /usr/lib/virtualbox/VBoxXPCOMIPCD

me  3089     1  0 08:51 ?        00:00:00 /usr/lib/virtualbox/VBoxSVC --auto-shutdown

me  3126  3089 27 08:51 ?        00:00:39 /usr/lib/virtualbox/VBoxHeadless --comment RHEL5 64-bit desktop --startvm e5c598d8-1234-4003-a7c1-b9d8af15dfe7 --vrde config

me  3861  3415  0 08:53 pts/1    00:00:00 grep --color=auto -i vbox*

Gergely का जवाब इसे पूरी तरह से हल करता है। यह पता चला है कि मैंने वर्चुअल मशीन को बूट करने के लिए रिबूट पर एक सेटस्ट्रैब सेट किया है, जिसने ऊपर दिखाए गए तीन VBox प्रक्रिया शुरू की

me@myhost:~$ crontab -l

@reboot me /usr/bin/vboxmanage startvm "RHEL5 64-bit desktop" --type headless

0

एकमात्र विकल्प जो मेरे लिए काम करता था, वह सभी प्रक्रियाओं को मारने के लिए पीएस एक्सल से मेल खाता था। grep -i vbox


0

मेरे मामले में, स्पष्ट कारण एक यूएसबी ईथरनेट एडाप्टर था जिसे मशीन को निलंबित करने के बाद हटा दिया गया था। मेरे मामले में,

vboxmanage startvm <vm-uuid> --type emergencystop

कोई सहायता नहीं की। इसके बजाय, मुझे भ्रामक संदेश मिला

VBoxManage: error: The machine 'xyzzy' is not locked by a session

सही त्रुटि का पता चला था

vboxmanage startvm <vm-uuid> --type gui

जो लौट आया

VBoxManage: error: Nonexistent host networking interface, name 'en9: USBPlug' (VERR_INTERNAL_ERROR)

नेटवर्क कॉन्फ़िगरेशन को एक अलग नेटवर्क एडाप्टर में बदलने से समस्या हल हो गई।

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