mount - vmk - no se puede abrir el disco o uno de los discos de instantánea de los que depende
Montaje de la imagen de disco VMDK (6)
Tengo un solo archivo de imagen de disco vmware con extensión vmdk
Estoy tratando de montar esto y explorar todas las particiones (incluidas las ocultas).
He intentado seguir varias guías, como: http://forums.opensuse.org/showthread.php/469942-mounting-virtual-box-machine-images-host
Soy capaz de montar la imagen usando vdfuse
vdfuse -w -f windows.vmdk /mnt/
Después de esto puedo ver una partición y un disco entero expuesto
# ll /mnt/
total 41942016
-r-------- 1 te users 21474836480 Feb 28 14:16 EntireDisk
-r-------- 1 te users 1569718272 Feb 28 14:16 Partition1
Continuando con la guía, trato de montar EntireDisk o Partition1 usando
mount -o loop,ro /mnt/Partition1 mnt2/
Pero eso me da el error ''mount: debes especificar un tipo de sistema de archivos''
Al tratar de encontrar el tipo correcto intenté
dd if=/mnt/EntireDisk | file -
which outputs a ton of information but of note is:
/dev/stdin: x86 boot sector; partition 1: ....... FATs ....
Así que me cansé de montar como un vfat pero eso me dio
mount: wrong fs type, bad option, bad superblock ...etc
¿Qué estoy haciendo mal?
¿Tienes el paquete de software para ntfs?
Tratar
apt-get install ntfs-3g
en sistemas basados en debian.
Encontré y respondí desde commandlinefu.com bastante bien:
kpartx -av <image-flat.vmdk>; mount -o /dev/mapper/loop0p1 /mnt/vmdk
También puede activar volúmenes LVM en la imagen ejecutando
vgchange -a y
y luego puedes montar el LV dentro de la imagen.
Para desmontar la imagen, desmonte la partición / LV, desactive el VG para la imagen
vgchange -a n <volume_group>
entonces corre
kpartx -dv <image-flad.vmdk>
para eliminar las asignaciones de partición.
Instale affuse, luego monte usándolo.
affuse /path/file.vmdk /mnt/vmdk
El diskimage sin formato ahora se encuentra en / mnt / vmdk. Compruebe el tamaño de su sector.
fdisk -l /mnt/vmdk/file.vmdk.raw
# example
Disk file.vmdk.raw: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000da525
Device Boot Start End Sectors Size Id Type
/mnt/vmdk/file.vmdk.raw1 * 2048 41943039 41940992 20G 83 Linux
Multiplica el sector y arranca el sector. En ejemplo sería 2048 * 512
echo 2048*512 | bc
1048576
Montar utilizando ese desplazamiento
mount -o ro,loop,offset=1048576 /mnt/vmdk/file.raw /mnt/vmdisk
El disco ahora debe estar montado y ser legible en / mnt / vmdisk
No se permite comentar en la publicación de @Thomas (38 respuestas upvotes) Le informaría a la siguiente persona que podría encontrar el siguiente código de error generado desde guestmount cuando usa qemu-img cómo resolver el problema.
ERROR: qemu-img: '''' uses a vmdk feature which is not supported by this qemu version: VMDK version
Intente generar una versión en bruto de .vmdk usando vmdkmount
# vmdkmount {file}.vmdk /ur/mount/path
Dentro del directorio montado hay un archivo vmdk1 (archivo sin procesar)
Ahora intenta cargar el vmdk usando guestmount
# guestmount -a vmdk1 -i --ro /ur/mount/path
Para los sistemas Linux más nuevos, existe el comando ''guestmount''. Después de instalar esto, puede ejecutar el siguiente comando para montar la tercera partición dentro de una imagen VMDK:
guestmount -a xyz.vmdk -m /dev/sda3 --ro /mnt/vmdk
Alternativamente, para detectar automáticamente y montar una imagen (menos confiable), puede intentar:
guestmount -a xyz.vmdk -i --ro /mnt/vmdk
Tenga en cuenta que la bandera --ro
simplemente monta la imagen como de solo lectura; para montar la imagen como lectura / escritura, simplemente reemplácela con la bandera --rw
.
guestmount está contenido en los siguientes paquetes por distro:
- Ubuntu: libguestfs-tools
- OpenSuse: guestfs-tools
- CentOS: libguestfs-tools-c
También puedes usar qemu:
Para .vdi
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd1 ./linux_box/VM/image.vdi
Si no están instalados, puedes instalarlos (en Ubuntu está este comando)
sudo apt install qemu-utils
y luego montarlo
mount /dev/nbd1p1 /mnt
Para .vmdk
sudo modprobe nbd
sudo qemu-nbd -r -c /dev/nbd1 ./linux_box/VM/image.vmdk
note que uso la opción -r
porque la versión 3 de VMDK debe ser de solo lectura para que pueda ser montada por qemu
y luego lo monte
mount /dev/nbd1p1 /mnt
Utilizo nbd1
porque nbd0
veces da ''mount: special device / dev / nbd0p1 no existe''
Para .ova
tar -tf image.ova
tar -xvf image.ova
Lo anterior extraerá el disco .vmdk
y luego lo montará.