vmdk 파일의 파일에 어떻게 액세스합니까?

vmdk 파일의 파일에 어떻게 액세스합니까?

가상 머신에 문제가 있습니다. 가상 디스크 파일에 액세스할 수 있는 방법이 있는지 알고 싶습니다. OSFMount에 대해 들어본 적이 있지만 필요한 폴더에 액세스할 수 없습니다.

시스템이 실행되도록 호스트에 있는 가상 머신의 백업을 복원하는데 디스크 내부의 데이터를 가져와서 외부 디스크에 넣고 Windows 머신으로 옮긴 다음 CentOS에서 액세스할 수 있도록 합니다. vmware-mount를 사용하고 있지만 "디스크 'SERVER-04.Palmiss.local.vmdk'를 마운트할 수 없습니다. 가상 디스크를 마운트하는 것이 안전하지 않습니다. 사용 중일 수 있습니다."라는 오류가 표시됩니다.

답변1

파일에 액세스하는 방법에는 여러 가지가 있습니다 vmdk.

VM웨어 마운트

당신이 이미 시도한 것처럼 vmware-mount. 사용시 반드시 올바른 명령어를 모두 입력하시기 바랍니다. 나는 이미 언급했다이 웹사이트관련 정보 vmware-mount. 이 링크는 오래되었지만 여전히 작동할 수 있습니다.

특정 파티션만 설치해야 하거나 상황에 맞는 올바른 파티션 번호를 알아야 할 수도 있습니다.

vmware-mount -p #list partitions
mkdir /mnt/vmdkfile #create a mountpoint for your file
vmware-mount /path/to/vmfile.vmdk 1 /mnt/vmdkfile

이는 1명령에 나열된 올바른 파티션 번호입니다 vmware-mount -p. 귀하의 경우에는 vmware-mount디스크가 아직 사용 중이라고 불평하므로 작동하지 않을 수 있습니다 . 가능하다면 VMWare Player 또는 Workstation을 사용하여 디스크를 사용하여 .vmdk새 VM을 생성 해 볼 수 있습니다. 아니면 시도해 볼 수도 있습니다 QEMU.

QEMU

읽기 전용 액세스만 필요한 경우 QEMU가 .vmdk파일을 마운트할 수 있습니다. 나는 언급하고있다이 스택 교환 게시물이 부분에 대해서는.

nbd커널 모듈이 있는지 확인하십시오 .

sudo modprobe nbd

vmware 디스크 파일을 nbd.

sudo qemu-nbd -r -c /dev/nbd1 ./path/to/vmfile.vmdk

그런 다음 다음 명령을 사용하여 Linux 호스트에 설치합니다.

mount /dev/nbd1p1 /mnt

그러나 이는 귀하가 사용할 수 있는 형식이 아닐 수도 있습니다. 이 경우 파일 내용 추출을 사용해 보시기 바랍니다 7zip. 내가 인용한 마지막 몇 가지 옵션에 대해이 웹사이트.

7zip

나열된 파일의 내용을 사용할 수 있는지 확인하십시오 7zip.

7z l vmfile.vmdk

관련 디렉토리를 볼 수 있고 볼 수 있다면 다음을 사용하여 특정 파일을 추출할 수 있어야 합니다.

7z e vmfile.vmdk FILE

이 작업은 에서 수행됩니다 .vmdk. 필요한 경우 grep특정 파일을 검색할 수 있습니다. .vmdk전체 디스크가 필요한 경우 7z e vmfile.vmdk전체 아카이브를 추출하는 데 사용하면 됩니다.

/dev/loop 및 게스트 마운트

루프 장치를 사용하거나 guestmount이미지 마운트를 시도해 볼 수도 있습니다.

fdisk -l | grep /dev/loop전류 루프 장치를 사용하거나 나열합니다 df -h | grep /dev/loop.

루프 장치가 20개에 도달하면 더 높은 번호의 루프 장치를 만들고 다음 명령을 사용하여 이미지를 탑재합니다.

losetup /dev/loop30 /path/to/vmfile.vmdk

이것협회앞에서 오프셋 수행에 대한 논의를 언급했지만 이는 특정 Windows VM에만 필요합니다.

이라는 Linux 유틸리티도 있습니다 guestmount. 이에 대해 자세히 알아보기여기맨페이지에 있습니다. 여기에서 그 예를 확인하세요.

첫 번째 파티션에 기본 파일 시스템이 있는 일반적인 Windows 클라이언트의 경우:

guestmount -a windows.img -m /dev/sda1 --ro /mnt

첫 번째 파티션에 /boot 파일 시스템이 있고 논리 볼륨에 루트 파일 시스템이 있는 일반적인 Linux 클라이언트의 경우:

guestmount -a linux.img -m /dev/VG/LV -m /dev/sda1:/boot --ro /mnt

libguestfs가 게스트 마운트 지점을 감지하도록 하려면:

guestmount -a guest.img -i --ro /mnt

결론적으로

참고하실 수 있도록 VMWare 문서에 대한 링크도 제공하겠습니다..vmdk 설치 제한 사항. 명령을 시도하기 전에 제가 제공하는 모든 링크를 읽어보시기 바랍니다. 특정 접근 방식이 귀하에게 가장 적합한 경우 이 기사의 범위를 제한할 수 있습니다. 제 글에 질문이나 오해, 문제가 있는 경우 댓글을 남겨주시면 필요한 경우 수정하겠습니다.

행운을 빌어요!

관련 정보