由于此错误,我在虚拟机中的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.
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)
在Windows任务管理器中,我结束了与Virtual Box相关的任何任务(您可以看到它们以任务管理器中的V开头,如Vbox Headless.exe等).一旦我这样做了,我就能得到这个错误消失(上面的'vboxmanage startvm ......等等......'这里的解决方案对我来说不起作用).
我发现@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
归档时间: |
|
查看次数: |
57841 次 |
最近记录: |