Virtualbox의 VM이 세션에 대해 이미 잠겨 있거나 잠금 해제 됨
이 오류로 인해 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
명령 줄에서 실행하면 VM이 잠금 해제됩니다.
vboxmanage startvm <vm-uuid> --type emergencystop
<vm-uuid>
오류 메시지의 번호는 어디에 있습니까 Command: ["modifyvm", "<vm-uuid>" [...]
? 그 후 VM (시작, 중지 등)을 제어 할 수있었습니다. Ubuntu에서 Virtualbox 4.1 사용.
동일한 문제가 발생하여 실제로 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"
나를 위해 작업 관리자에서 VboxHeadless.exe 프로세스를 종료해야했습니다. 또한 CMD 프롬프트가 관리 모드에서 열려 있는지 확인해야했습니다.
Windows 작업 관리자에서 Virtual Box와 관련된 모든 작업을 종료했습니다 (Vbox Headless.exe 등과 같은 작업 관리자에서 V로 시작하는 것을 볼 수 있습니다). 일단 그렇게하면이 오류가 사라질 수 있습니다 (위의 'vboxmanage startvm ... etc ...'솔루션이 저에게 효과적이지 않았습니다).
@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
VirtualBox GUI에서 해당 상자에 대한 설정 창이 열려 있으면이 오류가 발생할 수 있습니다. 설정 창을 닫고 다시 시도하십시오.
sudo pkill -9 VBox
vbox와 관련된 모든 실행을 종료합니다.
오늘도 같은 오류 메시지가 나타납니다.
>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
나를 위해 일한 유일한 옵션은 ps axl | grep -i vbox와 일치하는 모든 프로세스를 종료하는 것입니다.
필자의 경우 명백한 원인은 컴퓨터를 일시 중단 한 후 제거 된 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)
네트워크 구성을 다른 네트워크 어댑터로 변경하면 문제가 해결되었습니다.
'Program Tip' 카테고리의 다른 글
tools.jar을 찾을 수 없습니다. (0) | 2020.11.03 |
---|---|
git 태그의 시간과 날짜 가져 오기 (0) | 2020.11.03 |
단위 테스트 채택 (0) | 2020.11.03 |
주석 필드의 기본 null 값을 설정하는 동안 오류가 발생했습니다. (0) | 2020.11.03 |
Django DateField 기본 옵션 (0) | 2020.11.03 |