2016-02-03 15 views
33

Máy ảo của tôi trong hộp ảo không thể khởi động do lỗi này, tôi không muốn phá hủy nó và cài đặt lại nó, dù sao để khôi phục?VM trong virtualbox đã bị khóa cho một phiên (hoặc đang được mở khóa)

Đã xảy ra lỗi khi thực hiện VBoxManage, CLI được Vagrant sử dụng để điều khiển VirtualBox. Lệnh và stderr được hiển thị bên dưới.

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 

Trả lời

18

Có cùng một vấn đề tôi thấy rằng đã có một quá trình chạy thực sự khóa 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 

Hãy chắc chắn rằng bạn không có một quá trình khó khăn cố gắng để bắt đầu vm:

ps -ef | grep -i "vbox" 
+0

Điều này phù hợp với tôi. Tôi đã giết tất cả các quy trình được trả về bởi câu lệnh ps -ef và sau đó "phá hủy âm đạo" lại hoạt động trở lại. – thebiggestlebowski

1

Tôi đã gặp phải thông báo lỗi tương tự hôm nay:

>[email protected]:~$ 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* 

Câu trả lời của Gergely giải quyết nó một cách hoàn hảo. Nó bật ra rằng tôi đã là một crontab đặt ở reboot để khởi động máy ảo, mà bắt đầu quá trình ba VBox hiển thị ở trên

[email protected]:~$ crontab -l 

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

Chạy này trên dòng lệnh mở khóa VM:

vboxmanage startvm <vm-uuid> --type emergencystop 

Trong đó <vm-uuid> là số trong thông báo lỗi: Command: ["modifyvm", "<vm-uuid>" [...]. Sau đó tôi có thể điều khiển máy ảo (bắt đầu, dừng lại, vv). Sử dụng Virtualbox 4.1 trên Ubuntu.

+0

thanx người đàn ông, điều này thực sự đã giúp tôi, tôi đã có một số vấn đề liên quan đến một thư mục được chia sẻ trong docker. Tôi không thể xóa thư mục được chia sẻ (lỗi: Không thể tìm thấy thư mục được chia sẻ có tên 'ourspends'), và khi tạo, nó đã nói rằng nó đã tồn tại (Không thể tạo thư mục được chia sẻ 'ourspends' ánh xạ tới '/ home/relu/projects/ourspends '(VERR_ALREADY_EXISTS)) –

+0

Tôi có thể chạy chính xác ở đâu? Rõ ràng, đây không phải là từ bên trong VM, vì lệnh "vboxmanage" liên quan đến phần mềm VBox trên máy chủ lưu trữ và bản thân máy ảo không nhận ra điều này. Mặt khác, lệnh này cũng không được biết đến máy chủ của tôi (trong trường hợp của tôi, đó là Windows 10). Vậy ... tôi cần điều gì để chạy lệnh này? – TheCuBeMan

+0

Tôi đã thực thi nó trong một thiết bị đầu cuối bằng Linux. Tôi đoán rằng trong Windows nó có thể được thực hiện trong một Command Prompt (cmd). Nó đã được thử nghiệm với VirtualBox 4.1 –

6

Trong Windows Task Manager, tôi đã kết thúc bất kỳ tác vụ nào liên quan đến Virtual Box (bạn có thể thấy chúng bắt đầu bằng V trong Task Manager như Vbox Headless.exe, v.v.). Một khi tôi đã làm điều đó, tôi đã có thể nhận được lỗi này để biến mất (trên 'vboxmanage startvm ... vv ...' giải pháp ở đây đã không làm việc cho tôi).

-2

Tùy chọn duy nhất làm việc cho tôi là tiêu diệt tất cả các quy trình khớp với ps axl | grep -i vbox.

3

Nếu bạn có cửa sổ cài đặt mở cho hộp đó trong GUI VirtualBox, bạn có thể gặp phải lỗi này. Chỉ cần đóng cửa sổ cài đặt và thử lại.

0

Đối với tôi, tôi đã phải giết quá trình VboxHeadless.exe trong trình quản lý tác vụ. Tôi cũng phải đảm bảo dấu nhắc CMD đã được mở trong chế độ Quản trị.

Các vấn đề liên quan