我有一个 20GB 大小的 HFS+ 格式的 VirtualBox 客户操作系统驱动器。我将其硬盘虚拟媒体 vdi 文件的大小调整为 40GB,现在想将其减小到 32GB。
我使用虚拟媒体管理器添加到 vdi 的额外 20GB 从未被客户操作系统使用过,并且对其不可见。
我尝试过使用:
VBoxManage modifymedium disk myhd.vdi --compact
...成功完成但不会缩小 vdi 并且...
VBoxManage modifyhd myhd.vdi --resize 32768
产生错误...
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage.exe: error: Failed to resize medium
VBoxManage.exe: error: Shrinking is not yet supported for medium 'C:\Users\me\VirtualBox VMs\Snow Leopard\Snow Leopard.vdi'
VBoxManage.exe: error: Details: code VBOX_E_NOT_SUPPORTED (0x80bb0009), component MediumWrap, interface IMedium
VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleModifyMedium(struct HandlerArg *)" at line 768 of file VBoxManageDisk.cpp
有没有办法使用 (OSX) HFS+ 客户机缩小 VirtualBox vdi 或将客户机硬盘迁移到新的 20GB 或 32GB vdi?
答案1
发生此错误的原因是格式变体图像是固定默认值。但你只能调整大小动态默认值。
发出以下命令来检查虚拟机的格式变体:
VBoxManage showhdinfo "c:\Dev\VMs\ubuntu18.04\18.04_ubuntu.vdi"
您将获得以下输出(您的输出将有不同的值):
UUID: 57ce025b-f7e6-3435-8417-3453634535
Parent UUID: base
State: created
Type: normal (base)
Location: c:\Dev\VMs\ubuntu18.04\18.04_ubuntu.vdi
Storage format: VDI
Format variant: fixed default
Capacity: 10240 MBytes
Size on disk: 9617 MBytes
Encryption: disabled
如果你看到固定默认值您必须首先使用以下命令克隆图像:
VBoxManage clonehd c:\Dev\VMs\ubuntu18.04\18.04_ubuntu.vdi "new-image-name".vdi
这将创建一个新的图像文件“new-image-name”.vdi,其格式变量具有动态默认值。然后可以调整其大小。