2013-08-18 19:45:47 +0000 2013-08-18 19:45:47 +0000
252
252

¿Cuál es la forma recomendada de mover un VirtualBox VM a otro ordenador?

Utilizo VirtualBox 4.1.x en mi máquina de Ubuntu y he configurado varias máquinas virtuales. Ya que hay varias maneras de mover una máquina virtual en VirtualBox a otro ordenador, me preguntaba cuál es la manera recomendada:

  1. Usar la “Utilidad de Importación/Exportación”.
  2. Copie toda la carpeta de la máquina virtual, que contiene los archivos .vdi y .vbox.
  3. Clonar el VDI usando el “Virtual Media Manager” y luego recrear un VM en la máquina destino pero usando el VDI clonado como disco duro.

He usado exitosamente el 1er método varias veces y siempre ha funcionado. El problema es que después de exportar e importar, la imagen del disco se transforma en VMDK y ya no en VDI!

El 2º método es probablemente el más fácil, pero no estoy seguro de que simplemente copiar los archivos funcione o no en la máquina destino. Al buscar sobre este método, encontré que algunas personas tenían problemas en los que tenían que editar el archivo VirtualBox.xml para resolverlo!

Por fin existe el 3º método , pero requiere el trabajo extra de crear un VM similar a la configuración original del VM, lo cual no es deseable.

De la explicación anterior se desprende claramente que mi método deseado es el 2º, pero necesito el consejo de un experto en esto si funciona o no. No quiero que ninguna edición XML se interponga en mi camino!

¿Cuál es el mejor método para transferir con seguridad mi VM a otro ordenador con VirtualBox?

Respuestas (9)

177
177
177
2013-08-18 20:53:14 +0000

Bien hecho por hacer tu investigación. Utilizo regularmente las tres opciones.

  1. (Use la “Utilidad de Importación/Exportación”)_. Esta es la más fácil porque combina todo el VM en un solo archivo y lo transfiere sin problemas casi siempre. Sin embargo, en mi experiencia al crear el archivo OVA o OVF para exportar se tiran todas las instantáneas y si se hace incorrectamente puede resultar en un archivo VMDK. Cuando reimportas el VM deberías poder seleccionar qué tipo de archivo HDD quieres crear, VDI o VMDK.

  2. (Copie toda la carpeta de la máquina virtual, que contiene los archivos .vdi y .vbox)_. Esta es mi opción preferida y aunque he tenido que editar el archivo XML unas cuantas veces ha sido mi propia culpa por estropear algo. Asegúrate de que cuando copies la máquina virtual, obtengas TODOS los archivos asociados a ella. Los problemas con los que me encontré fueron cuando ciertas instantáneas y archivos VDI secundarios estaban en el directorio equivocado y no se copiaban correctamente. Si copias todos los archivos (y los permisos) no deberías tener ningún problema.

  3. (Clonar el VDI usando el “Virtual Media Manager” y luego recrear un VM en la máquina destino pero usando el VDI clonado como disco duro)._ Esto es menos deseable porque entonces usted tiene 2 copias de un VM, y puede causar problemas de licencia, problemas de red, etc., dependiendo de cómo clone el archivo VDI.

En resumen, definitivamente recomendaría la opción 2, sólo asegúrese de obtener todos los archivos necesarios cuando lo mueva.

54
54
54
2015-09-24 19:35:02 +0000

El método 2 funciona bien ahora (con VirtualBox 4.0 y superior), sin necesidad de modificar el XML:

  1. Detenga su máquina virtual
  2. Salga de VirtualBox
  3. Copie la carpeta de la máquina virtual a la nueva ubicación
  4. 4. Reinicie VirtualBox y elimine el antiguo VM.
  5. Vaya al menú de la máquina ≥ 6. Agregue y busque en su antigua carpeta.

¡Eso es!

ps: Tengo VirtualBox 4.3.20 en OSX 10.10

Vea este post del foro de VirtualBox para más detalles.

21
21
21
2015-09-25 17:14:10 +0000

Mi opción preferida es la opción 2 también:

  1. Copiar toda la carpeta VM, que contiene los archivos .vdi y .vbox.

Pero a veces se produce un desajuste de UUID. A menudo esto ocurre si sólo se copia la imagen de disco VDI de una máquina en otra máquina, pero yo también lo he hecho durante las copias directas de directorios completos.

Así que, si este es el mensaje que recibes después de mover la máquina virtual y tratar de iniciarla en la nueva configuración:

Failed to open the hard disk .

No se puede registrar el disco duro porque ya existe un disco duro con UUID.

Sólo tienes que ir al directorio de tu máquina virtual; por supuesto, cambia la ruta real para que coincida con la ruta real a la que vas:

cd /full/path/to/virtualbox/virtualmachine/Sandbox

Y ejecuta este comando para asignar al disco un nuevo UUID:

VBoxManage internalcommands sethduuid Sandbox.vdi
9
9
9
2014-08-16 12:21:03 +0000

En caso de que alguien más esté buscando una respuesta a esto, he movido con éxito 5 Virtual Box VMs a otra instalación Win7 en un nuevo disco duro en la misma máquina (esencialmente un movimiento de un sistema operativo invitado a otro en el mismo PC). Me doy cuenta de que los controladores en una máquina completamente nueva probablemente variarían y potencialmente tendrían un efecto negativo en el traslado, pero he documentado el proceso a continuación con la esperanza de que pueda ayudar a alguien.

  • No había ningún requisito para clonar VMs o alterar el archivo xml. La versión VB era bastante actual: 4.3.12r93773.
  • Se crearon nuevas copias de VMs en una nueva carpeta/unidad compartida para mantener los VMs existentes/antiguos intactos. Todavía puedo arrancar desde el viejo disco duro que he conservado para redundancia/resolución de problemas hasta que esté contento con mi nueva configuración; así puedo acceder a los antiguos VMs en su estado anterior si es necesario.
  • Las letras de las unidades variarán/no serán necesarias dependiendo de su configuración.

En el viejo Win7 Host:

  1. Asegúrate de que todos los VMs estén apagados.

En el nuevo host Win7:

  1. Crear una nueva carpeta llamada X:\NNNNNNewVMs\NVirtualBox VMs (desde la nueva máquina Win7 para asegurar que los permisos están bien)
  2. Copiar/Pegar (no arrastrar) todos los VMs y el contenido de la carpeta relacionada de la carpeta antigua a esta carpeta (utiliza nuevos permisos)
  3. Desinstalar VirtualBox (si está instalado)
  4. Eliminar la carpeta .virtualbox y todos los contenidos (si existen)
  5. Reiniciar para confirmar que no quedan archivos de programa o entradas de registro (si se está desinstalando el VirtualBox antiguo)
  6. Instalar/Reinstalar VirtualBox (asegúrese de que está utilizando la misma versión que el VirtualBox en el que se crearon los VM en el antiguo host/máquina (en mi caso ver. 4.3.12r93773)) IMPORTANTE: (No seleccione la casilla de verificación para abrir/ejecutar VirtualBox al final de la instalación)
  7. Copie/pegue (no arrastre) la carpeta .virtualbox y los contenidos del antiguo host Win7 (generalmente C:\Users[nombre de usuario].VirtualBox
  8. Ahora abre VirtualBox
  9. 9. Establezca las preferencias para la nueva carpeta de creación de VM por defecto en la misma ruta de archivo que la carpeta de VMs de VirtualBox recién creada: X:\NNNNNuevas VMs\NVirtualBox VMs
  10. Estado de prueba de VMs

Buena suerte.

2
2
2
2016-03-22 03:42:08 +0000

Para el caso especial en que:

  • sólo tienes un sólo VM (o quieres mover todos tus VMs),
  • y el host es el mismo hardware con la misma versión de SO (o reinstalando el mismo SO a la misma máquina)

Si estás en este caso, entonces las cosas son fáciles:

  1. Apagar VirtualBox en ambos hosts.
  2. Copia las carpetas .config/VirtualBox y VirtualBox VMs del host de origen.
  3. Copie estas carpetas al host de destino.
  4. 4. Inicie VirtualBox en el host de destino
1
1
1
2018-06-28 21:44:12 +0000

El 4º Camino

En VirtualBOX:

  1. Apaga el VM
  2. Haga clic con el botón derecho y elimine el VM (no borre los archivos)
  3. Ve al archivo {>Manejador de Medios Virtuales y elimina el .vdi
  4. 4. Vaya a File>Preferences>General y configure la carpeta de la máquina por defecto en la nueva ubicación
  5. Cree una nueva VM use el modo experto para crear la VM sin disco duro

En el Explorador de Archivos:

  1. Localice el archivo .vdi y cópielo
  2. Vaya a la nueva carpeta de la máquina por defecto, habrá una carpeta VM dentro
  3. Pegue el archivo .vdi en la nueva carpeta VM

En la VirtualBOX:

  1. Haga clic con el botón derecho del ratón en el VM y abra la configuración
  2. 2. Vaya a Storage>Controller: SATA y agregue un disco duro, haga clic en elegir un disco existente 11.elija el archivo .vdi en la nueva carpeta de la VM

Nota: Si el método 2 rompe su instalación de VirtualBOX vaya a C:\Usuarios.VirtualBox y elimine VirtualBox.xml y cambie el nombre de VirtualBox.xml-prev a VirtualBox.xml

0
0
0
2016-09-12 21:36:17 +0000

Usé el método 2 también para mover mi máquina virtual y no tuve que hacer ningún cambio en ningún archivo XML, pero tuve un par de errores con el USB y el intercambio de archivos y a continuación se muestra cómo los arreglé junto con el proceso:

  1. Copiar la máquina virtual de la vieja a la nueva PC. Los archivos de la máquina virtual son diferentes a los de la propia máquina virtual de Oracle. Estos archivos están típicamente en _c:\Nlos usuarios\Nde la máquina virtual. Tomé toda la parte de la _Maquina Virtual Virtual Box y la copié en un lugar similar en la nueva PC. Esto copia todas las máquinas virtuales que tenía en el PC original.

  2. Ahora en el nuevo PC, ejecuta la caja virtual y ve al Menú \ ~ - Máquina \ ~ - Agregar y seleccione el archivo .vbox de la carpeta copiada. Eso es todo.

  3. Ahora, cuando ejecuto la máquina virtual en un nuevo PC, tengo un error al arrancar:

  1. No sé por qué el controlador USB no funcionaba porque el mismo funcionaba en el ordenador original. Me adelanté e instalé VirtualBox Extension Pack

  2. Esta instalación fue un poco rara porque la descarga de la instalación no era un archivo ejecutable. Hice click en Oracle_VM_VirtualBox_Extension_Pack-5.1.4-110228.vbox-extpack y seleccioné ‘Select a program from a list of Installed programs’ y luego seleccioné Oracel virtualbox e instaló la extensión. Eso arregló el problema, pero otra solución menos deseable es que puede deshabilitar el usb.

  3. Si tenías carpetas compartidas en la VM original, pueden ser diferentes y obtendrás un error. Revisa las de Configuración >> Carpeta compartida y elimina las que estén rotas. Un mensaje de error se verá como

.

Eso es todo.

-1
-1
-1
2017-01-03 15:03:14 +0000

zar, lo primero es lo primero… nunca jamás muevas una máquina que esté en estado guardado, antes de moverla debes apagar el huésped, no sólo guardar el estado.

También asegúrate de que usas la misma versión de VirtualBOX en ambos huéspedes, pero no sólo la versión de VirtualBOX, también el paquete de extensión vesion… o al menos el nuevo huésped tiene una versión más alta, pero nunca jamás una versión más baja en ninguno de esos dos.

Y finalmente, lo aprendí de la manera difícil, borrar la configuración de la carpeta SHARED en VirtualBOX antes de mover la máquina, y luego recrearla de manera correcta… muy importante cuando los hosts son diferentes OS (hosts Windows / Linux).

Y sólo como nota al margen… siempre, siempre uso archivos VDI inmutables de disco duro tanto para OS como para VDIs de datos (de esa manera la misma VDI de datos puede ser usada para más de un huésped), especialmente el truco para el archivo de página 4GiB. sys

Esta última parte, la reutilización de un archivo VDI inmutable hace las cosas un poco más difíciles, VirtualBOX tiene un GRAN BUG.

Para ver el BUG en acción:

  • Crear un VDI inmutable (como el que uso para pagefile.sys)
  • Crear dos o tres VM’s en VirtualBOX
  • Mover uno de ellos a la parte superior de la lista (para evitar que se dañe alguno de los suyos)
  • Retroceder el . vbox de cada una de las máquinas que creó (para compararlo después de que ocurra el BUG)
  • Adjuntar ese VDI inmutable a más de una de esas máquinas (excepto la que está en la parte superior de la lista)
  • Ahora vea el .vbox de la máquina que está en la parte superior de la lista

Esa máquina ha sido editada, tiene referencias a las otras máquinas VDI inmutables.

Así que el BUG es: Editar una máquina añadiendo un VDI inmutable que es usado por otra afecta a la máquina que está en la parte superior de la lista

¿Por qué demonios reutilizo el mismo VDI 4GiB en todas las máquinas de Windows? Fácil, es un disco MBR con una partición FAT32 donde pongo pagefile.sys, ya que es inmutable todas las máquinas virtuales crearán un archivo en su carpeta de instantáneas donde almacenan los cambios, y que se pierden en el siguiente arranque, por lo que no necesito 4GiB por cada huésped almacenado en el disco anfitrión, sólo uno… De esta forma me ahorro un montón de GiB ya que tengo más de 20 ventanas diferentes para probar las aplicaciones que desarrollo por mi cuenta, todas combinaciones de (XP, Vista, 7, 8, 8.1, 10)*(32Bits, 64Bits) * (Tal y como es en la primera instalación, después de cada ServicePack, después de la actualización completa de windows), obtengo un montón, un montón de huéspedes… así que en todos ellos comparto el inmutable 4GiB VDI para el ram virtual (pagefile.sys).

Y si dejas que el BUG vaya más allá, intenta mover una de esas máquinas a otro host de VirtualBOX (recuerda que sólo son máquinas virtuales con una configuración en ellas y ningún guest aún instalado en ellas), verás que VirtualBox no te permite añadirlas ya que faltan algunas VDIs (es FALSO y VERDADERO, es que esa primera máquina contiene las referencias a esas VDIs insteed de estar en la máquina correcta).

Ahora compara el . VBOX de todos ellos con los BackUp anteriores… ¿notan cómo uno es modificado erróneamente?… sí, es el que está en la parte superior de la lista.

Bien, este BUG fue informado a VirtualBOX hace algunos años, todavía no pueden arreglarlo… y está causando muchos, muchos problemas.

Además, si mueves el superior de las máquinas virtuales a una posición inferior, cierras VirtualBox y lo relanzas… te dirá que algunas máquinas están dañadas y no se pueden arrancar… sí el primero de la lista debe ser tratado de forma diferente si no quieres tener muchos problemas.

Es un BUG muy malo que me llevó muchos días descubrir (hace algunos años) ¡lo aprendí de la manera difícil!

Lo había superado al tener una máquina a la que llamé:

  • Common Inmutable Disks

Tiene una configuración vacía y sólo un VDI, sí, tienes razón, lo has adivinado, el VDI inmutable que comparto para todas las demás máquinas virtuales.

Bueno cuando abro el archivo .VBOX veo en su interior un montón de líneas en la sección <MediaRegistry> <HardDisks>, una por cada máquina en la que uso ese VDI inmutable… sólo como muestra (elimino los datos privados):

<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="...UUID..." location="D:\VDIs\_Virtual_Memory_.vdi" format="VDI" type="Immutable">
      <HardDisk uuid="{...UUID...}" location="Snapshots\{...UUID...}.vdi" format="VDI" autoReset="true"/>
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows001 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows002 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows003 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows004 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows005 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows006 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows007 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows008 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows009 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows010 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows011 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows012 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows013 ... // This belongs to other virtual Machine
      ... and so on ... // This belongs to other virtual Machine
    </HardDisk>
  </HardDisks>
</MediaRegistry>

Bastante BUG, no resuelto desde hace años.

Bueno, para mover esas máquinas… hay que editar manualmente el . VBOX, para poner todas esas referencias de discos en el nuevo host de la primera máquina (la que está en la parte superior de la lista) antes de agregar los archivos .VBOX a la lista, de modo que al agregarlos VirtualBOX tenga las referencias de los VDIs faltantes (faltantes causados por el gran BUG).

La cosa ocurre porque cada vez que conectas un VDI que es usado en otra máquina VirtualBOX actualiza dos máquinas . VBOX (la que pertenece a la máquina que estás usando) y a la primera de la lista.

No estoy totalmente seguro de lo que pasaría cuando en la lista, la primera no tiene una VDI tan común adjunta a ella… mejor no intentarlo, mira lo que veo.

Así que migrar a otro HOST es mucho más complicado de lo que parece por una muy mala implementación en los archivos .VBOXestructura interna y debido a los grandes BUGs cuando VirtualBOX los edita.

Falla:

  • La estructura interna (XML) depende del HOST (Windows o Linux)
  • Editar una máquina puede alterar otra, no sólo la que está siendo editada
  • … ¿qué más?

Necesito más… Siempre migro las máquinas haciendo esto (y no tuve ningún problema, nunca jamás):

  1. Toma nota de la lista de todas las máquinas (orden, agrupación, etc.)
  2. Toma nota del primero de la lista (toda su configuración)
  3. Toma nota de todas las propiedades de las máquinas que quiero mover a otro host
  4. 4. Copie los archivos .vbox como archivos .txt (el que está en la parte superior de la lista + todas las máquinas que quiero migrar)
  5. Recree todas las máquinas (y tenga una especial en la parte superior de la lista) dentro de VirtualBox en el nuevo host
  6. Haga una copia de los archivos .vbox como archivos .txt (el que está en la parte superior de la lista + todas las máquinas que quiero migrar)
  7. Haga una copia de los archivos .vbox como archivos .txt (el que está en la parte superior de la lista + todas las máquinas que quiero migrar)
  8. Haga una copia de los archivos .vbox como archivos .txt. Cerrar VirtualBox en el nuevo host
  9. Diff comparar el antiguo .txt con los nuevos archivos .vbox y copiar desde el .txt al .vbox algunas partes en forma humana, no sólo Copiar & Pegar
  10. Abra VirtualBox y adjunte todos los VDI en el orden correcto
  11. Nuevamente cierra VirtualBox en el nuevo host
  12. Diff compara el viejo .txt con los nuevos archivos .vbox y ‘arregla’ desde el .txt al .vbox algunas partes en forma humana, no sólo Copiar & Pegar

Todo el resto (carpeta de snapshots y archivos VDI) los copio en la forma normal (Sistema de Archivos Copiar & Pegar)

Todo ese duro trabajo manual es causado por el Big BUG VirtualBox: Edita / altera una máquina que no ha sido modificada cuando se adjunta un VDI inmutable que se utilizan en más de una máquina, de lo contrario un simple Copiar & Pegar el archivo .VBOX sería suficiente (después de arreglar las rutas de las carpetas compartidas, etc).

-2
-2
-2
2017-04-27 23:51:57 +0000

Copie la carpeta que contiene la máquina a su destino, luego desde el menú: “Máquina” —> “Agregar”, y luego elija el archivo vbox, NO el archivo vdi. Para mí, esto fue perfecto. No estoy seguro de si tuve suerte, o si se supone que funciona de esta manera.