虚拟机中的VM已锁定会话(或已解锁)

zjf*_*fdu 71 virtualbox

由于此错误,我在虚拟机中的VM无法启动,我不想销毁它并重新安装它,无论如何要恢复它?

执行时出现错误VBoxManage,Vagrant用于控制VirtualBox的CLI.命令和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
Run Code Online (Sandbox Code Playgroud)

Gon*_*heu 114

在命令行上运行此操作可以解锁VM:

vboxmanage startvm <vm-uuid> --type emergencystop
Run Code Online (Sandbox Code Playgroud)

<vm-uuid>错误消息中的数字在哪里:Command: ["modifyvm", "<vm-uuid>" [...].之后,我能够控制VM(启动,暂停等).在Ubuntu上使用Virtualbox 4.1.

  • 使用*VBoxManage -nologo list vms*找出你的vm-uuid (4认同)
  • 对于 Windows,您需要完整路径,因此运行 `"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" &lt;vm-uuid&gt; --type Emergencystop` (4认同)

Ger*_*oth 32

遇到同样的问题我发现有一个进程实际上锁定了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
Run Code Online (Sandbox Code Playgroud)

确保您没有尝试启动虚拟机的进程:

ps -ef | grep -i "vbox"
Run Code Online (Sandbox Code Playgroud)


Jan*_*ana 13

sudo pkill -9 VBox 杀死所有与 vbox 相关的运行


jre*_*50z 12

对我来说,我不得不在任务管理器中杀死VboxHeadless.exe进程.我还必须确保在管理模式下打开CMD提示.


arm*_*eys 7

在Windows任务管理器中,我结束了与Virtual Box相关的任何任务(您可以看到它们以任务管理器中的V开头,如Vbox Headless.exe等).一旦我这样做了,我就能得到这个错误消失(上面的'vboxmanage startvm ......等等......'这里的解决方案对我来说不起作用).


Erm*_*man 5

我发现@Gonzalez的答案非常有趣

vboxmanage startvm <vm-uuid> --type emergencystop
Run Code Online (Sandbox Code Playgroud)

唯一的问题是它将关闭我的VM的当前实例,因此如果当前的vm正在运行,则modifyvm可以使用controlvm它代替使用。

例如:

 VBoxManage modifyvm <vm_name> --natpf1 "guestssh,tcp,,22,,2222"
 VBoxManage modifyvm <vm_name> --natpf1 delete "guestssh"
Run Code Online (Sandbox Code Playgroud)

成为:

VBoxManage controlvm <vm_name> natpf1 "guestssh,tcp,,22,,2222"
VBoxManage controlvm <vm_name> natpf1 delete "guestssh"
Run Code Online (Sandbox Code Playgroud)

完整文档在这里 https://www.virtualbox.org/manual/ch08.html#vboxmanage-controlvm