Aprende a modificar fácilmente el tamaño del disco de un disco virtual asignado dinámicamente de VirtualBox.

Cómo aumentar el tamaño del disco de un disco asignado dinámicamente en VirtualBox

Por lo general, para los tutoriales de Ubuntu que están escritos en el blog, los pruebo primero en máquinas virtuales para poder verificar si también funcionarán en el servidor. En los últimos días, al instalar un montón de paquetes y aplicaciones, apareció la siguiente advertencia:

Low Disk Space Ubuntu

Este fue mi problema desde el principio, ya que pensé que tenía 100 GB, pero en su lugar, creé una unidad virtual de solo 10 GB. Como tenía muchas cosas importantes allí, me negué a crear una nueva máquina virtual con un disco más grande, pero en cambio, investigué cómo hacer más grande el disco virtual actual. Después de investigar un poco, descubrí que no era tan fácil como pensaba, así que hoy compartiré con todos ustedes cómo aumentar el tamaño de una unidad virtual en una caja virtual.

En este caso, vamos a continuar con este tutorial con Windows 10 como máquina host y Ubuntu 20.04 como máquina virtualizada en VirtualBox.

Antes de empezar

Haz una copia de seguridad de su archivo VDI (el disco duro de la VM), en caso de que algo salga mal. Después de hacer la copia de seguridad, puedes continuar con el tutorial.

A. Probar con Virtual Media Manager

Nota: esta opción no parece funcionar ahora, pero puedes intentarlo de todos modos.

Inicia VirtualBox, selecciona Archivo en el menú y Virtual Media Manager:

VirtualMediaManager Virtual Box

Luego, en la lista que aparece, encontrarás todos los VDI que se han utilizado en las Máquinas Virtuales que has configurado en VirtualBox. Simplemente selecciona el que deseas cambiar y ajusta su valor en los atributos inferiores:

VirtualBox Virtual Media Manager, change VDI Size

Haz clic en Aplicar y listo. Si después de iniciar la máquina virtual y el disco duro sigue teniendo el mismo tamaño, es posible que debas continuar con la opción B.

B. Cambiar el tamaño del disco usando VirtualBox CLI y GParted

Para cambiar el tamaño de un archivo VDI (unidad virtual), deberás seguir los siguientes pasos, desafortunadamente, aunque la tarea no es difícil, requiere un poco de tiempo. Entonces, de acuerdo con tus necesidades, puede ser más rápido simplemente montar una nueva máquina virtual con una instalación limpia del sistema operativo y mantenerla en otro archivo, para que cuando lo necesites, puedas inicializarlo y listo. Si necesitas expandir el tamaño de la unidad porque tiene la información importante allí o lo que sea, entonces este tutorial es el adecuado para ti.

B.1. Verifica que el almacenamiento de la máquina virtual sea un archivo de disco virtual asignado dinámicamente

Como primer paso, verifique que la unidad virtual que está utilizando en la máquina virtual pertenece al formato de disco virtual asignado dinámicamente. Vaya a las propiedades de su Máquina Virtual y seleccione la pestaña Almacenamiento. Encontrarás en la información de las unidades virtuales adjuntas en detalle el tipo de unidad, debe ser almacenamiento asignado dinámicamente:

Virtual Dynamically Allocated Disk

Después de verificar el tipo, puedes continuar con el siguiente paso.

B.2. Aumentar el tamaño del disco

Para aumentar el tamaño de los discos, debes hacerlo a través del binario VBoxManage y usar la instrucción modifyhd. Este comando espera como argumento posicional la ruta a la Unidad Virtual. Para aumentar el tamaño del disco, use la opción --resize y proporciona el nuevo tamaño en megabytes de esta manera:

VBoxManage modifyhd ./virtual-dynamically-allocated-Disk-file.vdi --resize NewSizeInMB

Por ejemplo, como uso VirtualBox en Windows, el comando para aumentar el tamaño del disco, escribiría el comando así, proporcionando la ruta absoluta al ejecutable de VBoxManage y la ruta absoluta al archivo VDI. En mi caso, me gustaría que el disco tuviera 50 GB (50000 MB) de espacio en lugar de los 10 GB originales que asigné en la creación del disco:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd "C:\Virtual Machines\vm\Ubuntu Desktop 20.04\Ubuntu Desktop 20.04.vdi" --resize 50240

Si estás en un entorno Linux, el comando se vería así:

VBoxManage modifyhd ./Ubuntu-Desktop-20.04.vdi --resize 50240

Después de ejecutar el comando, recibirás como salida el progreso de la tarea:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

Vale la pena mencionar que no puedes hacer que el disco virtual sea más pequeño usando este comando, solo aumenta su tamaño. Esa debería ser toda la interacción con la línea de comandos, sin embargo, todavía hay algunas cosas por hacer.

B.3. Arranque desde GParted en tu VM

Ahora bien, el problema es que si intentas iniciar tu máquina virtual, tu sistema operativo no detectará ningún cambio ya que el espacio que agregamos quedará inutilizable sin un manejo adecuado. De forma predeterminada, el nuevo espacio (en este caso alrededor de 40 GB) no estará asignado. Para poder asignar ese espacio, es necesario utilizar la herramienta GParted. GParted es un editor de particiones gratuito para administrar gráficamente las particiones de tu disco. Con GParted puedes cambiar el tamaño, copiar y mover particiones sin pérdida de datos, lo que te permite:

  • Hacer crecer o reducir el disco
  • Crea espacio para nuevos sistemas operativos
  • Intentar rescatar datos de particiones perdidas

En este caso, lo usaremos para aumentar el tamaño de la bebida utilizando el nuevo espacio disponible proporcionado por el primer paso. Como primero, descarca el ISO GParted del sitio web oficial aquí (usaré el gparted-live-1.1.0-8-amd64.iso). Después de descargar el archivo ISO de GParted, debes iniciar desde GParted en tu máquina virtual. Inicia Virtualbox, abre tu configuración, abre la pestaña de almacenamiento y monta la unidad óptica con el ISO de Gparted:

Boot from GParted Virtual Machine

Haz clic en Aceptar e inicia la maquina virtual. Una vez que la máquina se inicia, usa la configuración predeterminada de GPart y espera hasta que se inicie la aplicación.

B.4. Asignar espacio no utilizado a la partición del sistema

GParted se iniciará y mostrará una lista de todas las particiones disponibles en las unidades virtuales conectadas a la máquina. En nuestro caso, el sistema está ubicado en la partición /dev/sda2 que usa el sistema de archivos extendido y como puedes ver, hay 39.06GiB sin asignar porque aumentamos el tamaño del disco a 50GB e inicialmente teníamos 10GB.

Debes cambiar el tamaño de la partición, haciendo clic derecho sobre ella y haciendo clic en Cambiar tamaño/Mover:

Resize Extended Partition

Cuando hagas clic en él, ahora podrás cambiar el tamaño de la partición manualmente, puedes ver que hay un tamaño mínimo que tiene actualmente el tamaño de tu disco y el tamaño máximo ahora es la capacidad que definiste con el comando: 

Resize Extended Partition

Simplemente usa todo el espacio usando la herramienta de arrastrar y soltar o proporciona el nuevo tamaño manualmente:

Resize Extended Partition

Luego haz clic en Cambiar tamaño / Mover y esto cambiará el tamaño de la partición extendida, ahora debes aplicar los cambios haciendo clic en el icono de verificación verde. Esto te pedirá confirmación, debe hacer clic en Aplicar:

GParted Apply All Operations

Como resultado, encontrarás que la partición principal ahora es más grande, pero la partición donde está instalado el sistema sigue siendo pequeña:

GParted Result

Debes hacer lo mismo con la partición restante para que el sistema use el nuevo espacio.

B.5. Unir el espacio no asignado con la partición del sistema

Como se mencionó, la partición principal ahora tiene un tamaño disponible, por lo que podemos cambiar el tamaño de la partición del sistema ( /dev/sda5):

GParted Unallocated Space System Partition

Sigue los mismos pasos que el paso anterior. Primero, haz clic derecho en la partición del sistema que necesita ser más grande y selecciona Cambiar tamaño / Mover:

System Partition Resize

Podrás arrastrar y soltar ahora toda la capacidad del disco:

Gpart Resize Partition

Establece el nuevo tamaño y haz clic en Cambiar tamaño/Mover. Después de hacer clic en eso, haz clic en el icono de verificación verde en la parte superior de la interfaz de usuario y aplica los cambios:

Apply Operations and Resize Partition

La partición del sistema ahora será más grande y también contendrá los datos originales:

Partition succesfully expanded VBox

¡Y eso es! Reinicia la máquina virtual y no olvides expulsar la ISO de Gpart.

B.6. Comprueba que todo funcionó

Finalmente, todo lo que debe hacer es verificar que el sistema operativo de la máquina virtual tenga ahora el nuevo tamaño. En nuestro caso, con la VM de Ubuntu, podemos ver rápidamente la información del disco duro con df -h:

Ubuntu Available Space

Ahora, en lugar de los 10 GB originales disponibles en el sistema, ahora tenemos 48 GB sin ningún problema.

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores