Intentando abrir una configuración de VM que tenga el mismo UUID que una máquina virtual existente

26

Cuando intento agregar dos máquinas virtuales VirtualBox que se copiaron originalmente (a través de una simple copia de archivo) de la misma fuente, al agregar la segunda recibo el mensaje

Failed to open virtual machine [...]
Trying to open a VM config [...] which has the same UUID as an existing virtual machine.

(Sí, las máquinas deberían haberse clonado en lugar de una simple copia de archivo, pero es demasiado tarde en este momento).

Tgr
fuente

Respuestas:

40

Puede usar VBoxManage internalcommands sethduuid <VDI/VMDK file>(Ejecutar desde el directorio de instalación de VBox) para cambiar el UUID HD, pero esto tiene dos inconvenientes: no actualiza el .vboxarchivo y no cambia el UUID de la máquina (no encontré ninguna forma de hacerlo con VBoxManage ), solo el UUID HD.

Lo siguiente funcionó para mí (Win 7, la versión más reciente de VirtualBox):

  1. ejecutar VBoxManage internalcommands sethduuid <VDI/VMDK file> dos veces (la primera vez es solo para generar convenientemente un UUID, puede usar cualquier otro método de generación de UUID en su lugar)
  2. abrir el .vboxarchivo en un editor de texto
  3. reemplace el UUID encontrado <Machine uuid="{...}"con el UUID que obtuvo cuando ejecutó sethduuidla primera vez
  4. reemplace el UUID encontrado en <HardDisk uuid="{...}"y <Image uuid="{}"hacia adentro (hacia el final) con el UUID que obtuvo cuando ejecutó sethduuidla segunda vez

Puede agregar la máquina virtual después de eso. No es una solución muy limpia, pero no parece causar ningún problema.

Tgr
fuente
1
Esto funcionó para mí, pero también tenía un DVD "insertado" en la máquina virtual que estaba copiando manualmente. Cuando edité mi archivo .vbox, tuve que cambiar <DVDImages>...</DVDImages>a simplemente <DVDImages />a "expulsión" del DVD con el UUID duplicado.
JPhi1618
Tenga en cuenta que si la VM tiene instantáneas, también deberá realizar los mismos pasos en los archivos vdi de la carpeta "Instantáneas".
Laurent
6

He encontrado una forma más sencilla de hacerlo.

Clonar la máquina virtual existente. Esto crea una nueva versión con presumiblemente un nuevo uuid, pero en todos los demás aspectos es la misma máquina.

Luego copie el que desea agregar, a su \ usuario (su nombre) \ Virtual Box VMs \ (o donde sea que esté la ubicación de sus máquinas virtuales) y sobrescriba todos los archivos existentes allí, para reemplazar la máquina existente.

Primero haría una copia de seguridad de la máquina existente por si acaso, antes de hacerlo, pero funcionó bien aquí. Lo usó para volver a una copia de seguridad anterior de una VM manteniendo la versión existente como un clon.

Robert Walker
fuente
Si tiene suficiente espacio en disco, esta es la forma más fácil, gracias Robert.
sddk
Si alguien hace esto, deben asegurarse de que el archivo vbox tenga una etiqueta uuid de hardware que coincida con la máquina uuid :: <hardware uuid = "{...}">, entonces pueden cambiar el uuid del disco duro y el uuid de la máquina sin cualquier problema. <hardware uuid = "{...}">
StixO
2

Me doy cuenta de que esta es una publicación anterior, pero me encontré con este error. Lo resolví por:

  1. Abrir Virtual Box Manager
  2. Haga clic derecho en la máquina virtual en Virtual Box Manager
  3. Haga clic en "Eliminar"
  4. Aparecerá una ventana emergente. Elija "Eliminar solo", que simplemente eliminará todos los rastros de la caja virtual del Administrador de cajas virtuales
  5. Cierre el administrador de la caja virtual
  6. Usando el administrador de archivos de Linux, busque la carpeta que contiene la máquina virtual
  7. Eliminar (o mover) todo, EXCEPTO el archivo de disco duro virtual .vmdk
  8. Abrir Virtual Box Manager
  9. Haga clic en "Máquina"
  10. Haga clic en "Nuevo"
  11. Nombra la nueva máquina (usé el mismo nombre que usé originalmente)

    NOTA: El nombre de la máquina se convertirá en el nombre del directorio que contendrá la máquina virtual, así que elija con prudencia y tenga en cuenta que si desea que el archivo .vmdk resida en el nuevo directorio, tomará pasos adicionales en Virtual Box Gerente

  12. Seleccione el tipo y la versión adecuados para la máquina virtual que tenía el problema y haga clic en "Siguiente"
  13. Seleccione el tamaño de memoria que desea asignar a la máquina virtual y haga clic en "Siguiente"
  14. Seleccione "Usar y el archivo de disco duro virtual existente" y selecciónelo buscando su ubicación
  15. Seleccione "Crear"

Simplemente siga las indicaciones desde allí y luego inicie la máquina virtual.

Todo funciona bien, no se requiere reactivación de Windows o etc.

Dale Reynolds
fuente
1

También puede clonar la máquina existente y luego ir a la configuración y cambiar el almacenamiento para usar el .vmdk que había copiado anteriormente.

Toby
fuente
1

Si no puede iniciar debido a este error, simplemente 'Eliminar ...' la entrada del 'Oracle VM VirtualBox Manager' . Esto borrará el conflicto y luego podrá abrir la VM desde su nueva ubicación.

... En ese momento, puede realizar un clon si eso es lo que pretende. En mi caso, no se requirió ningún esfuerzo adicional ya que no tenía más necesidad de la ubicación original de la VM.

sin bar
fuente
Esta es, con mucho, la solución más simple, y no solo eso, funciona.
shmu
-1

El usuario TGR lo hizo bien, pero tuve que hacer un cambio adicional: en el vbox XML necesitaba cambiar el uuid de la imagen para que coincida con el uuid del disco duro (el segundo UUID generado en la línea de comando)

<StorageControllers>
   <StorageController ...>
     <AttachedDevice ...>
       <Image uuid="{ [second UUID] }"/>
DakotaHoosier
fuente
-1

He encontrado otra manera más simple que cualquier otra. Solo tiene que eliminar la máquina virtual de la interfaz de Virtual Box (si le pregunta si desea eliminar los archivos de la VM, ¡responda NO !, o perderá la VM). Y luego vaya al archivo .vbox y ábralo (con Virtual Box). Debería funcionar porque ha eliminado el UUID (mientras eliminó la VM). Al menos funcionó para mí ...

Marouan Kouitra
fuente