Ainda é possível montar imagens de disco VMWare no Linux?
Encontrei os dois artigos a seguir, ambos recomendam o uso de kpartx -av diskimage-flat.vmdk
. Porém ambos os artigos são antigos e, quando tento no meu Ubuntu Utopic 14.10, não funciona mais.
$ sudo kpartx -av MyWin81.vmdk
$ sudo ls /dev/mapper/loop* | wc -l
ls: cannot access /dev/mapper/loop*: No such file or directory
0
Divulgação: Minha imagem de disco VMWare É uma imagem de disco simples. Além disso (antes de recomendar a montagem em loop), é uma imagem de disco com várias partições, sendo a primeira partição Window8 e as próximas duas no Linux. São as próximas duas partições Linux nas quais estou mais interessado em trabalhar.
Alguém pode confirmar, por favor? Obrigado.
Montar imagens de disco VMWare planas no Linux http://cromoteca.com/en/blog/mountflatvmwarediskimagesunderlinux/
Monte um arquivo de disco virtual VMware (.vmdk) em uma caixa Linux http://www.commandlinefu.com/commands/view/12554/mount-a-vmware-virtual-disk-.vmdk-file-on-a-linux-box
ATUALIZAR:
vmware-mount
parece muito promissor, mas ainda não consigo fazê-lo 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, o segundo e o terceiro comando são executados diretamente como root
, mas recebo "Permissões insuficientes para realizar esta operação"?
Responder1
Você também pode usar qemu:
Para.vdi
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd1 ./linux_box/VM/image.vdi
se eles não estiverem instalados você pode instalá-los (no Ubuntu é este comando)
sudo apt install qemu-utils
e depois monte-o
mount /dev/nbd1p1 /mnt
Para.vmdk
sudo modprobe nbd
sudo qemu-nbd -r -c /dev/nbd1 ./linux_box/VM/image.vmdk
observe que eu uso a opção -r
porqueA versão 3 do VMDK deve ser somente leiturapara poder ser montado pelo qemu
e então eu monto
mount /dev/nbd1p1 /mnt
Eu uso nbd1
porque nbd0
as vezes dá 'mount: dispositivo especial /dev/nbd0p1 não existe'
Para .ova
tar -tf image.ova
tar -xvf image.ova
O procedimento acima irá extrair o .vmdk
disco e montá-lo.
Minha configuração:
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
Responder2
Na minha máquina, os dispositivos de loop estão no formato /dev
.Este artigomenciona /dev/wrapper e /dev, então pode ser útil para você.
Por outro lado,este outro artigousa o vmware-mount
comando para fazer o mesmo.
Nota: Meu sistema é atual no Slackware64 (principalmente), mas principalmente com software baseado em gtk.
Responder3
Instale o affuse e monte o arquivo com ele:
affuse /path/file.vmdk /mnt/vmdk
Verifique o tamanho do setor
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 o tamanho do setor e inicie o setor. Por exemplo seria 2048*512
echo 2048*512 | bc
1048576
Monte usando esse deslocamento
mount -o ro,loop,offset=1048576 /mnt/vmdk/file.raw /mnt/vmdisk
O disco agora deve estar montado e legível em /mnt/vmdisk