VirtualBox가 Windows_7이라는 등록 된 컴퓨터를 찾을 수없는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/565680

  •  05-09-2019
  •  | 
  •  

문제

vboxmanage setextradata를 사용하여 가상 머신의 TCP/UDP를 변경하려고합니다.

명령을 입력 할 때마다 :

sudo VBoxManage setextradata Windows_7 "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestEmule_TCP/Protocol" TCP

다음 오류가 발생합니다.

VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling a->virtualBox->FindMachine(Bstr(a->argv[0]), machine.asOutParam()) at line 3688!
[!] Primary RC  = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - Object corresponding to the supplied arguments does not exist
[!] Full error info present: true , basic error info present: true 
[!] Result Code = VBOX_E_OBJECT_NOT_FOUND (0x80BB0001) - Object corresponding to the supplied arguments does not exist
[!] Text        = Could not find a registered machine named 'Windows_7'
[!] Component   = VirtualBox, Interface: IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}
[!] Callee      = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}

가상 기계는 GUI를 사용하여 만들어졌습니다. 아이디어가 있습니까?

$ cd /Users/marco/Library/VirtualBox/Machines/Windows_7
$ ls
Logs                Windows_7.xml
Windows 7.xml.1.5-macosx.bak
$ sudo vboxmanage registervm Windows_7.xml
VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling a->virtualBox->OpenMachine(Bstr(a->argv[0]), machine.asOutParam()) at line 762!
[!] Primary RC  = NS_ERROR_FAILURE (0x80004005) - Operation failed
[!] Full error info present: true , basic error info present: true 
[!] Result Code = NS_ERROR_FAILURE (0x80004005) - Operation failed
[!] Text        = Could not lock the settings file '/var/root/Library/VirtualBox/Windows_7.xml' (VERR_FILE_NOT_FOUND)
[!] Component   = Machine, Interface: IMachine, {ea6fb7ea-1993-4642-b113-f29eb39e0df0}
[!] Callee      = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}
도움이 되었습니까?

해결책

Sudo를 사용하고 있기 때문에 실패합니다. VirtualBox는 모든 사용자가 실행하도록 설계되었습니다 ( vboxusers Group) 및 Sudo는 VirtualBox 구성이 비어있는 루트 사용자로 명령을 실행합니다.

입력하여 확인할 수 있습니다.

sudo VBoxManage -nologo list vms # Should print only a newline
VBoxManage -nologo list vms # Detailled information about all your VMs

다른 팁

직접적인 답이 아니라 다른 사람들이 그것을 검색하는 것을 위해 그것을 내놓기 위해 :

맥 OS X, 파일 권한이 허용하는 경우 다른 사용자의 홈 디렉토리에서 VM을로드하거나 VirtualBox에 VM을로드하거나 사용하는 루트 사용자로서 VirtualBox를 실행중인 경우 sudo (예 : 포트 80의 호스트 웹 서버에 절대적으로 액세스 해야하는 경우).

이것을하는 방법은 설정하는 것입니다 VBOX_USER_HOME 적절하게, 예를 들어

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox

달리기를 원한다면 VBoxHeadless 루트 아래에서 사용 :

sudo VBOX_USER_HOME=/Users/your_user_id/Library/VirtualBox nohup \
   VBoxHeadless -s "IE10 - Win7" </dev/null &>/dev/null &

사용할 때마다 비슷한 오류 메시지가있었습니다. sudo 시작한다 VBoxSDL:

Error: machine with the given name not found!
Check if this VM has been corrupted and is now inaccessible.

그리고 비슷합니다 ypocat대답, 나는 그것을 해결했다 우분투 이와 같은 작은 스크립트 사용 :

#!/bin/bash
export VBOX_USER_HOME=/home/username/.config/VirtualBox
VBoxSDL --startvm nameOfVM

시작할 때마다 사용할 수 있습니다. VM ~처럼 root.

솔루션 _1:

가상 기술이 누락 된 것이 이유 일 수 있습니다. 인텔 시스템의 경우 인텔 VT-X (AMD의 경우 AMD-V가 있음)가 있으므로 활성화되어 있는지 확인하십시오. 부팅 화면에서 활성화 할 수 있습니다. BIOS 설정 그 점에서 시스템 설정 탭 및 활성화 가상 기술

snapshot.

솔루션 _2:

터미널 또는 CMD를 열기 (관리자로 실행) , 그리고 달리기 SC START VBOXDRV. 서비스가 이미 실행 중이라는 경우 SC STOP VBOXDRV 그리고 SC START VBOXDRV.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top