¿Por qué podría VirtualBox no encontrar una máquina llamada registrada Windows_7?

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

  •  05-09-2019
  •  | 
  •  

Pregunta

Estoy intentando cambiar TCP / UDP de una máquina virtual usando VBoxManage setextradata.

Cada vez que escribe el comando:

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

Me sale el siguiente error:

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}

El-máquina virtual ha sido creado usando interfaz gráfica de usuario. Alguna idea?

$ 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}
¿Fue útil?

Solución

Se produce un error porque está utilizando sudo. VirtualBox está diseñado para ser ejecutado por cualquier usuario (en el grupo vboxusers), y sudo ejecuta el comando como usuario root cuya configuración VirtualBox está vacío.

Puede comprobar que escribiendo:

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

Otros consejos

No es una respuesta directa, pero sólo para ponerlo ahí para otras personas en busca de ella:

Mac OS X , se puede decir VirtualBox para cargar las máquinas virtuales del directorio personal de otro usuario, siempre y cuando los permisos de archivo lo permiten, o si está ejecutando VirtualBox como usuario root utilizando sudo (por ejemplo, si es absolutamente necesario para acceder al servidor web de su anfitrión en el puerto 80).

La manera de hacer esto es establecer VBOX_USER_HOME apropiadamente, por ejemplo.

VBOX_USER_HOME=/Users/the_other_user/Library/VirtualBox

Si desea ejecutar VBoxHeadless bajo la raíz, utilice:

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

Yo tenía un mensaje de error similar, cada vez que he utilizado para iniciar sudo VBoxSDL:

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

Y al igual que ypocat respuesta 's, lo resolví para Ubuntu utilizando una pequeña script como el siguiente:

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

Se puede utilizar cada vez que se necesita para comenzar su VM como root.

SOLUTION_1

Falta de tecnología virtual podría ser la razón. Para los sistemas de Intel tienen Intel VT-x (para AMD tienen AMD-V), así que asegúrese de que está activado. Puede activarlo en la pantalla de arranque vaya a configuración del BIOS en el que buscan Configuración del sistema y permitir Tecnología virtual

instantánea .

SOLUTION_2

Abrir terminal o cmd (Ejecutar como administrador) para Windows , y SC START VBOXDRV plazo. Si se dice que el servicio ya se está ejecutando a continuación, tratar SC STOP VBOXDRV y luego SC START VBOXDRV.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top