Можно ли смонтировать виртуальный жесткий диск (VHD, HDD, VDI, VMDK) в Ubuntu? Как это можно сделать?
Вы также можете использовать qemu:
.vdi
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd1 ./linux_box/VM/image.vdi
, если они не установлены, вы можете установить их (в Ubuntu есть эта команда)
sudo apt install qemu-utils
и затем смонтируйте его
mount /dev/nbd1p1 /mnt
.vmdk
sudo modprobe nbd
sudo qemu-nbd -r -c /dev/nbd1 ./linux_box/VM/image.vmdk
обратите внимание, что я использую опцию -r
, потому что VMDK версии 3 должен быть только для чтения для возможности монтирования с помощью qemu
, а затем я монтирую его
mount /dev/nbd1p1 /mnt
Я использую nbd1
, потому что nbd0
иногда дает 'mount: special device / dev / nbd0p1 не существует '
tar -tf image.ova
tar -xvf image.ova
Приведенное выше извлечет диск .vmdk
и затем смонтирует его.
Для vmdk
и vhd
файлы, я только стал удачливым с kpartx
команда ниже:
sudo kpartx -a -v <image-flat.vmdk>
Проверьте вывод на losetup
, это должно содержать циклическое устройство /dev/loop0
; также проверьте sudo blkid
для раздела /dev/mapper/loop0p1
, затем используйте его в команде монтирования:
sudo mount -o rw /dev/mapper/loop0p1 /mnt/vmdk
Где/mnt/vmdk является Вашей точкой монтирования, чтобы быть созданным с sudo mkdir /mnt/vmdk
если не существующий.
источник по commandlinefu.com (kpartx и монтируют команду),
Размонтирование с:
sudo umount /mnt/vmdk
sudo kpartx -d -v <image-flat.vmdk>
Это на 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
Согласно этой статье :
Linux и другие Unix-подобные хосты могут монтировать образы, созданные в необработанном формате, с помощью устройства обратной связи. Из имени пользователя root (или с помощью sudo) смонтируйте петлю со смещением 32 256.
blockquote>mount -o loop,offset=32256 /path/to/image.img /mnt/mountpoint
Для других типов изображений qemu вы можете использовать qemu-nbd
blockquote>modprobe nbd max_part=16 qemu-nbd -c /dev/nbd0 image.qcow2 partprobe /dev/nbd0 mount /dev/nbd0p1 /mnt/image
Кроме того, обычно вы можете конвертировать изображения из одного формата другому.
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.
Попробуйте Google, я нашел решение для (VirtualBox) .VDI за одну секунду :
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
Так же, как команды «Qemu's way». Без границ!