admin管理员组

文章数量:1611509

因为业务或者学习很多时候我们要用到虚拟机,当我们使用vmware去打开VirtualBox导出的文件虚拟机镜像时会发生capacity mismatch for disk错误,同时在网上查询没有完整通俗易懂的解决方案,我本人也遇到了这个错误,经过测试以后写下这篇文章记录,同时也是帮助自己在后期遇见以后再次使用!

capacity mismatch for disk 英文翻译为中文:磁盘容量不匹配。        

那么这是哪里的磁盘容量不匹配?      

首先我们去查看VirtualBox导出文件为ova格式,ova格式在解压可以分为mf,ovf,vmdk格式。

其中mf是记录MD5值,用于验证ovf和vmdk是不是匹配或者说有无改变,如果md5值不对,也会报错。

但是这里是导出的ovf是配置文件,我们即使改变也无法判断所谓的磁盘容量是多少。 

所以我们要去真正的VirtualBox去查看使用的目标虚拟机项目的磁盘容量。

我们找到安装的虚拟机项目目录,一般在VirtualBox VMs目录下。

找见以后找配置文件,后缀为vbox,记事本打开。

搜索 Image uuid

  打开Oracle\VirtualBox安装目录,输入如下

.\VBoxManage.exe showhdinfo  uuid的值 do4c6364-8f42-42f3-90bc-ba1d7b1rd7c3

.\VBoxManage.exe: 这是 VirtualBox 的命令行工具,用于管理 VirtualBox 虚拟机的各种功能。前面的 .\ 表示该命令在当前目录中。      

showhdinfo: 这是 VBoxManage 提供的一个子命令,用于显示虚拟硬盘的详细信息。

我们会得到Capacity值,把它转换为字节。        

再次打开VirtualBox导出的ova解压文件中的ovf,搜索ovf:capacity=

把字节bytes输入进去,修改保存。         

    

使用vmware直接打开ovf后缀文件,就会发生前面的sha1错误,因为我们改变了ovf文件内容所以md5 hash校验失败。    

这里我们可以直接比如在windows中使用powershell中的Get-FileHash -Path来从新生成sha1值。

Get-FileHash -Path .\your file.ovf -Algorithm SHA1

-Algorithm SHA1指定为sha1值。

    

最后把这个值复制到mf文件。

从新使用vmware打开,就会发现错误解决了,可以完整导入。

希望可以帮到热爱学习的你!

—  实验室旗下直播培训课程  —

和20000+位同学加入MS08067一起学习

本文标签: 解决办法错误CapacityVMwareDisk