Cómo abrir archivos VMDK en VMware y extraer datos

Entender cómo abrir archivos VMDK y extraer contenido de archivos VMDK es útil cuando te encuentras con un problema en una máquina virtual. Puedes encontrarte con que las MV no pueden iniciarse después de problemas con la instalación de aplicaciones, actualizaciones del sistema operativo, ataques de malware, eliminación accidental de datos, etc. Cuando esto sucede, pierdes acceso al disco virtual de la MV.

Afortunadamente, puedes abrir archivos VMDK con WinZip, Linux Reader o VMware Workstation Player. Sigue leyendo para aprender sobre los métodos para recuperar el contenido de los archivos de disco virtual VMDK. Ten en cuenta que estos métodos solo se aplican si el disco virtual no está encriptado o dañado.

¿Qué es un archivo VMDK?

VMDK es un formato de archivo de disco de máquina virtual, que es el formato abierto desarrollado por VMware. Este formato de disco virtual tiene la extensión .vmdk para los archivos y es utilizado por VMware y VirtualBox máquinas virtuales. Sin embargo, las máquinas virtuales que residen en servidores ESXi utilizan un formato ligeramente diferente de discos virtuales vmdk. En el almacén de datos ESXi, el descriptor de disco virtual y la extensión de disco virtual que contiene los datos en bruto del disco virtual son dos archivos separados.

El patrón del nombre del descriptor de disco virtual es diskname.vmdk y el patrón del nombre del disco virtual que contiene todos los datos en bruto es diskname-flat.vmdk. En cuanto a los discos virtuales en formato VMware Workstation, se representan como un único archivo diskname.vmdk (monolítico disperso), que es un archivo de datos de extensión que contiene un descriptor de disco virtual incrustado. Un descriptor de disco virtual define la estructura del disco virtual, la geometría del disco virtual, la versión del hardware virtual e IDs.

Archivo de descriptor de disco virtual

A virtual disk descriptor is represented as plain text. On the left side of the screenshot below, you can see a virtual disk descriptor of the ESXi format (a vmdk file that can be opened with any text editor). On the right side of the screenshot, you can see the data of the virtual disk descriptor that is embedded into a single vmdk file of the VMware Workstation format. The vmdk file can be opened in a HEX editor.

Como se puede ver, los datos del descriptor de disco incrustado se escriben en el archivo vmdk monolítico del formato Workstation a partir de la dirección 0x200, que es el número del primer byte. Si transformas el valor HEX 200 en binario y decimal, obtendrás:

200 HEX = 1000000000 Binario = 512 Decimal

Esto significa que si quieres extraer el descriptor incrustado del archivo vmdk, debes extraer una porción de datos a partir del byte 512. Puedes encontrar más información sobre los archivos de descriptor de disco virtual de VMware y aprender cómo extraer, editar e importar un descriptor de disco virtual incrustado en la entrada del blog sobre la conversión de VMware VMs a Hyper-V VMs.

Archivo de datos de disco virtual

En la captura de pantalla a continuación, se abren dos archivos de disco virtual en un editor hexadecimal. Se ha instalado el mismo sistema operativo en ambos discos virtuales (la primera partición utilizada para instalar el sistema operativo se creó y formateó con una utilidad de disco integrada de Windows). En el lado izquierdo de la captura de pantalla se muestra un archivo –flat.vmdk (formato ESXi). Los datos en bruto están escritos desde 0x00000000 en este disco virtual – archivo –flat.vmdk. En el lado derecho de la captura de pantalla, se muestra el disco virtual en formato Workstation, y los mismos datos están escritos desde 0x00150000 (número de byte 5376), que no es el comienzo del archivo vmdk.

Ahora, después de familiarizarse con la teoría, es hora de la parte práctica. Antes de continuar, se recomienda hacer una copia de seguridad de sus datos para evitar posibles daños en el disco virtual. Realice operaciones con sus discos bajo su responsabilidad y riesgo.

2 Métodos para abrir archivos VMDK al encender una máquina virtual

Para abrir archivos VMDK al encender máquinas virtuales existentes, necesita un hipervisor como VMware ESXi, VMware Workstation, VMware Player o Oracle VirtualBox instalado en su computadora física. Puede optar por el método heredado utilizando un DVD en vivo o montando el archivo VMDK como un disco virtual.

Método 1: Usando un DVD en vivo incluso si el sistema operativo en la máquina virtual está inactivo

La idea detrás de este método es que tienes una máquina virtual y puedes arrancar desde un disco DVD. La imagen del disco ISO puede ser utilizada como el disco DVD insertado en la unidad DVD virtual de la VM. Después de arrancar el sistema operativo desde un medio DVD, puedes montar las particiones de tu disco virtual y copiar archivos desde el disco virtual a un disco duro USB conectado a la VM o a tu máquina host, o a cualquier otra máquina a través de la red. Algunas distribuciones de Live DVD montan los discos (particiones) automáticamente.

Este es un método heredado porque el principio es similar a copiar archivos desde discos físicos de computadoras físicas cuando el sistema operativo instalado no puede arrancar. Este método puede ser utilizado para extraer datos de discos VMDK de VMs que se ejecutan en VMware ESXi y VMware Player/Workstation.

Ten en cuenta que el sistema operativo arrancado desde un Live DVD debe reconocer los sistemas de archivos de las particiones de tu disco virtual cuyos archivos deseas acceder. Por ejemplo, Windows no puede trabajar con sistemas de archivos Linux como EXT3, EXT4, ReiserFS, etc., por defecto. Usar herramientas adicionales en Windows puede ayudar a resolver este problema. A su vez, Linux moderno reconoce sistemas de archivos de Windows como NTFS y FAT32, y por eso puedes usar discos Live DVD basados en Linux para copiar archivos almacenados en discos virtuales utilizados por tu VM de Windows que no puede arrancar.

Ejemplo: Apertura de archivos VMDK en ESXi

Consideremos un ejemplo para aplicar este método: tienes una VM con Windows Server 2016 en un host ESXi, y el sistema operativo en la VM no puede arrancar, pero necesitas obtener los archivos grabados en el disco virtual VMDK. Hay dos particiones NTFS en el disco virtual: la partición del sistema de arranque y el disco C. Se utiliza la imagen ISO de instalación oficial de Ubuntu 18 en este ejemplo. El medio de instalación de Ubuntu se puede utilizar como DVD en vivo.

NOTA: El flujo de trabajo para las versiones más recientes de los productos considerados en esta publicación de blog es el mismo. Puedes usar VMware Workstation 17, ESXi 8.0, Windows Server 2019, Ubuntu Linux 22.04, etc., y usar el principio de funcionamiento explicado en este artículo.

  1. Carga la imagen ISO en el almacén de datos al que tiene acceso el host ESXi en el que reside la VM.
  2. Abre VMware vSphere Client, ve a Hosts y Clusters, selecciona tu VM y haz clic en Editar Configuración.

  3. En la ventana de configuración de la VM, ve a las opciones de la unidad de CD/DVD. Selecciona la opción de Archivo ISO del almacén de datos si tienes el archivo ISO necesario en el almacén de datos accesible por el host ESXi. Luego, para la opción de Medio de CD/DVD, haz clic en Examinar y selecciona el archivo ISO apropiado en el almacén de datos. El nombre del archivo es ubuntu-18.04.1-desktop-amd64.iso en este caso.

  4. Inicia la VM, arranca desde la imagen ISO y selecciona Probar Ubuntu sin instalar. Una vez que Ubuntu haya arrancado desde el medio de DVD en vivo, abre la consola (Terminal).
  5. Obtén los privilegios de root:

    sudo -i

  6. Lista los dispositivos de disco duro disponibles:

    ls -al /dev/sd*

    Hay dos particiones – /dev/sda1 y /dev/sda2

  7. Crea directorios para ser usados como puntos de montaje para cada partición:

    mkdir /mnt/win-disk1

    mkdir /mnt/win-disk2

  8. Monta las particiones del disco virtual en los directorios apropiados:

    mount /dev/sda1 /mnt/win-disk1/

    mount /dev/sda2 /mnt/win-disk2/

  9. Luego lista los archivos y directorios de las particiones montadas:

    ls -al /mnt/win-disk2/

    ls -al /mnt/win-disk1/

    Como puedes ver en la captura de pantalla de arriba, la partición montada en /mnt/win-disk2 es la partición utilizada como disco C: en Windows.

  10. En este ejemplo, explicamos la copia de datos en una partición SMB. La partición SMB se ha creado en el host cuya dirección IP es 192.168.17.125, el nombre de la partición es \\192.168.17.125\share, y user10 tiene permisos de escritura para esta partición. No olvidar que Linux, a diferencia de Windows, utiliza la barra diagonal derecha al conectarse a la partición.

    Vamos a montar la partición SMB (CIFS) en Linux cargado desde el DVD en vivo. En primer lugar, cree un directorio para ser utilizado como punto de montaje.

    mkdir /mnt/smb-share

  11. A continuación, monte la partición SMB (CIFS) en este directorio:

    mount -t cifs -o user=user10 //192.168.17.125/share /mnt/smb-share

  12. Introduce la contraseña del usuario.
  13. Ahora, tu sistema Linux está conectado al recurso compartido SMB, y puedes copiar el contenido almacenado dentro del archivo VMDK al recurso compartido SMB a través de la red.

    Vamos al directorio al que está montado el recurso compartido SMB y copiemos el archivo bootmgr desde la partición montada del disco virtual (el archivo VMDK en el almacén de datos de ESXi) al directorio actual (recurso compartido SMB).

    cd /mnt/smb-share

    cp /mnt/win-disk-2/bootmgr

  14. Entonces asegúrese de que los archivos necesarios hayan sido copiados y verifique el contenido de su recurso compartido SMB.

    ls -al /mnt/smb-share

    Como puedes ver en la captura de pantalla anterior, el archivo bootmgr utilizado en este ejemplo ha sido copiado exitosamente. Ahora conoces el primer método para copiar el contenido del archivo VMDK a otra ubicación cuando un sistema operativo instalado en una VM no puede arrancar. La lógica de usar este método en VMware Player o VMware Workstation es la misma.

Método 2: Montar un archivo VMDK como un disco virtual en una VM saludable (ESXi/Workstation/Player)

Este método es similar al anterior, pero en este caso, el disco virtual VMDK debe estar adjunto a una máquina virtual existente que tenga un sistema operativo en funcionamiento. Puedes adjuntar un archivo VMDK como un disco virtual adicional a una VM existente que se esté ejecutando en un host ESXi, VMware Workstation y VMware Player.

Si deseas abrir un archivo VMDK de una VM de ESXi en VMware Workstation o Player, debes copiar tanto el disco virtual como su descriptor (archivos vmdk y flat.vmdk) en un disco físico accesible para tu computadora donde esté instalado VMware Workstation o Player. Si se han tomado snapshots para la VM, y se han realizado cambios con los discos de VM después de eso, no olvides copiar los archivos VMDK de los discos virtuales delta (diferenciales) además de los archivos VMDK principales.

Tengamos en cuenta dos ejemplos:

Ejemplo 1: cómo abrir un disco virtual VMDK de una VM utilizando otra VM en un host ESXi (ambos están registrados en un host ESXi)

Ejemplo 2: cómo extraer contenido de un disco virtual VMDK de una VM de ESXi adjuntando el disco virtual a una VM en el formato de VMware Workstation

Ten en cuenta que el sistema operativo en funcionamiento en la primera VM (sana) debe ser compatible con los sistemas de archivos utilizados en el disco virtual de la segunda VM que tiene un sistema operativo no arrancable (una VM cuyo archivo VMDK deseas adjuntar como un disco virtual adicional para extraer archivos).

Ejemplo 1: Montar un disco virtual en una VM que se ejecuta en ESXi

  1. Apaga la VM que utiliza un disco virtual del cual deseas extraer archivos.
  2. Encuentra este disco virtual en el datastore de ESXi.
  3. Copia el disco virtual a otro directorio en el mismo datastore o en otro datastore para evitar un error causado por el bloqueo del disco virtual. En nuestro ejemplo, mostraremos cómo abrir un archivo VMDK cuyo nombre es Win-test2.vmdk (este es un disco virtual de la máquina virtual Windows Win-test2 en nuestro caso). El host ESXi está gestionado por vCenter. Si utiliza un host ESXi independiente sin vCenter, puede utilizar la lógica explicada en este ejemplo; las diferencias están solo en la interfaz de usuario.
  4. Abre VMware vSphere Client, ve a Almacenamiento, y selecciona el datastore en el que se encuentra el archivo VMDK necesario. Selecciona el archivo VMDK y haz clic en Copiar a.

    NOTA: Si tienes un host ESXi independiente y no tienes vCenter, abre VMware Host Client ingresando la dirección IP de tu host ESXi en el navegador web, luego ve a Almacenamiento > [Nombre de tu datastore] > Explorador de datastore, selecciona tu archivo VMDK y haz clic en Copiar. Selecciona el destino y haz clic en el botón Copiar para confirmar. Recuerda que los discos virtuales se muestran como archivos VMDK en la interfaz web de VMware vSphere Client y VMware Host Client, pero un disco virtual consta de los archivos –flat.vmdk y vmdk (un disco virtual y su descriptor). También puedes abrir la consola ESXi directamente en el servidor o conectarte vía SSH para copiar los archivos.

  5. En la ventana abierta, seleccione el destino. Puede copiar el archivo VMDK a alguna ubicación en el mismo almacén de datos o a otro almacén de datos. Copiemos el archivo VMDK al directorio raíz del mismo almacén de datos para esta demostración. En este caso, se copian tanto los archivos vmdk como –flat.vmdk.

  6. Ahora necesitas adjuntar el disco virtual VMDK a otra VM sana cuyo sistema operativo esté funcionando correctamente. En este ejemplo, se utiliza una VM que ejecuta Windows Server 2016 en el mismo host ESXi (el nombre de la VM es WinServer2016). Un disco virtual puede ser adjuntado a esta VM sana mientras la VM está en ejecución. En el Cliente vSphere, ve a Hosts and Clusters, selecciona la VM sana, haz clic con el botón derecho en la VM y selecciona Edit Settings.

  7. En la ventana que aparece, haz clic en Add New Device y selecciona Existing Hard Disk.

  8. Selecciona la copia de tu archivo VMDK que hayas realizado previamente. En el ejemplo actual, se ha seleccionado la copia de Win-test2.vmdk ubicada en el directorio raíz del datastore.

  9. Enciende la VM sana a la cual has adjuntado el disco virtual en el que estás interesado, si la VM aún no ha sido encendida. Un disco virtual se añade sobre la marcha para una VM de Windows Server 2016 en ejecución.
  10. En el sistema operativo Windows invitado, ve a Administración de equipos > Administración de discos (o ejecuta diskmgmt.msc en la línea de comandos) y encuentra tu disco virtual adjunto. Por defecto, el nuevo disco adjunto está fuera de línea. Haz clic derecho en el disco y selecciona En línea. Debería asignarse automáticamente una letra de disco para las particiones en el disco añadido. Si no se ha asignado una letra de disco para una partición, haz clic derecho en la partición y selecciona Cambiar letra de unidad y rutas.

  11. Ahora tienes acceso completo (lectura/escritura) a los archivos y directorios del disco virtual VMDK. Simplemente abre el disco montado en el Explorador de Windows y copia el contenido necesario del archivo VMDK montado al VM sano. También puedes eliminar datos innecesarios del disco virtual VMDK adjunto (por ejemplo, si hay archivos que fueron creados por virus), pero ten cuidado y no dañes un disco virtual si hay instantáneas relacionadas para el disco VMDK montado.

Ejemplo 2: Montar un disco virtual en una VM que se ejecuta en VMware Player o Workstation

Este ejemplo es similar al anterior, pero se utiliza una máquina virtual (VM) ejecutándose en VMware Workstation para abrir archivos VMDK de la VM de ESXi. Este método puede ser utilizado cuando no hay espacio en disco libre en el datastore de ESXi para copiar un disco virtual, por ejemplo. Se montará un disco virtual de la VM Win-test2 mencionada en el ejemplo anterior en una VM de VMware Workstation para extraer su contenido.

  1. En el cliente de VMware vSphere, ve a Almacenamiento > [Nombre de tu datastore] > Archivos, selecciona tu archivo VMDK y haz clic en Descargar.

    Como recordarás, un disco virtual del formato ESXi consta de archivos vmdk y flat.vmdk. Necesitas descargar ambos archivos a tu máquina donde esté instalado VMware Workstation o VMware Player. Cuando descargas un disco virtual desde el datastore ESXi con el cliente de VMware HTML5 vSphere, estos dos archivos se empacan en un archivo zip.

    Como alternativa, puedes habilitar el acceso SSH a tu host ESXi, ir al directorio del datastore y copiar ambos archivos de disco virtual a tu computadora manualmente utilizando un cliente SCP, por ejemplo, WinSCP.

    NOTA: Cuando descargas un disco virtual thin provisioned desde un datastore ESXi que tiene el sistema de archivos VMFS a tu computadora, obtendrás un archivo vmdk ligero y un archivo flat.vmdk cuyo tamaño será igual al tamaño de aprovisionamiento máximo del disco virtual (como lo harías al descargar un disco virtual de aprovisionamiento grueso). Esto se debe a que el aprovisionamiento delgado puede considerarse como una característica del sistema de archivos VMFS.

    Ahora puedes ver dos archivos del disco virtual en formato ESXi que se han descargado en un archivo ZIP. El tamaño del disco virtual thin provisioned en el datastore VMFS es de aproximadamente 2 GB ahora (ver la captura de pantalla arriba), y el tamaño del mismo disco descargado en una máquina de trabajo es de aproximadamente 8 GB (ver la captura de pantalla abajo).

  2. Descomprima los dos archivos del archivo. Por defecto, los archivos se extraen en el directorio Win-test2.vmdk, cuyo nombre es el mismo que el del archivo de origen pero sin la extensión de archivo.

  3. Para este paso, debe tener una VM saludable con un sistema operativo funcional en su máquina con VMware Workstation o Player instalado. Mientras que en el ejemplo anterior se utilizó una VM con Windows Server 2016, en este ejemplo se utiliza una VM saludable con Windows Server 2008.

    Abra VMware Workstation o VMware Player, seleccione su VM saludable y edite la configuración de la máquina virtual.

  4. En la pestaña Hardware, haga clic en el botón Agregar.

  5. En el Asistente para agregar hardware que se abre, selecciona Disco duro como tipo de hardware. Luego, selecciona un tipo de disco (puedes dejar el valor recomendado). En la pantalla Seleccionar un disco, selecciona la opción Usar un disco virtual existente.

  6. Selecciona el archivo vmdk (no –flat.vmdk) que has extraído del archivo ZIP. Puedes navegar por el archivo o ingresar manualmente la ruta completa del archivo.

    En este ejemplo, se utilizan ESXi 6.5 y VMware Workstation 15. La máquina virtual de VMware Workstation que ejecuta Windows Server 2008 en nuestro ejemplo tiene la versión de hardware Workstation 12 (versión de VM 12). La VM de ESXi cuyo disco virtual queremos adjuntar tiene la versión de VM 7.

  7. Recibimos un mensaje de error en VMware Workstation que indica que el disco virtual copiado del host ESXi no es compatible con esta máquina virtual:

    Este error se puede solucionar editando el archivo de descriptor de disco (el archivo vmdk ligero en el caso de los discos virtuales de las VM de ESXi). Abre tu archivo VMDK en el editor de texto y edita el número en la cadena Ddb.virtualHWVersion. En nuestro caso, el 13 se cambia a 12.

    NOTA: Recuerda que para los discos virtuales de las VM de VMware Workstation, se construye un descriptor de disco virtual en el archivo VMDK del disco virtual (no hay un archivo de descriptor separado como en los discos virtuales de las VM de ESXi).

    Después de editar el archivo, el disco virtual se agrega correctamente a la VM existente.

  8. Enciende la VM si aún no lo has hecho.
  9. Abre Administración de discos en Windows, cambia el estado de tu disco virtual a en línea, asigna una letra de unidad a una partición y navega por los archivos.

Cómo Extraer Datos de un Archivo VMDK sin Encender una VM

Los métodos que no requieren configurar y encender una máquina virtual tienen sus propias ventajas. Algunos de estos métodos no requieren instalar un hipervisor. Puedes montar archivos VMDK directamente en tu sistema operativo anfitrión en un corto período de tiempo.

Método 1: Montar archivos VMDK en un SO anfitrión con VMware Workstation

Este método requiere una instalación de VMware Workstation en un sistema operativo Windows o Linux que se ejecute en tu computadora física. VMware Workstation proporciona una función útil que te permite montar archivos VMDK en tu sistema operativo anfitrión. Se admiten discos virtuales en formato ESXi y discos delta relacionados con instantáneas de VM. Al igual que todos los métodos anteriores considerados en esta publicación de blog, tu sistema operativo debe admitir los sistemas de archivos de las particiones de disco virtual.

Si tienes instantáneas de tu máquina virtual, los discos virtuales delta se crean después de crear cada instantánea. Deberías tener disponible un disco virtual principal y discos delta si deseas abrir un estado de disco virtual justo después de tomar una instantánea. En este caso, debes montar el disco virtual delta correspondiente en tu sistema operativo anfitrión. Las dependencias relacionadas con el disco virtual principal se resolverán automáticamente.

Si tienes instantáneas pero deseas abrir un disco virtual principal, abre el disco virtual principal en modo de solo lectura. Esto se debe a que realizar cambios en el disco virtual principal puede dañar instantáneas o clones vinculados creados a partir de un máquina virtual principal con el disco virtual principal. El modo de solo lectura evita que escribas datos en un disco virtual después de montar el disco en el sistema operativo anfitrión. Puedes montar archivos de disco virtual VMDK si una VM que utiliza este disco virtual está apagada, o si una VM en particular no está utilizando este disco virtual.

Veamos cómo montar un disco virtual VMDK de la VM de VMware Workstation que tiene instantáneas. Hay instalado Windows en una partición NTFS en un disco virtual de la VM. Después de tomar la primera instantánea, se crea el archivo Snapshot1.txt en el directorio raíz del disco C: y, de manera similar, después de tomar la segunda instantánea, se crea allí el archivo Snapshot2.txt. El primer ejemplo es para Linux y el segundo ejemplo es para Windows. En este ejemplo se utilizan archivos de disco virtual de la antigua VM de Windows XP.

Ejemplo 1: Montar VMDK en el host de Linux

  1. Abre VMware Workstation para Linux y ve a Archivo > Montar discos virtuales.

  2. Haz clic en Montar disco, y se abrirá una ventana emergente. Haz clic en Examinar y selecciona el archivo VMDK del disco virtual.

  3. Seleccionemos el archivo VMDK del segundo disco virtual diferencial creado después de tomar la segunda instantánea de la máquina virtual. El nombre de este archivo aparece como VM_name-000002.vmdk en tales casos (WinXP-test-000002.vmdk se usa en este ejemplo).

  4. Cree el directorio en su sistema de archivos Linux para montar un disco virtual en formato VMDK en ese directorio. Creemos el directorio /mnt/vmdk/ en la consola de Linux.

    mkdir /mnt/vmdk/

  5. Establezca permisos para su usuario (el nombre de usuario es user1 y es miembro de group1 en este ejemplo):

    chown -R user1:group1 /mnt/vmdk/

    chmod -R 0775 /mnt/vmdk/

  6. Ahora, seleccione el directorio que ha creado como el directorio de destino, marque la casilla “Montar en modo solo lectura” y haga clic en Montar.

  7. Ahora puedes abrir el directorio /mnt/vmdk/ en tu explorador de archivos Linux y navegar por los archivos y directorios ubicados en el disco virtual VMDK. Puedes ver los archivos Snapshot1.txt y Snapshot2.txt, que fueron creados después de crear el primer y segundo instantáneas en este ejemplo. Cada uno de estos dos archivos está ubicado en un disco virtual VMDK delta separado.

  8. No olvides desmontar el disco virtual VMDK del directorio (punto de montaje) en tu sistema Linux host cuando hayas terminado con las operaciones con el contenido del disco virtual.

Si prefieres utilizar la interfaz de consola, puedes montar las imágenes de disco VMDK en el host de Linux en la consola con este comando:

vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk

Donde:

vm_name es el nombre de la máquina virtual que es el mismo que el nombre del directorio VM en este caso. WinXP-test es el nombre de la VM en nuestro ejemplo.

vm_disk_name es el nombre del disco virtual (WinXP-test.vmdk se utiliza en este ejemplo).

vm_disk_name-000001.vmdk es el nombre del primer disco delta (de diferenciación) creado después de tomar la primera instantánea de VM (WinXP-test-000001.vmdk en este caso).

vm_disk_name-000002.vmdk es el nombre del segundo disco delta creado después de tomar la segunda instantánea de VM respectivamente (WinXP-test-000002.vmdk en este caso).

  1. Monta el disco virtual. Por defecto, el disco virtual se monta en modo de lectura/escritura. Puedes utilizar la tecla -r en la línea de comandos para montar un disco en modo de solo lectura.

    vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk

  2. Enumera todos los discos virtuales VMDK montados:

    vmware-mount -L

  3. Antes de finalizar el trabajo con los discos virtuales VMDK montados, desmonta todos los discos virtuales:

    vmware-mount -x

Ejemplo 2: Cómo montar un VMDK en el host de Windows

La idea de cómo montar archivos VMDK en Windows es similar. Además de la opción Archivo > Mapear Discos Virtuales en la interfaz de usuario gráfica (GUI) de VMware Workstation, puedes seguir los pasos a continuación. Vamos a montar el archivo VMDK del primer disco virtual diferencial creado después de tomar la primera instantánea de VM. El nombre de este archivo VMDK tiene el siguiente formato: Nombre_VM-000001.vmdk (WinXP-test-000001.vmdk se abre en este tutorial).

  1. Haz clic derecho en el archivo VMDK en el Explorador de Windows y haz clic en Asignar disco virtual.

  2. Selecciona los parámetros para montar un archivo VMDK. Se recomienda abrir el archivo VMDK en modo de solo lectura para evitar cualquier posible daño a los discos virtuales que pertenezcan a la cadena de instantáneas después de escribir datos. La letra de unidad predeterminada es Z: en este caso, y la unidad se abre automáticamente en el Explorador de Windows después de asignarla si se selecciona la casilla de verificación adecuada. Haz clic en Aceptar para continuar.

  3. Ahora el disco virtual está montado como disco Z: en Windows, y puedes leer el contenido del archivo VMDK. En la captura de pantalla a continuación, puedes ver el archivo Snapshot1.txt creado después de tomar la primera instantánea. El archivo Snapshot2.txt falta porque se creó después de tomar la segunda instantánea de VM, y hemos abierto un disco virtual delta relacionado con la primera instantánea de VM.

  4. Cuando hayas terminado de trabajar con el disco virtual VMDK mapeado, no olvides desconectar el disco. Haz clic derecho en el archivo VMDK correspondiente y luego haz clic en Desconectar disco virtual. Después de desconectar el disco virtual, puedes encender la MV que utiliza este disco virtual.

Método 2: Usar 7-zip para extraer contenido de archivos VMDK

Si estás buscando cómo abrir archivos VMDK sin ejecutar máquinas virtuales, puedes instalar 7-zip y extraer contenido de imágenes de disco virtual. 7-zip es una herramienta gratuita destinada a archivar archivos y desempaquetar archivos de archivos y otras imágenes. Puedes usar 7zip como extractor de vmdk. Esta herramienta se puede utilizar en máquinas Linux y Windows.

7-zip puede abrir archivos vmdk y –flat.vmdk (esta utilidad puede abrir un solo archivo –flat.vmdk si falta el archivo de descriptor vmdk) – 7-zip es en realidad para discos virtuales del formato ESXi. 7-zip no puede abrir archivos VMDK delta creados después de tomar instantáneas de MV.

Cómo abrir un archivo VMDK con 7-zip en Linux

  1. Instala un paquete completo de 7-zip en tu máquina Linux. Se utiliza Ubuntu en este ejemplo.

    apt-get install p7zip-full

  2. Lista el contenido del archivo vmdk con 7-zip:

    7z l vm_name.vmdk

  3. Encontremos los archivos que contienen “boot.” en sus nombres, por ejemplo:

    7z l /media/user1/vms/WinXP-test/WinXP-test.vmdk | grep boot[.]

    Donde user1 es el nombre de nuestro usuario de Linux, l – lista.

  4. Extrajamos (e) el archivo boot.ini de la imagen VMDK:

    7z e /media/user1/vms/WinXP-test/WinXP-test.vmdk boot.ini

    Puedes extraer otros archivos y directorios del archivo VMDK de la misma manera.

Cómo abrir archivos VMDKcon 7-zip en Windows

  1. Descarga la versión compatible de 7-zip desde el sitio web oficial e instala la aplicación en tu máquina Windows. Usa el instalador EXE para mayor comodidad.
  2. Después de instalar 7-zip en Windows, se añaden nuevas opciones de 7-zip al menú contextual cuando haces clic derecho en cualquier archivo o carpeta en el Explorador de Windows (ver la captura de pantalla a continuación). Usa estas opciones para abrir el archivo VMDK como un archivo o extraer archivos ahora mismo.

  3. En la captura de pantalla a continuación, se muestra el contenido del archivo independiente Win-test2-flat.vmdk en la GUI de 7-zip utilizada en Windows. Puedes extraer el contenido del VMDK que necesites.

Cómo Montar Archivos VMDK en Linux (Otros Métodos)

Una de las capacidades más potentes de Linux es la capacidad de realizar el mayor número de operaciones en la consola, incluso con herramientas integradas. Estas herramientas te ayudarán a montar archivos VMDK y acceder al contenido almacenado en discos virtuales. Se utiliza Ubuntu Linux en los ejemplos proporcionados.

Método 1: Cómo montar archivo VMDKusando /dev/loop

Los dispositivos de bucle son pseudo-dispositivos en Linux, que hacen que los archivos sean accesibles como dispositivos de bloques y pueden ser utilizados para montar imágenes de disco que contienen sistemas de archivos. Los dispositivos de bucle se nombran como /dev/loopX donde X es el número del dispositivo de bucle. Este método es bueno para montar archivos – flat.vmdk, incluso sin un descriptor de disco virtual.

Vamos a explorar cómo montar un archivo VMDK en Linux para acceder a los archivos del disco virtual como ejemplo. Hay un disco virtual en formato ESXi que contiene una partición – el archivo de descriptor está ausente. Hace mucho tiempo, Windows XP estaba instalado en ese disco virtual.

  1. Utiliza uno de los dos comandos para verificar el número de dispositivos de bucle existentes en tu sistema Linux.

    fdisk -l | grep /dev/loop

    df -h | grep /dev/loop

  2. En nuestro caso, los dispositivos con números del 1 al 21 ya existen (/dev/loop1/dev/loop21). Por lo tanto, creemos el dispositivo de bucle número 30 – este número está libre. Vamos a asociar este dispositivo con el archivo – flat.vmdk.

    losetup /dev/loop30 /vms/Win-test2-flat.vmdk

  3. losetup -o 32256 /dev/loop31 /dev/loop30

    Donde 32256 es el desplazamiento que es 63*512 para un disco formateado en Windows XP/Server 2003 y versiones anteriores de Windows (63 es el número del primer sector de la partición, y 512 bytes es el tamaño del sector). Para Windows 7/Server 2008 y versiones más nuevas de Windows, intente el desplazamiento 105906176.

    Puede obtener información sobre el tamaño del sector y el primer sector utilizado para el inicio de arranque con el comando:

    fdisk -l /dev/loop30 /vms/Win-test2-flat.vmdk

    Como alternativa, para discos virtuales que contienen múltiples particiones, puede usar parted para determinar el inicio y el final de cada partición:

    parted /dev/loop30

    En la consola parted, ingrese los siguientes comandos:

    unit

    B

    print

  4. Cree un directorio que se utilizará como punto de montaje para la imagen VMDK:

    mkdir /mnt/vmdk-image

  5. Monte el dispositivo loopback asociado con la imagen VMDK en el directorio creado:

    mount /dev/loop31 /mnt/vmdk-image

  6. Liste el contenido de la imagen montada:

    ls -al /mnt/vmdk-image

  7. Después de terminar de trabajar con el contenido del disco virtual, desmonte la imagen vmdk y desconecte el dispositivo de bucle:

    umount /mnt/vmdk-image

    losetup -d /dev/loop31

Método 2: Cómo montar archivos VMDK con kpartx

Kpartx es una herramienta que puede montar particiones dentro de archivos de imagen en los directorios de su sistema de archivos Linux real. Esta herramienta se puede usar para configurar asignaciones de dispositivos para particiones de dispositivos de bloque. Este método también funciona para montar imágenes –flat.vmdk utilizadas en servidores ESXi. Veamos cómo montar el archivo –flat.vmdk utilizado en el ejemplo anterior.

  1. Instalar kpartx:

    apt-get install kpartx

  2. Agregue el mapeo de particiones para la imagen VMDK en el modo operativo detallado:

    kpartx -av /vms/Win-test2-flat.vmdk

  3. Monta una partición en el directorio /mnt/vmdk-image preparado anteriormente:

    mount /dev/mapper/loop30p1 /mnt/vmdk-image/

    Donde loop30 es el número del dispositivo de bucle, y p1 es el número de la partición dentro de la imagen (la primera partición en la imagen de disco).

  4. Listar el contenido de la partición de disco virtual que has montado:

    ls -al /mnt/vmdk-image/

  5. Cuando hayas terminado las operaciones con los archivos de la imagen VMDK, desmonta la imagen de disco virtual VMDK:

    umount /mnt/vmdk-image

    kpartx -d /vms/Win-test2-flat.vmdk

Conclusión

Conocer múltiples métodos para extraer contenido VMDK te brinda flexibilidad y confiabilidad porque cada método puede ser la mejor opción en ciertas situaciones. Además, es aún mejor tener copias de seguridad de tus MVs además de ese conocimiento.

NAKIVO Backup & Replication puede hacer copias de seguridad y restaurar MV que se ejecutan en VMware vSphere de la mejor manera. Puede recuperar la VM completa, el disco virtual específico o archivos separados desde la copia de seguridad a una ubicación personalizada.

Source:
https://www.nakivo.com/blog/extract-content-vmdk-files-step-step-guide/