¿Todavía es posible montar imágenes de disco VMWare en Linux?
Encontré los dos artículos siguientes y ambos recomiendan su uso kpartx -av diskimage-flat.vmdk
. Sin embargo, ambos artículos son antiguos y, cuando lo pruebo en mi Ubuntu Utopic 14.10, ya no funciona.
$ sudo kpartx -av MyWin81.vmdk
$ sudo ls /dev/mapper/loop* | wc -l
ls: cannot access /dev/mapper/loop*: No such file or directory
0
Divulgación: Mi imagen de disco VMWare ES una imagen de disco plano. Además (antes de recomendar el montaje en bucle), es una imagen de disco de múltiples particiones, siendo la primera partición Windows8 y las dos siguientes en Linux. Son las siguientes dos particiones de Linux en las que estoy más interesado en trabajar.
¿Alguien puede confirmar por favor? Gracias.
Montar imágenes de disco planas VMWare en Linux http://cromoteca.com/es/blog/mountflatvmwarediskimagesunderlinux/
Montar un archivo de disco virtual VMware (.vmdk) en una máquina Linux http://www.commandlinefu.com/commands/view/12554/mount-a-vmware-virtual-disk-.vmdk-file-on-a-linux-box
ACTUALIZAR:
vmware-mount
Parece muy prometedor, pero todavía no puedo hacerlo funcionar:
$ vmware-mount -p Win81.vmdk
VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.
Nr Start Size Type Id Sytem
-- ---------- ---------- ---- -- ------------------------
1 2048 78643200 BIOS 7 HPFS/NTFS
2 78645248 6039552 BIOS 83 Linux
3 84684800 41144320 BIOS 83 Linux
% vmware-mount Win81.vmdk 1 /mnt/tmp1/
VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.
Failed to mount partition 1 of disk 'Win81.vmdk' on '/mnt/tmp1/': Insufficient permissions to perform this operation
% vmware-mount -L
VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.
No mounted disks.
$ vmware-mount | head -3
VixDiskLib: Invalid configuration file parameter. Failed to read configuration file.
VMware DiskMount Utility version 6.0.0, build-2496824
Usage: vmware-mount diskPath [partition num] mountPoint
NB, el segundo y tercer comando se ejecutan directamente como root
, pero aparece "Permisos insuficientes para realizar esta operación"?
Respuesta1
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 es 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
porqueVMDK versión 3 debe ser de solo lecturapara poder ser montado por qemu
y luego lo monto
mount /dev/nbd1p1 /mnt
Lo uso nbd1
porque nbd0
a veces da 'montar: el dispositivo especial /dev/nbd0p1 no existe'
Para .ova
tar -tf image.ova
tar -xvf image.ova
Lo anterior extraerá el .vmdk
disco y luego lo montará.
Mi configuración:
Ubuntu: 16.04.3 LTS Kernel: 4.4.0-112-generic Package: qemu-utils version: 1:2.5+dfsg-5ubuntu10.22 Vmdk: 3 but should be any
Respuesta2
En mi máquina los dispositivos de bucle están en formato /dev
.Este artículomenciona /dev/wrapper y /dev, por lo que podría resultarle útil.
Por otro lado,este otro articuloutiliza el vmware-mount
comando para lograr lo mismo.
Nota: Mi sistema es Slackware64 (principalmente), pero con software principalmente basado en gtk.
Respuesta3
Instale affuse, luego monte el archivo con él:
affuse /path/file.vmdk /mnt/vmdk
Comprobar el tamaño del 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
Multiplique el tamaño del sector y el sector inicial. En el ejemplo sería 2048*512
echo 2048*512 | bc
1048576
Montar usando ese desplazamiento
mount -o ro,loop,offset=1048576 /mnt/vmdk/file.raw /mnt/vmdisk
El disco ahora debería estar montado y legible en /mnt/vmdisk