如何缩小 VirtualBox vdi 以适应 HFS+ 客户操作系统

如何缩小 VirtualBox vdi 以适应 HFS+ 客户操作系统

我有一个 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,其格式变量具有动态默认值。然后可以调整其大小。

相关内容