0

我正在使用 VirtualBox 在 OS X 上托管一个 VM。我正在尝试使用以下命令调整虚拟硬盘驱动器的大小:

VBoxManage modifyhd [file path]/ubuntu_vm-disk1.vmdk --resize 16000

我收到以下错误:

0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

这是我的showhdinfo:

Accessible:           yes
Logical size:         15719 MBytes
Current size on disk: 6066 MBytes
Type:                 normal (base)
Storage format:       VMDK
Format variant:       dynamic default

我究竟做错了什么?

更新 我删除了所有快照并在路径周围重试了“”命令,现在出现以下错误:

VBoxManage: error: Failed to lock media when compacting '/Users/dwstein_old/VirtualBox VMs/Ubuntu_120723/ubuntu_vm-disk1.vmdk'
VBoxManage: error: Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Medium, interface IMedium, callee nsISupports
Context: "Resize(cbResize, progress.asOutParam())" at line 522 of file VBoxManageDisk.cpp
VBoxManage: error: Code VBOX_E_INVALID_OBJECT_STATE (0x80BB0007) - Current object state prohibits operation (extended info not available)
4

4 回答 4

0

可以通过 3 个步骤完成:

  • 使用 VBoxManage 将您的 VMDK 克隆为 VDI 格式
  • 使用 VBoxManage 调整磁盘大小以创建可用空间
  • 使用 GParted 修改文件系统以将可用空间分配给您的驱动器

我在这里写了一个教程来调整你的虚拟机磁盘

于 2013-02-07T13:22:15.617 回答
0

简短的回答是您需要先转换它,然后克隆它,然后再尝试调整它的大小。你有一个额外的第一步来转换它。vmdk -> vdi

1.正如tvial所说,按照该教程中的步骤1将您的vdmk文件转换为vdi

这里说使用clonehd命令。所以在你的情况下,它会完全像: VBoxManage clonehd <ubuntu_vm-disk1.vmdk> <output-name-here-step1.vdi> --format vdi

他的教程中的实际步骤是这样的:

# Go to the VM folder on your Host computer.
cd ~/VirtualBox VMs/VM-NAME  
# Since resize can't be applied to .vmdk, we'll convert the disk to .vdi format
VBoxManage clonehd box-disk1.vmdk box-disk1.vdi --format vdi  
# Output example : 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% # Clone hard disk created in format 'vdi'. UUID: 49474a0a-c48c-4b15-8df0-0b9687b4bbaf

2.克隆步骤

2a. 在 VirtualBox 中,创建一个新的虚拟机,分配更多空间。

2b。(可能跳过此步骤)clonemedium使用与步骤 1 中相同的输出文件名作为第一个参数运行命令,并将您刚刚在步骤 2a 中创建的 vdi 作为第二个参数,在您的情况下: VBoxManage clonemedium <output-name-here-step1.vdi> <name-of-vdi-step2a.vdi> --existing

最后别忘了--existing

3.按照此处的其余步骤进行 OS X 的精彩教程

完成教程,调整文件大小。如果运行 VirtualBox 5.1.2 或更新版本,请使用modifymedium而不是 modifyhd。我使用了 modifyhd,但其他资源说它已被弃用,取而代之的是 modifymedium。

VBoxManage modifymedium --resize 1600 <name-of-vdi-step2a>.vdi

4. 还应注意,Ubuntu(它的一个虚拟机)可能无法识别分配的较大空间。您必须启动 Ubuntu VM,然后对其进行重新分区。可以在这里找到步骤:

于 2019-01-03T21:36:41.283 回答
0

这只是一个权限问题。只需使用管理员命令提示符尝试相同的命令。

于 2017-11-10T17:07:57.090 回答
0

我的情况 - 带有快照和动态分配内存的 Virtual box 6.0。

备份您的虚拟机并将其关闭。

步骤 1. - 删除快照。

第 2 步 - 使用下面给出的命令增加虚拟大小。

VBoxManage modifymedium disk "\Path\To\Vdi\xyz.vdi" --resize XXXXX 

(以 MB 为单位的新大小)

第 3 步 - 启动虚拟机并打开终端。

第 4 步 - 此步骤将为您提供所有驱动器分区的列表。在我的情况下,它是 /dev/disk1 的 disk1s2 应该增加大小。

diskutil list

第 5 步 -

diskutil repairdisk disk1

第 6 步 -

diskutil apfs resizeContainer disk1s2 124g 

(这里 124g 是我真正想要的尺寸。)

于 2020-02-20T01:08:40.587 回答