Linux에서 VMWare 디스크 이미지 마운트

Linux에서 VMWare 디스크 이미지 마운트

Linux에서 VMWare 디스크 이미지를 마운트하는 것이 여전히 가능합니까?

다음 두 기사를 찾았는데 둘 다 kpartx -av diskimage-flat.vmdk. 그러나 두 기사 모두 오래되었으며 Ubuntu Utopic 14.10에서 시도해 보면 더 이상 작동하지 않습니다.

$ sudo kpartx -av MyWin81.vmdk

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

공개: 내 VMWare 디스크 이미지는 플랫 디스크 이미지입니다. 또한(루프 마운트를 권장하기 전) 다중 파티션 디스크 이미지이며 첫 번째 파티션은 Window8이고 다음 두 파티션은 Linux입니다. 제가 작업하고 싶은 부분은 다음 두 개의 Linux 파티션입니다.

누군가 확인해 주실 수 있나요? 감사해요.

Linux에서 플랫 VMWare 디스크 이미지 마운트 http://cromoteca.com/en/blog/mountplatvmwarediskimagesunderlinux/

Linux 상자에 VMware 가상 디스크(.vmdk) 파일 탑재 http://www.commandlinefu.com/commands/view/12554/mount-a-vmware-virtual-disk-.vmdk-file-on-a-linux-box

업데이트:

vmware-mount매우 유망해 보이지만 아직 작동시킬 수는 없습니다.

$ 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, 두 번째 및 세 번째 명령은 root다음과 같이 직접 실행되지만 "이 작업을 수행할 권한이 부족합니다."?

답변1

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

가끔 'mount: 특수 장치 /dev/nbd0p1이 존재하지 않습니다'라는 메시지가 표시되기 nbd1때문에 사용합니다.nbd0

.ova의 경우

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

위의 방법은 .vmdk디스크를 추출한 다음 마운트합니다.

내 구성:

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

답변2

내 컴퓨터에서 루프 장치는 /dev.이 기사/dev/wrapper 및 /dev를 언급하므로 도움이 될 수 있습니다.

반면에,이 다른 기사vmware-mount동일한 작업을 수행하기 위해 명령을 사용합니다 .

참고: 내 시스템은 Slackware64-current(주로)이지만 주로 gtk 기반 소프트웨어를 사용합니다.

답변3

Afuse를 설치한 후 파일을 마운트합니다.

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

섹터 크기와 시작 섹터를 곱하세요. 예를 들어 2048*512 입니다.

echo 2048*512 | bc
1048576

해당 오프셋을 사용하여 마운트

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

이제 디스크가 /mnt/vmdisk에 마운트되어 읽을 수 있습니다.

관련 정보