c - VMWare-Mount 无法识别虚拟磁盘

标签 c vmware virtualization virtual-machine mount

我有两个磁盘作为 .vmdk 文件,四个磁盘作为 .vdi 文件。我可以使用 Sun xMV VirtualBox 在其上启动虚拟机,并且它们工作得很好。但是,我想将它们安装在本地计算机上,这样我就可以在不启动虚拟机的情况下读取其中的一些文件。我下载了 vmware-mount 实用程序,但收到此错误:

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

不过,这些文件显然是虚拟磁盘,因为我实际上可以在虚拟机上安装和使用它们。我尝试将它们与任何虚拟机分离并重试,但得到了相同的结果。

有什么想法吗?也许“描述符高于最大大小”是一个提示?

最佳答案

.vdi 是 VirtualBox 支持的格式,但 VMWare 不支持。

.vmdk 文件是 VMWare 镜像 - 您应该能够使用 vmware 工具很好地加载它们(VirtualBox 也支持这些文件,但反之则不然)。

关于c - VMWare-Mount 无法识别虚拟磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2343798/

相关文章:

c - 高尔顿箱/ bean 机-C

c++ - char s1[ ] = "xyz"和 char *s1 = "xyz"

c - <math.h> pow() 给出错误结果

linux - 如何增加VMware上运行的Linux的HD大小

xml - 在 PowerShell 中添加同名的 XML 元素

virtualization - KVM和libvirt:虚拟主机中的CPU类型错误

macos - 是否可以直接在 OS X 中运行 Windows Phone 8 模拟器?

c - 单独文件中的线程函数与 pthread 和 make

virtual-machine - 如何修复错误 "Resize medium operation for this format is not implemented yet"?

virtualization - QEMU:鼠标和键盘设置问题