O Linux e outros hosts semelhantes ao Unix podem montar imagens criadas com o tipo de formato bruto usando um dispositivo de loopback. Em um login raiz (ou usando o sudo), monte um loopback com um deslocamento de 32.256.
mount -o loop,offset=32256 /path/to/image.img /mnt/mountpoint
Para outros tipos de imagens qemu, você pode usar qemu-nbd
Além disso, geralmente você pode converter imagens de um formato para outro.
raw - (default) the raw format is a plain binary image of the disc
image, and is very portable.
On filesystems that support sparse files,
images in this format only use the
space actually used by the data recorded in them.
cloop - Compressed Loop format, mainly used for reading Knoppix
and similar live CD image formats
cow - copy-on-write format, supported for historical reasons only and
not available to QEMU on Windows
qcow - the old QEMU copy-on-write format, supported for
historical reasons and superseded by qcow2
qcow2 - QEMU copy-on-write format with a range of special features,
including the ability to take multiple snapshots, smaller
images on filesystems that don't support sparse files,
optional AES encryption, and optional zlib compression
vmdk - VMware 3 & 4, or 6 image format, for exchanging images
with that product
vdi - VirtualBox 1.1 compatible image format, for exchanging
images with VirtualBox.
Tente google, eu encontrei solução para (VirtualBox) .VDI em um segundo :
Isso não está funcionando para mim no 16.04.5 para o meu .vmdk ... funciona na etapa fdisk, e a partição principal da minha VM, a que eu quero montar, também começa em 2048, mas mount -o ro,loop,offset=1048576 ./foo.raw /mnt/foofalha only root can use "--options" option. Com sudo, falha com failed to setup loop device: Permission denied.
Para arquivos vmdke vhd, tive sorte apenas com o kpartxcomando abaixo:
sudo kpartx -a -v <image-flat.vmdk>
Verifique a saída para losetup, ela deve conter um dispositivo de loop /dev/loop0; verifique também sudo blkida partição /dev/mapper/loop0p1e use-a no comando mount:
sudo mount -o rw /dev/mapper/loop0p1 /mnt/vmdk
Onde / mnt / vmdk é o seu ponto de montagem, a ser criado com sudo mkdir /mnt/vmdk se não existir.
Respostas:
De acordo com este artigo :
Além disso, geralmente você pode converter imagens de um formato para outro.
Tente google, eu encontrei solução para (VirtualBox) .VDI em um segundo :
O mesmo que os comandos "caminho do Qemu". Sem Fronteiras!
fonte
Isso está no Ubuntu 16.04 .
Como raiz:
Instale e monte usando affuse.
Verifique o tamanho do setor
Multiplique setoresize e setor de inicialização. Por exemplo, seria 2048 * 512
Monte usando esse deslocamento
O disco agora deve estar montado e legível em / mnt / vmdisk
fonte
mount -o ro,loop,offset=1048576 ./foo.raw /mnt/foo
falhaonly root can use "--options" option
. Comsudo
, falha comfailed to setup loop device: Permission denied
.Você também pode usar o qemu:
Para
.vdi
se eles não estiverem instalados, você pode instalá-los (no Ubuntu é este comando)
e depois monte
Para
.vmdk
note que eu uso a opção
-r
porque o VMDK versão 3 deve ser somente leitura para poder ser montado pelo qemue depois eu montei
Eu uso
nbd1
porquenbd0
às vezes dá 'mount: dispositivo especial / dev / nbd0p1 não existe'Para .ova
O acima irá extrair o
.vmdk
disco e depois montá-lo.fonte
Para arquivos
vmdk
evhd
, tive sorte apenas com okpartx
comando abaixo:Verifique a saída para
losetup
, ela deve conter um dispositivo de loop/dev/loop0
; verifique tambémsudo blkid
a partição/dev/mapper/loop0p1
e use-a no comando mount:Onde / mnt / vmdk é o seu ponto de montagem, a ser criado com
sudo mkdir /mnt/vmdk
se não existir.fonte em commandlinefu.com (comando kpartx and mount)
Desmonte com:
fonte
vhd
, ele funciona!