05 octubre, 2016

Error VirtualBox máquinas inaccesibles

Para aquellos que usen VirtualBox como virtualizador y tengan instaladas VMs en un medio externo-extraible (tipo disco portable o pendrive). Tenemos que indicarle en las preferencias de VirtualBox el path destino predeterminado donde queremos que se nos instale desde ese momento en adelante las VMs.

La problemática que esto nos puede plantear sería la siguiente, pongo escenario:
Al introducir nuestro medio extraible, en el cual se almancenan nuestra máquina virtuales, el sistema Windows le asigna una letra de unidad, por ejemplo "E:". Configuramos entonces en las preferencias de VirtualBox que este nos agrege las máquinas que creemos en esa unidad, y como es la unidad por defecto que establecimos si al desconectar y volver conectar nuestro medio extraible el sistema nos asigna siempre la misma letra de unidad, en este ejemplo: E:, no hay ningún problema.
¿Pero, qué pasaría si insertamos otro medio extraible y a este le asigna E: ya que tienen esa letra libre y a continuación insertamos el medio extraible que nos corresponde a las VMs?. Pues lo más común es que no nos recozca las VMs que tuviesemos cargadas en ese VirtualBox en cuestión.

Figura 1: VirtualBox: Error de mapeo de VMs no encontradas.

Que posibles soluciones se podrían realizar?

Eliminar solo la VM:
Una de ellas, sería eliminar la máquina virtual agregada a VirtualBox, pero no eliminar toda la VM sino eliminar solamente "el puntero o acceso hacía" la VM en cuestión, de modo que no estaríamos borrando la máquina virtual real almacenanda originalmente en el medio extraible. Cuando le damos a botón derecho > eliminar, puede mostrarnos dos opciones, una que nos la borre sin más y la otra que nos pregunte si deseamos "eliminar todos los archivos" o "solo borrar", le diremos que "solo borrar" de modo que este solo borra este acceso a la VM y no borra todos los archivos de la VM real almacenada en el medio extraible.

Agregar una VM ya existente:
Una vez eliminada solo la VM en cuestión la agregamos, aunque primeramente y para no ocasionar futuros problemas en las preferencias de VirtualBox cambiamos la letra de unidad anterior estableceida por la actual letra asignada a nuestro dispositivo externo que alamcena las VMs. Una vez hecho eso ahora tenemos dos posibles variantes para agregar una Vm ya existente.
En cualquier máquina virtual que creemos de VirtualBox esta crea tres tripos de ficheros fundamentales, un archivo .vbox (VirtualBox Machine Definition) el cual contiene la configuración inicial por defecto de la VM en la cual se cargará con esa configuración en VirtualBox entre otras opciones, el un archivo .vbox-prev sería una copia del .vbox y un último archivo .vdi (Virtual Disk Image) el cual por su tamaño de ocupación vemos que es el que contiene la máquina en su totalidad (el disco de la VM).
El fichero que nos interesa en este punto sería el .vbox extensión propietaria del propio VirtualBox el cual hace referencia al puntero de apertura de la máquina.

Opción 1: Por lo que una vez configurada en las preferencias con la nueva letra asignada como comenté anteriormente y eliminada solo la referencia de la máquina de VirtualBox, simplemente ejecutamos el fichero .vbox (puede que tarde un poco en la apertura) automáticamente se debería cargar de nuevo esa VM afectada en VirtualBox.
Opción 2: Si la opción anterior nos fallase o se nos quedase colgado VirtualBox (puede pasar en algún caso), entonces tendríamos que agregar la VM de forma manual, desde la barra de herramientas de VirtualBox > Máquina > Agregar > seleccionamos el fichero .vbox en cuestión y abrimos dicha máquina.

Figura 2: Agregar VM (.vbox) de forma manual en VirtualBox.

Cambiar letra de unidad o volumen:
Otra opción sería conservar las máquinas virtuales afectadas ya agregadas en VirtualBox y solamente cambiar la letra de unidad del medio externo por la letra que tengamos asignado en ese momento. Para esta solución tendríamos que tener privilegios de administrador local del equipo.

Opción 3: Podríamos hacerlo por consola de comandos con "Diskpart" o de forma gráfica por una consola de Microsoft con "Diskmgmt.msc".

Abrimos una consola de línea de comandos y entramos en la utilidad interactiva Diskpart, listamos los volúmenes disponibles, selecionamos la unidad de volumen afectada y finalmente asignamos la letra de unidad establecida en VirtualBox.
DISKPART> list volume
DISKPART> select volume x1
DISKPART> assign letter=x2
Donde x1: Sería número de volumen afectado a seleccionar.
Donde x2: Sería la letra de asignación a establecer.

Figura 3: Diskpart: Asignando nueva letra a un volumen.

En la siguiente captura vemos como el cambio de la nueva letra de unidad se realizó correctamente.

Figura 4: Diskpart: Nueva letra asignada con éxito.

La forma gráfica mediante diskmgmt.msc (administrador de discos de Windows), tendríamos que selecionar el volumen afectado, botón derecho en "Cambiar la eltra de y rutas de acceso de unidad...".

Figura 5: Diskmgmt.msc: Nueva letra asignada con éxito.

Selecionamos en "Cambiar...", asignar la letra de unidad siguiente y selecionamos la letra que queramos establecer y finalmente aceptamos los cambios.

Figura 6: Diskmgmt.msc: Asignando nueva letra a un volumen.

Cuarquiera de las opciones anteriores sería válida, personalmente cuando me ocurre este tipo de problema y no tengo privilegios para poder asignar otra letra de unidad, suelo agregar la VM en cuestión de forma manual a VirtualBox o directamente abrir el fichero .vbox desde el medio externo donde estuviese ubicada esa VM.

Saludos!
Entradas Relacionadas