El proceso es sencillo, pero algo farragoso de explicar solo con texto e imágenes, por lo que he preparado un vídeo explicando el proceso.
El resumen del vídeo, con algunas correcciones y los comandos escritos, es el siguiente:
- Apagar la máquina que vamos a operar.
- Clonar el disco duro de la máquina:
VBoxManage clonehd box-disk1.vmdk box-disk1-100gb.vdi --format vdi
- Ampliar el tamaño del disco duro, en este caso a 100GB.
VBoxManage modifyhd box-disk1-100gb.vdi --resize 102400
- Desenganchar el disco duro original y añadir el nuevo disco con 100GB.
- Arrancar con el nuevo disco desde un LiveCD o similar.
- Instalar gparted si no está instalado en el LiveCD. Para Debian sería:
apt install gparted
- Reparticionar el disco aprovechando los 100GB que ofrece el nuevo disco duro.
- Apagar la máquina, retirar el LiveCD y arrancar de nuevo para comprobar que ya tenemos el disco ampliado y visible desde la máquina.
Vídeo
Correcciones sobre el vídeo y notas
Comando de clonado
Por algún motivo en el vídeo no se se correctamente el comando. Parece poner clone, pero es clonehd.
Error operación no soportada al redimensionar
Si vemos este error:
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize medium operation for this format is not implemented yet!
Probablemente se debe a que estamos usando un disco que no es VDI. Esto sucede si clonamos por ejemplo un disco de tipo VMDK (VMware, formato muy típico para las boxes de Vagrant) y se nos ha olvidado el parámetro --format al usar el comando clonehd.
Pérdida de datos
Como se indica en el vídeo al estar trabajando con un clon del disco duro original no hay miedo a la pérdida de datos. En caso de desastre clonamos del disco duro original y volvemos a empezar.
Borrado del disco duro antiguo
El borrado del disco duro antiguo no se hace borrando directamente el fichero donde reside el disco duro. Se debe usar el gestor de medios de VirtualBox o la próxima vez que abramos el programa se quejará de que no encuentra el fichero que representa el disco duro.
Operar en un servidor headless
Si tenemos el Vagrant ya en un servidor careceremos de interfaz gráfica para hacer ciertas cosas. Si bien el disco duro ampliado de tamaño se puede descargar, operar en nuestro local para reparticionar y luego volver a subirlo no podemos adjuntar el disco duro al Vagrant mediante interfaz gráfica. Para ello podemos usar un comando parecido a este:
VBoxManage storageattach "nombre máquina virtual" --storagectl "SATA Controller" --port 1 --device 0 --type hdd --medium nombre-disco.vdi
Si ya hay un disco este comando lo sustituye.