Mounten Sie VMWare-Disk-Images unter Linux

Mounten Sie VMWare-Disk-Images unter Linux

Ist es immer noch möglich, VMWare-Disk-Images unter Linux zu mounten?

Ich habe die folgenden beiden Artikel gefunden, die beide die Verwendung empfehlen kpartx -av diskimage-flat.vmdk. Allerdings sind beide Artikel alt und wenn ich es auf meinem Ubuntu Utopic 14.10 versuche, funktioniert es nicht mehr.

$ sudo kpartx -av MyWin81.vmdk

$ sudo ls /dev/mapper/loop* | wc -l 
ls: cannot access /dev/mapper/loop*: No such file or directory
0

Offenlegung: Mein VMWare-Disk-Image IST ein flaches Disk-Image. Außerdem (bevor Sie Loop Mount empfehlen) ist es ein Disk-Image mit mehreren Partitionen, wobei die erste Partition Windows 8 und die nächsten beiden Linux sind. Ich bin eher an den nächsten beiden Linux-Partitionen interessiert.

Kann das bitte jemand bestätigen? Danke.

Mounten Sie flache VMWare-Disk-Images unter Linux http://cromoteca.com/en/blog/mountflatvmwarediskimagesunderlinux/

Mounten Sie eine virtuelle VMware-Festplattendatei (.vmdk) auf einer Linux-Box http://www.commandlinefu.com/commands/view/12554/mount-a-vmware-virtual-disk-.vmdk-file-on-a-linux-box

AKTUALISIEREN:

vmware-mountsieht sehr vielversprechend aus, aber ich bekomme es noch nicht zum Laufen:

$ 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, der 2. und 3. Befehl wird direkt als ausgeführt root, aber ich bekomme "Unzureichende Berechtigungen zum Ausführen dieses Vorgangs"?

Antwort1

Sie können auch qemu verwenden:

Für.vdi

sudo modprobe nbd
sudo qemu-nbd -c /dev/nbd1 ./linux_box/VM/image.vdi

Wenn sie nicht installiert sind, können Sie sie installieren (unter Ubuntu ist dies dieser Befehl)

sudo apt install qemu-utils

und dann montieren Sie es

mount /dev/nbd1p1 /mnt

Für.vmdk

sudo modprobe nbd
sudo qemu-nbd -r -c /dev/nbd1 ./linux_box/VM/image.vmdk

Beachten Sie, dass ich die Option benutze, -rweilVMDK Version 3 muss schreibgeschützt seinum von qemu gemountet werden zu können

und dann montiere ich es

mount /dev/nbd1p1 /mnt

Ich verwende es nbd1, weil nbd0manchmal die Meldung „Mount: Spezialgerät /dev/nbd0p1 existiert nicht“ erscheint.

Für .ova

tar -tf image.ova
tar -xvf image.ova

Mit dem obigen Befehl wird die Festplatte extrahiert .vmdkund anschließend gemountet.

Meine Konfiguration:

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

Antwort2

In meiner Maschine befinden sich die Loop-Geräte in /dev.Dieser Artikelerwähnt /dev/wrapper und /dev, also könnte es Ihnen helfen.

Andererseits,dieser andere Artikelverwendet den vmware-mountBefehl, um dasselbe zu erreichen.

Hinweis: Mein System ist (größtenteils) Slackware64-current, aber hauptsächlich mit GTK-basierter Software.

Antwort3

Installieren Sie affuse und mounten Sie dann die Datei damit:

affuse /path/file.vmdk /mnt/vmdk

Überprüfen Sie die Sektorgröße

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

Multiplizieren Sie Sektorgröße und Startsektor. Im Beispiel wäre das 2048*512

echo 2048*512 | bc
1048576

Montieren Sie mit diesem Versatz

mount -o ro,loop,offset=1048576 /mnt/vmdk/file.raw /mnt/vmdisk

Die Festplatte sollte jetzt unter /mnt/vmdisk gemountet und lesbar sein.

verwandte Informationen