我的主机操作系统是 OS X Lion,运行带有 VirtualBox 4.2.0 的 Windows XP 客户端。我想复制该映像并将其压缩以与同事共享。首先,我使用 VirtualBox 命令行通过 克隆该映像clonehd
。
VBoxManage clonevdi /path/to/image.vhd /new/path/to/image.vhd
接下来,我尝试使用以下命令压缩图像:
VBoxManage modifyhd /new/path/to/image.vhd --compact
其中我遇到以下错误:
Progress state: VBOX_E_FILE_ERROR
VBoxManage: error: Failed to compact hard disk
VBoxManage: error: Could not compact medium '/new/path/to/image.vhd' (VERR_INVALID_STATE)
VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component Medium, interface IMedium
VBoxManage: error: Context: "int handleModifyHardDisk(HandlerArg*)" at line 577 of file VBoxManageDisk.cpp
我尝试通过搜索来解决这个问题,但到目前为止一无所获。如能得到任何帮助,我将不胜感激。
答案1
您只能使用 VirtualBox 命令行压缩 VDI 映像据我所知。您可以使用第三方工具来压缩 VHD - Google 是您的朋友。
如果您的主机是 Windows 7 或 Windows Server 2008 R2,您应该能够compact vdisk
按照以下页面使用technet.microsoft.com/en-us/library/gg252556.aspx。
在 VirtualBox 世界中,方法如下...
VBoxManage modifyhd path\to\disk.VDI --compact
...如果您以不同的格式创建了磁盘 - 例如 VHD,请先执行以下命令...
VBoxManage clonehd "path\to\vhdformat.vhd" "path\to\vdiformat.vdi" --format vdi
看这个例子..., 也这个综合的例子由 Matt Wrock 撰写的关于如何优化 VirtualBox VM 以进行打包的文章。
答案2
我刚才也遇到了同样的情况,但我很快就通过关闭虚拟机解决了这个问题。
-看起来你不能缩小虚拟机存储使用时。