Die VM in der Virtualbox ist bereits für eine Sitzung gesperrt (oder wird entsperrt).

82

Meine VM in der Virtualbox kann aufgrund dieses Fehlers nicht gestartet werden. Ich möchte sie nicht zerstören und erneut installieren, um sie trotzdem wiederherzustellen.

Beim Ausführen VBoxManageeiner von Vagrant zur Steuerung von VirtualBox verwendeten CLI ist ein Fehler aufgetreten. Der Befehl und stderr wird unten gezeigt.

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
zjffdu
quelle

Antworten:

135

Durch Ausführen dieses Befehls in der Befehlszeile wurde die VM entsperrt:

vboxmanage startvm <vm-uuid> --type emergencystop

Wo <vm-uuid>ist die Nummer in der Fehlermeldung : Command: ["modifyvm", "<vm-uuid>" [...]. Danach konnte ich die VM steuern (Start, Stopp usw.). Verwenden von Virtualbox 4.1 unter Ubuntu.

Gonzalo Matheu
quelle
1
Danke Mann, das hat mir wirklich geholfen. Ich hatte einige Probleme mit einem freigegebenen Ordner im Docker. Ich konnte den freigegebenen Ordner nicht löschen (Fehler: Es wurde kein freigegebener Ordner mit dem Namen "ourspends" gefunden), und beim Erstellen wurde auch angegeben, dass er bereits vorhanden ist (es konnte kein freigegebener Ordner "ourspends" erstellt werden, der "/" zugeordnet ist) home / relu / projects / ourspends '(VERR_ALREADY_EXISTS))
Relu Mesaros
Wo führe ich das genau aus? Dies geschieht offensichtlich nicht innerhalb der VM selbst, da sich der Befehl "vboxmanage" auf die VBox-Software auf dem Hosting-Computer bezieht und die VM selbst dies nicht erkennt. Andererseits ist dieser Befehl auch auf meinem Hosting-Computer unbekannt (in meinem Fall ist es Windows 10). Also ... was brauche ich dann, um diesen Befehl auszuführen?
TheCuBeMan
Ich habe es in einem Terminal unter Linux ausgeführt. Ich denke, dass es in Windows in einer Eingabeaufforderung (cmd) ausgeführt werden kann. Es wurde mit VirtualBox 4.1
Gonzalo Matheu
4
Verwenden Sie VBoxManage -nologo Liste vms , um Ihre vm- uuid herauszufinden
Jakob
3
Für Windows muss der vollständige Pfad ausgeführt werden"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" <vm-uuid> --type emergencystop
Felix Eve
35

Mit dem gleichen Problem stellte ich fest, dass ein Prozess ausgeführt wurde, der die VM tatsächlich sperrte:

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

Stellen Sie sicher, dass beim Versuch, die VM zu starten, kein Prozess hängen bleibt:

ps -ef | grep -i "vbox"
Gergely Toth
quelle
Das hat bei mir funktioniert. Ich habe alle Prozesse beendet, die von der ps -ef-Anweisung zurückgegeben wurden, und dann hat "vagrant destroy" wieder funktioniert.
Thebiggestlebowski
13

Für mich musste ich den Prozess VboxHeadless.exe im Task-Manager beenden. Ich musste auch sicherstellen, dass die CMD-Eingabeaufforderung im Verwaltungsmodus geöffnet wurde.

jreed350z
quelle
Arbeitete auch für mich unter Linux. Es wird empfohlen, alle anderen VMs, die ebenfalls ausgeführt werden, ordnungsgemäß herunterzufahren (kann ps aux | grep boxim Terminal verwendet werden).
Dan
10

sudo pkill -9 VBox tötet alles, was mit vbox zu tun hat

Jana
quelle
sehr hilfreich. Vielen Dank.
27 जयते
10

Ich fand diese Antwort von @Gonzalez sehr interessant.

vboxmanage startvm <vm-uuid> --type emergencystop

Das einzige Problem dabei ist, dass die aktuelle Instanz meiner VM heruntergefahren wird, sodass Sie anstelle der Verwendung verwenden modifyvmkönnen, controlvmwenn die aktuelle VM ausgeführt wird.

Zum Beispiel:

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

Werden:

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

Vollständige Dokumentation Hier https://www.virtualbox.org/manual/ch08.html#vboxmanage-controlvm

Erman
quelle
7

Im Windows Task-Manager habe ich alle Aufgaben im Zusammenhang mit Virtual Box beendet (Sie können sehen, dass sie mit einem V im Task-Manager wie Vbox Headless.exe usw. beginnen). Nachdem ich das getan hatte, konnte ich diesen Fehler beheben (die oben genannten "vboxmanage startvm ... etc ..." - Lösungen hier funktionierten bei mir nicht).

Armyofda12Mnkeys
quelle
4

Wenn in der VirtualBox-Benutzeroberfläche ein Einstellungsfenster für dieses Feld geöffnet ist, tritt möglicherweise dieser Fehler auf. Schließen Sie einfach das Einstellungsfenster und versuchen Sie es erneut.

John Brandenburg
quelle
1

Ich habe heute die gleiche Fehlermeldung festgestellt:

>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*

Gergelys Antwort löst es perfekt. Es stellte sich heraus, dass beim Neustart eine Crontab festgelegt wurde, um die virtuelle Maschine zu starten, wodurch der oben gezeigte Drei-VBox-Prozess initiiert wurde

me@myhost:~$ crontab -l

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

Die einzige Option, die für mich funktioniert hat, war, alle Prozesse abzubrechen, die mit ps axl | grep -i vbox übereinstimmen.

Charles Thomas
quelle
0

In meinem Fall war die offensichtliche Ursache ein USB-Ethernet-Adapter, der nach dem Anhalten des Computers entfernt wurde. In meinem Fall,

vboxmanage startvm <vm-uuid> --type emergencystop

hat nicht geholfen. Stattdessen erhielt ich die verwirrende Nachricht, dass

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

Der wahre Fehler wurde durch Ausführen aufgedeckt

vboxmanage startvm <vm-uuid> --type gui

was zurückkehrte

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

Durch Ändern der Netzwerkkonfiguration auf einen anderen Netzwerkadapter wurde das Problem behoben.

zeeMonkeez
quelle