我有两个磁盘作为.vmdk
文件,四个作为.vdi
文件。我可以使用 Sun xMV VirtualBox 在它们上启动虚拟机,它们运行良好。但是,我想将它们安装在我的本地计算机上,这样我就可以在不启动虚拟机的情况下从中读取一些文件。我下载了该vmware-mount
实用程序,但即使在挂载.vmdk
文件(应该是 VMWare 映像)时也出现此错误...
Unable to mount the virtual disk. The disk may be in use by a virtual
machine, may not have enough volumes or mounted under another drive
letter. If not, verify that the file is a valid virtual disk file.
认为这是实用程序的问题,我下载了 SDK 并用 C 编写了自己的简单程序来尝试挂载磁盘。它只是初始化 API,连接到它,然后尝试打开磁盘。我收到此错误,再次声称它不是虚拟磁盘:
**LOG: DISKLIB-DSCPTR: descriptor above max size: I64u
**LOG: DISKLIB-LINK : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-CHAIN : "f:\programming\VMs\windowstrash.vdi" : failed to open (The file specified is not a virtual disk).
**LOG: DISKLIB-LIB : Failed to open 'f:\programming\VMs\windowstrash.vdi' with flags 0x1e (The file specified is not a virtual disk).
** FAILURE ** : The file specified is not a virtual disk
不过,这些文件显然是虚拟磁盘,因为我实际上可以在虚拟机上挂载和使用它们。我尝试将它们与任何 VM 分离并再次尝试,但得到了相同的结果。
有任何想法吗?也许“最大尺寸以上的描述符”是一个提示?
更多信息:.vmdk
磁盘是在其他计算机上创建的。我只是将它们复制到我的并在它们周围创建了新的虚拟机,但它们工作正常。所有.vdi
文件都是在我的机器上创建的。不确定这是否会影响任何事情。
更新:WinMount 可以挂载文件.. 所以问题似乎出在 vmware-mount 上。
嗯,我不认为 VirtualBox 磁盘映像 (.vdi) 可以安装在 VMware 实用程序下,除非我遗漏了什么。
.vmdk 文件是 VMware 磁盘文件,从 v2.1 VirtualBox 开始可以使用(但它可以对它们进行重大更改,从而阻止它们再次在 VMware 上工作。)
如果你的主机是 linux,你可以试试这个:HOWTO: Mount any VBox-compatible disk image on the host
我在使用 vmware-mount 时遇到了同样的问题。在寻找替代品时,我偶然发现了ImDisk。它能够毫无问题地挂载 .vmdk。此外,它没有免费版 WinMount 的 20GB 大小限制。
我没有尝试使用 .vdi 磁盘,但如果它也能处理这些磁盘也不会感到惊讶。