Tabla de Contenidos

[VirtualBox] Discos virtuales: Compactado

Limpiar y compactar un disco de una máquina virtual. Con el uso de la máquina virtual el fichero del disco de la máquina virtual puede ir aumentando aunque su contenido no. Eso es debido a que los ficheros que borramos dentro de ella no desaparecen.

Máquina virtual Linux

  1. Entraremos en la máquina virtual Linux.
  2. Haremos limpieza de ficheros que no queramos, tanto de las carpetas como de la papelera.
  3. Llenaremos de ceros todo el espacio libre en el disco ejecutando
    dd if=/dev/zero of=zerofillfile bs=1M
    

    con ello crearemos un fichero zerofillfile conteniendo ceros, todos los que se puedan.

  4. Llegará un momento que ya no se puedan añadir mas ceros a dicho fichero, con lo que nos aparecerá un mensaje que nos indica que no queda espacio en el dispositivo
    dd: error al escribir en ‘zerofillfile’: No queda espacio en el dispositivo
    
  5. Ahora eliminaremos el fichero zerofillfile usando la utilidad rm de Linux:
    rm zerofillfile
    
  6. Apagamos la máquina virtual.
  7. Vamos a la carpeta de nuestro ordenador donde se encuentra el fichero vdi del disco. Si tenemos alguna duda podemos verlo en la configuración de la máquina, en el almacenamiento.
  8. VBoxManage modifyhd –compact «RUTA AL FICHERO DEL DISCO»
    
  9. Si se trata de un fichero vhd o vmdl tenemos que hacer algún paso intermedio:
    VBoxManage  clonehd «RUTA AL FICHERO DEL DISCO» «clon.vdi» –format vdi
    VBoxManage modifyhd –compact «clon.vdi»
    
    VBoxManage  clonehd «clon.vdi» «RUTA AL FICHERO DEL DISCO» –format vdi
    VBoxManage  clonehd «clon.vdi» «RUTA AL FICHERO DEL DISCO» –format vmdk
    

Problemas

Al seguir este procedimiento me apareció en Debian el siguiente mensaje al intentar abrir de nuevo mi VirtualBox:

El motivo fué que hice el proceso anterior desde el usuario root, por lo que se alteraron algunos permisos de ficheros, quedando root como propietario y no dando acceso a usuario. Lo solucioné poniendo los permisos al usuario, usando el comando chown, en la ruta que indicaba el error:

root@pc:/home/usuario/.config/VirtualBox# chown usuario:usuario VBoxSVC.log.*
root@pc:/home/usuario/.config/VirtualBox# chown usuario:usuario VirtualBox.xml

Máquina virtual Windows

El proceso es idéntico: Hay que llenar con seros el espacio libre del disco.