Qué es, para qué sirve y qué obtendrás: En esta guía práctica aprenderás a clonar máquina virtual VirtualBox de forma segura y a cambiar o regenerar correctamente los UUID (tanto de la máquina como de los discos) para evitar conflictos al registrar o arrancar clones. Incluye pasos GUI y CLI con comandos reales, comprobaciones posteriores y soluciones comunes (conflictos de UUID, reactivación de Windows, machine-id en Linux).
clonar máquina virtual VirtualBox: conceptos rápidos
Al clonar, VirtualBox puede crear un clon completo (disco duplicado) o un clon enlazado (disco dependiente). Hay dos tipos de identificadores que conviene diferenciar: el UUID de la máquina (hardware-UUID), que identifica la VM en VirtualBox, y el UUID de disco (identificador del medio virtual). Además existen MACs de red y identificadores internos del sistema operativo (p. ej. /etc/machine-id en Linux). Si dos discos o VMs comparten UUID, VirtualBox rechazará registrar el medio o mostrará conflictos; si el invitado comparte IDs (Windows SID, Linux machine-id) puedes tener problemas operativos o de activación.
Requisitos y precauciones
- Haz copia de seguridad del archivo .vbox/.vbox-prev y de los discos (.vdi/.vmdk/.vhd) antes de tocar UUIDs: operaciones sobre discos pueden ser destructivas.
- Comprueba la versión de VirtualBox y el manual local si trabajas en una versión antigua. Las opciones descritas aquí están presentes en la serie 7.x de VirtualBox y en ramas 6.x/7.x de VBoxManage. (docs.oracle.com
- Si clonas Windows para producción o distribución, planifica Sysprep y la licencia; clonar un Windows activado puede requerir reactivación. (learn.microsoft.com
Métodos de clonación en VirtualBox (GUI vs CLI)
GUI (VirtualBox Manager): útil para usuarios gráficos y casos puntuales. CLI (VBoxManage): necesaria para automatización o control fino sobre opciones como conservar MACs, nombres de disco o UUIDs de hardware.
Clonar con la interfaz gráfica — pasos clave
- Apaga la VM origen (recomendado) o crea un snapshot del estado que quieras clonar.
- En VirtualBox Manager: botón derecho sobre la VM → «Clone…».
- Elige «Full clone» (copia independiente) o «Linked clone» (ahorra espacio pero depende del origen).
- Opciones: el asistente permite especificar si re-inicializar MACs; por defecto VirtualBox genera nuevos MACs y UUIDs salvo que marques conservarlos (no recomendable salvo que sepas lo que haces).
- Finaliza y comprueba en la lista de máquinas. Si aparece un error sobre UUID de disco, pasa al apartado de resolución con VBoxManage.
Clonar por línea de comandos: VBoxManage clonevm
El comando básico para clonar por CLI es:
VBoxManage clonevm "Origen" --name "Clon" --register --mode=all
Opciones útiles (–options) permiten controlar si se conservan MACs, nombres de disco o hardware UUIDs. Por ejemplo, para crear un clon exacto que reutilice MACs, nombres y UUIDs:
VBoxManage clonevm "Origen" --name "Clon" --register --mode=all --options=keepallmacs --options=keepdisknames --options=keephwuuids
Si no indicas esas opciones, VirtualBox genera nuevos valores por defecto. También puedes forzar un UUID concreto al crear el clon con –uuid o cambiarlo después con modifyvm. Estas opciones están documentadas en el manual de VBoxManage. (docs.oracle.com
Por qué usar CLI vs GUI
- CLI: automatización, scripting en plantillas, control exacto de opciones (keephwuuids, keepdisknames, etc.).
- GUI: cómodo para casos puntuales y visuales; menor riesgo de error en sintaxis, pero menos reproducible.
Cómo generar o forzar un nuevo UUID de máquina
Al crear un clon con VBoxManage puedes usar –uuid para asignar una UUID concreta a la nueva VM. Si prefieres que VirtualBox genere uno nuevo, simplemente omite –uuid y el sistema generará un identificador único.
VBoxManage clonevm "Origen" --name "Clon" --register --mode=all --uuid "123e4567-e89b-12d3-a456-426614174000"
Si ya has creado la VM y quieres cambiar la hardware-UUID registrada en la configuración de la VM:
VBoxManage modifyvm "Clon" --hardware-uuid "nuevo-UUID"
Nota: hardware-uuid es el valor que VirtualBox pasa al invitado como identificador de máquina; modificarlo no altera los UUIDs de los discos, que se gestionan por separado. (docs.oracle.com
Cambiar el UUID de un disco virtual
Si has copiado manualmente un archivo de disco (p. ej. duplicado .vdi fuera de VirtualBox) y al intentar registrar el medio obtienes un error de UUID duplicado, usa:
VBoxManage internalcommands sethduuid "/ruta/a/disco.vdi"
El comando asigna un nuevo UUID al fichero de disco. Si prefieres especificar el UUID, puedes pasarlo como segundo argumento. Este comando forma parte de los internalcommands y es la forma habitual para resolver errores de «UUID de disco ya existe». Haz copia de seguridad del fichero antes de usarlo. (renenyffenegger.ch
Comprobaciones posteriores
Después de clonar o cambiar UUIDs, comprueba lo siguiente desde el host:
- Ver información de la VM (incluido hardware UUID):
VBoxManage showvminfo "Clon" --machinereadable - Listar discos registrados y sus UUIDs:
VBoxManage list hdds
Estas comprobaciones confirman que la VM y los discos tienen identificadores únicos y que no hay conflictos en el registro de medios. (docs.oracle.com
Problemas frecuentes y soluciones
- Conflicto «UUID already exists» al registrar un disco: usa VBoxManage internalcommands sethduuid «/ruta/disco» (antes, copia de seguridad). Tras cambiar el UUID, vuelve a registrar el medio o la VM.
- VM con el mismo hardware-UUID que otra: cambia la hardware-UUID con VBoxManage modifyvm «VM» –hardware-uuid «nuevo-UUID» o recrea el clon con –uuid. Verifica con showvminfo.
- Windows pide reactivación o falla servicios: cuando clones Windows para desplegar varias instancias, usa Sysprep para generalizar la imagen antes de clonar; de lo contrario deberás reactivar y revisar licencias. Sysprep es la herramienta recomendada por Microsoft para preparar imágenes clonadas. (learn.microsoft.com
- Linux con identificadores duplicados (/etc/machine-id, claves SSH, udev): vacía o regenera /etc/machine-id en la plantilla y deja que systemd lo cree en el primer arranque o ejecuta systemd-machine-id-setup tras el primer arranque del clon. Esto evita colisiones en DHCP, journald y otros servicios. (freedesktop.org
Buenas prácticas después de clonar
- Actualizar VirtualBox Guest Additions dentro del invitado si procede (mejora integración y drivers). Puedes seguir nuestras guías sobre Guest Additions para Windows o Ubuntu según el invitado.
- Regenerar /etc/machine-id en Linux:
sudo truncate -s 0 /etc/machine-id sudo systemd-machine-id-setup - Si usas plantillas, deja el archivo /etc/machine-id vacío para que se regenere al primer arranque.
- Comprobar y, si es necesario, re-inicializar claves SSH del host invitado (ssh_host_*).
- Ajustar MACs de red si tu entorno depende de ellas (DHCP estático o filtros MAC).
- Actualizar snapshots y limpiar referencias a máquinas antiguas.
Guías relacionadas: antes o después de clonar puede interesarte ajustar la red interna en VirtualBox y actualizar Guest Additions. Consultas prácticas en nuestra web: Cómo configurar una red interna en VirtualBox (TecnoSender), Instalar Guest Additions en Ubuntu 24.04 (TecnoSender) y Instalar Guest Additions en Windows Server (TecnoSender).
Checklist rápido (resumen)
- Apagar la VM origen y hacer backup de .vbox y discos.
- Clonar (GUI o CLI). En CLI, ejemplo:
VBoxManage clonevm "Origen" --name "Clon" --register --mode=all - Si hay conflicto de disco, ejecutar:
VBoxManage internalcommands sethduuid "/ruta/disco.vdi" - Si necesitas forzar hardware UUID:
VBoxManage modifyvm "Clon" --hardware-uuid "nuevo-UUID" - Verificar:
VBoxManage showvminfo "Clon" --machinereadable VBoxManage list hdds - Entrar en el invitado: regenerar /etc/machine-id en Linux o ejecutar Sysprep en Windows si vas a distribuir la imagen.
Preguntas frecuentes
- ¿Puedo usar sethduuid sin riesgo? Sí, es la herramienta correcta para cambiar el UUID de un disco; sin embargo haz copia de seguridad antes. (renenyffenegger.ch
- ¿Qué pasa si no cambio /etc/machine-id? Varias máquinas clonadas pueden compartir journal, DHCP o identificadores de servicios; lo recomendable es regenerarlo. (textbookoflinux.com
- ¿Y las MACs de red? VirtualBox genera nuevas MACs por defecto; sólo conserva MACs si usas opciones como –options=keepallmacs al clonar. (docs.oracle.com
Si quieres, puedo redactarte un script de ejemplo para automatizar la clonación y la comprobación (CLI) adaptado a tu versión concreta de VirtualBox y a la ruta de tus discos.
