VMware虚拟机软件是一种跨平台的虚拟机软件,支持Windows、MacOS和Linux系统,它所建立的虚拟机为vmdk格式,有时需要提取虚拟机中的文件又不方便运行虚拟机,就需要直接对虚拟机vmdk格式文件进行操作。
如果Linux系统中安装了VMware软件,那么就会存在相应的vmware命令行工具,使用vmware-mount命令就可以将vmdk格式挂载到指定目录中,再进行查找和提取操作。
注意,vmware-mount命令需要以root权限执行。在准备挂载之前,需要先了解虚拟机硬盘分区情况,执行命令:
sudo vmware-mount win7x86/win7x86.vmdk -p
可以看到虚拟机硬盘有两个分区,一个是EFI引导区,一个是系统C盘,所需要的文件在系统C盘时,分区号为2,建立挂载目录vmdk,执行如下挂载操作:
mkdir vmdk
sudo vmware-mount win7x86/win7x86.vmdk 2 vmdk/
此时可以看到系统盘C盘已经被挂载到vmdk目录,列出vmdk目录下的内容即系统盘C盘的文件,找到所需要的文件进行下一步操作即可。
如果Linux系统安装了VMware软件,会有一系列相应的命令行工具,当没有安装VMware软件时,如果要提取vmdk格式虚拟机中的文件呢?这时就需要用到压缩工具王者7zip。
在使用7zip压缩工具之前,需要执行命令安装它:
sudo apt install p7zip-full
接下来可以使用7z命令来查看虚拟机vmdk格式中的文件,执行下面命令将会列出虚拟机中硬盘分区情况,此时硬盘分区是以文件形式显示的,0.ntfs文件是EFI分区,1.ntfs是系统盘C盘分区。
7z l win7x86/win7x86.vmdk
接下来要解压后查看vmdk格式虚拟机中的文件,执行命令:
7z e win7x86/win7x86.vmdk
可以看到第二种方法远没有第一种方法方便,但可以作为应急使用。