¿Es posible montar un disco duro virtual (VHD, HDD, VDI, VMDK) en Ubuntu? ¿Cómo se puede hacer esto?
¿Es posible montar un disco duro virtual (VHD, HDD, VDI, VMDK) en Ubuntu? ¿Cómo se puede hacer esto?
Respuestas:
De acuerdo con este artículo :
Linux y otros hosts similares a Unix pueden montar imágenes creadas con el tipo de formato sin formato utilizando un dispositivo de bucle invertido. Desde un inicio de sesión raíz (o usando sudo), monte un loopback con un desplazamiento de 32,256.
mount -o loop,offset=32256 /path/to/image.img /mnt/mountpoint
Para otros tipos de imágenes qemu, puede usar qemu-nbd
modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 image.qcow2
partprobe /dev/nbd0
mount /dev/nbd0p1 /mnt/image
Además, por lo general, puede convertir imágenes de un formato a otro.
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.
Intente googlear, he encontrado una solución para (VirtualBox) .VDI en un segundo :
modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 /path/to/some.vdi
mount -o loop /dev/nbd0p1 /mnt
# do stuff
umount /mnt
qemu-nbd -d /dev/nbd0
rmmod nbd
Lo mismo que los comandos "Qemu's way". ¡Sin Fronteras!
Esto está en Ubuntu 16.04 .
apt-get install afflib-tools
affuse /path/file.vmdk /mnt/vmdk
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
echo 2048*512 | bc
1048576
mount -o ro,loop,offset=1048576 /mnt/vmdk/file.raw /mnt/vmdisk
mount -o ro,loop,offset=1048576 ./foo.raw /mnt/foo
falla only root can use "--options" option
. Con sudo
, falla con failed to setup loop device: Permission denied
.
También puedes usar qemu:
.vdi
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd1 ./linux_box/VM/image.vdi
si no están instalados, puede instalarlos (en Ubuntu es este comando)
sudo apt install qemu-utils
y luego montarlo
mount /dev/nbd1p1 /mnt
.vmdk
sudo modprobe nbd
sudo qemu-nbd -r -c /dev/nbd1 ./linux_box/VM/image.vmdk
tenga en cuenta que uso la opción -r
porque VMDK versión 3 debe ser de solo lectura para que qemu pueda montarlo
y luego lo monte
mount /dev/nbd1p1 /mnt
Lo uso nbd1
porque a nbd0
veces da 'mount: dispositivo especial / dev / nbd0p1 no existe'
tar -tf image.ova
tar -xvf image.ova
Lo anterior extraerá el .vmdk
disco y luego lo montará.
Para vmdk
y vhd
archivos, solo tuve suerte con el kpartx
siguiente comando:
sudo kpartx -a -v <image-flat.vmdk>
Verifique la salida para losetup
, debe contener un dispositivo de bucle /dev/loop0
; también verifique la sudo blkid
partición /dev/mapper/loop0p1
, luego úsela en el comando de montaje:
sudo mount -o rw /dev/mapper/loop0p1 /mnt/vmdk
Donde / mnt / vmdk es su punto de montaje, que se creará sudo mkdir /mnt/vmdk
si no existe.
fuente en commandlinefu.com (comando kpartx y mount)
Desmontar con:
sudo umount /mnt/vmdk
sudo kpartx -d -v <image-flat.vmdk>
vhd
, funciona!