Montando un VDI en Ubuntu

Muchos hemos decidido borrar nuestra partición Windows y a otros como a mí que, por cuestiones de la escuela, no me han dejado librarme de este sistema por completo y lo han metido en una máquina virtual con el grandioso manejador de máquinas virtuales “Virtualbox“. El problema me surgió cuando intentaba seguir una guía donde se me pedía obtener y copiar archivos directamente de aquel sistema operativo. Pero ¡Ya había borrado la partición!, solo tengo la máquina virtual y 2 computadoras que mis hermanos no me querían (ni quieren) prestar. Investigando llegué a un apartado donde se dice que se puede montar el archivo VDI como disco duro normal (El archivo que es el disco duro de la máquina virtual).

Estos son los pasos, traducidos, que seguí:

  • Apaga la máquina virtual, completamente, puedes terminarla mediante la interfaz gráfica o mediante el comando: VBoxManage controlvm “El nombre de tu máquina virtual” poweroff
  • Descarga el archivo vditool que provee Virtualbox (http://www.virtualbox.org/download/testcase/vditool). [Guardar como en el botón secundario].
  • Dale sus permisos de ejecución con el comando: chmod u+x vditool o desde propiedades, permisos y habilitando el checkbox que aparece en la categoría “Ejecución”.
  • En mi caso no fue necesario pero pueden probar el archivo y obtener las dependencias y si les falta alguna es necesario instalarlas, para probarlo usen el comando ldd vditool.
  • Ahora, es necesario buscar la ruta a tu archivo VDI que quieres montar (/ruta/a/tu/vdi/)
  • Ahora ejecuta desde la terminal: ./vditool DUMP /ruta/a/tu/vdi/nombredelvdi.vdi y obtendrás algunos datos del vdi el que necesitamos es el que se parece a este Header: offBlocks=512 offData=45568″
  • Ahora, el número que nos importa es el que se encuentra en offData, en este caso es 45568
  • Según el autor de la página mencionada, debido a que ese número es donde el disco empieza, se tiene que agregar 32256 a ese valor, en este caso resulta en 77824.
  • Ahora lo que hice fue crear una carpeta donde montar el archivo, en este caso la llame mv y el comando me resultó así: mkdir /media/mv
  • Ahora montamos: mount -t ntfs -o ro,noatime,noexec,loop,offset=77824 /ruta/a/tu/vdi/nombredelvdi.vdi /media/mv
  • Y al acceder a la carpeta te deben de aparecer los archivos del archivo VDI.

Algunas notas aclaratorias:

  • Algunos datos necesitan ejecutarse como superusuario (root)
  • Nunca ejecutes la máquina virtual mientras tengas montado el archivo.
  • En el caso de un amigo, el número del offData resultó diferente al mencionado, le aumenté 32256, funcionó bien y no ha causado problemas, por lo que a mi punto de vista no afecta si el número es diferente.

Actualización 31 de mayo de 2015

Debido a la popularidad de este post he decidido actualizar la información, las nuevas versiones de VirtualBox traen una herramienta llamada VBoxManage, con ella clonaremos el vdi en un formato standard llamado img usando el siguiente comando:

VBoxManage clonehd --format RAW elNombreDelVDI.vdi elNombreDelVDI.img

Y ahora debes montar el img como montarias un iso en ubunto pero especificando el tipo de sistema de archivos (ext3, ext4, ntfs, fat, etc)

mount -t ntfs -o loop,rw ./elNombreDelVDI.img /mnt

Espero les sirva esta información.

Author: Miguel González López

Software Engineer

One thought on “Montando un VDI en Ubuntu”

  1. Muy bueno. Te faltó la parte de desmontarlo. Si la puedes agregar, sería perfecto

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.