Ubuntu'ya sanal bir sabit disk (VHD, HDD, VDI, VMDK) monte etmek mümkün mü? Bu nasıl yapılabilir?
Ubuntu'ya sanal bir sabit disk (VHD, HDD, VDI, VMDK) monte etmek mümkün mü? Bu nasıl yapılabilir?
Yanıtlar:
Bu makaleye göre :
Linux ve diğer Unix benzeri ana bilgisayarlar, geridöngü aygıtı kullanarak ham format türünde oluşturulan görüntüleri bağlayabilir. Bir kök girişinden (veya sudo kullanarak), 32.256 ofset ile bir geri döngü ekleyin.
mount -o loop,offset=32256 /path/to/image.img /mnt/mountpoint
Diğer qemu görüntüleri için, qemu-nbd kullanabilirsiniz.
modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 image.qcow2
partprobe /dev/nbd0
mount /dev/nbd0p1 /mnt/image
Artı, genellikle görüntüyü bir formattan diğerine dönüştürebilirsiniz.
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’ı deneyin, bir saniyede (VirtualBox) .VDI için bir çözüm buldum :
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'nun yolu" komutları ile aynı. Sınır yok!
Bu, 16.04 Ubuntu'da .
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
başarısız oluyor only root can use "--options" option
. İle sudo
, başarısız olur failed to setup loop device: Permission denied
.
Ayrıca qemu kullanabilirsiniz:
.vdi
sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd1 ./linux_box/VM/image.vdi
eğer kurulum yapmazlarsa onları kurabilirsiniz (Ubuntu'da bu komuttur)
sudo apt install qemu-utils
ve sonra monte et
mount /dev/nbd1p1 /mnt
.vmdk
sudo modprobe nbd
sudo qemu-nbd -r -c /dev/nbd1 ./linux_box/VM/image.vmdk
farkettim, -r
çünkü VMDK sürüm 3 sadece qemu ile monte edilebilmek için okunmalı
ve sonra onu monte ediyorum
mount /dev/nbd1p1 /mnt
Kullandığım nbd1
çünkü nbd0
bazen ': özel bir cihaz / dev / nbd0p1 yok montaj' verir
tar -tf image.ova
tar -xvf image.ova
Yukarıdakiler .vmdk
diski çıkaracak ve daha sonra monte edecektir .
İçin vmdk
ve vhd
dosyalar, sadece konusunda şanslıydık kpartx
komuta altında:
sudo kpartx -a -v <image-flat.vmdk>
Çıktısını kontrol edin losetup
, bu döngü cihazı içermelidir /dev/loop0
; ayrıca sudo blkid
bölümü kontrol /dev/mapper/loop0p1
edip mount komutunda kullanın:
sudo mount -o rw /dev/mapper/loop0p1 /mnt/vmdk
/ Mnt / vmdk sizin bağlama noktanızdır, sudo mkdir /mnt/vmdk
mevcut değilse birlikte oluşturulacak .
commandlinefu.com adresinde kaynak (kpartx ve mount komutu)
Şununla bağlantısını kes:
sudo umount /mnt/vmdk
sudo kpartx -d -v <image-flat.vmdk>
vhd
, işe yarıyor!