Virtualbox의 VM이 세션에 대해 이미 잠겨 있거나 잠금 해제 됨


82

이 오류로 인해 virtualbox의 내 VM을 시작할 수 없습니다. 삭제하고 다시 설치하고 싶지 않습니다. 어쨌든 복구 하시겠습니까?

VBoxManageVagrant에서 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

답변:


135

명령 줄에서 실행하면 VM이 잠금 해제됩니다.

vboxmanage startvm <vm-uuid> --type emergencystop

<vm-uuid>오류 메시지의 번호는 어디에 있습니까 Command: ["modifyvm", "<vm-uuid>" [...]? 그 후 VM (시작, 중지 등)을 제어 할 수있었습니다. Ubuntu에서 Virtualbox 4.1 사용.


1
고맙습니다, 이것은 정말 나를 도왔습니다. docker의 공유 폴더와 관련하여 몇 가지 문제가 있습니다. 공유 폴더를 삭제할 수 없습니다 (오류 : 'ourspends'라는 이름의 공유 폴더를 찾을 수 없습니다). 또한 생성시 이미 존재한다고 표시되었습니다 ( '/에 매핑 된'ourspends '공유 폴더를 만들 수 없습니다. home / relu / projects / ourspends '(VERR_ALREADY_EXISTS))
— Relu Mesaros

정확히 어디에서 실행합니까? "vboxmanage"명령은 호스팅 시스템의 VBox 소프트웨어와 관련이 있고 VM 자체가이를 인식하지 못하기 때문에 분명히 이것은 VM 자체 내에서가 아닙니다. 반면에이 명령은 내 호스팅 컴퓨터 (제 경우에는 Windows 10)에서도 알 수 없습니다. 그럼 ...이 명령을 실행하려면 무엇을해야합니까?
— TheCuBeMan

Linux를 사용하는 터미널에서 실행했습니다. Windows에서는 명령 프롬프트 (cmd)에서 실행할 수 있다고 생각합니다. 그것은 버추얼 4.1 테스트되었습니다
— 곤잘로 Matheu을

4
사용 VBoxManage -nologo 목록 VMS 당신의 VM이-UUID 알아
— 야콥

3
Windows의 경우 전체 경로가 필요하므로 실행"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" <vm-uuid> --type emergencystop
— Felix Eve

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 문에 의해 반환 된 모든 프로세스를 종료 한 다음 "vagrant destroy"가 다시 작동했습니다.
— thebiggestlebowski

13

나를 위해 작업 관리자에서 VboxHeadless.exe 프로세스를 종료해야했습니다. 또한 CMD 프롬프트가 관리 모드에서 열려 있는지 확인해야했습니다.


Linux를 사용하여 나를 위해 일했습니다. 실행중인 다른 모든 VM도 정상적으로 종료하도록 조언합니다 ( ps aux | grep box터미널에있는 경우 사용할 수 있음 ).
— Dan


10

@Gonzalez의 답변이 매우 흥미 롭다는 것을 알았습니다.

vboxmanage startvm <vm-uuid> --type emergencystop

유일한 문제는 내 VM의 현재 인스턴스를 종료하므로 현재 VM이 실행중인 경우 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


7

Windows 작업 관리자에서 Virtual Box와 관련된 모든 작업을 종료했습니다 (Vbox Headless.exe 등과 같은 작업 관리자에서 V로 시작하는 것을 볼 수 있습니다). 일단 그렇게하면이 오류가 사라질 수있었습니다 (위의 'vboxmanage startvm ... etc ...'솔루션이 저에게 효과적이지 않았습니다).


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 프로세스를 시작한 가상 머신을 부팅하기 위해 재부팅시 crontab이 설정되어 있음이 밝혀졌습니다.

me@myhost:~$ crontab -l

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

0

나를 위해 일한 유일한 옵션은 ps axl | grep -i vbox와 일치하는 모든 프로세스를 종료하는 것입니다.


0

필자의 경우 명백한 원인은 컴퓨터를 일시 중단 한 후 제거 된 USB 이더넷 어댑터였습니다. 나의 경우에는,

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)

네트워크 구성을 다른 네트워크 어댑터로 변경하면 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.