我已经用完了虚拟机磁盘(vmdk)上的空间,需要调整虚拟映像的大小。使用命令调整大小

vboxmanage modifyhd Machine-disk1.vmdk --resize 30720

给出错误

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

如何调整vmdk映像的大小?


当前回答

vmdk:

相当固定的大小分配(步骤1、2)。 即使在扩展之后,也无法在vmdk的操作系统中使用(步骤3、4、5)

步骤:

1)转换为“。VBoxManage clonehd v1。vmdk v1。Vdi——格式化Vdi

2)使用命令行扩展大小(参考:tvial的博客一步一步的信息)

OR

从VirtualBox中的虚拟媒体管理器展开。

[现在-在vm内部]

3)扩大驱动器的大小,使用新的分配(例如Ubuntu在虚拟机上运行:使用GParted)

4)扩展文件系统- lvextend - l +50G <file-system-identifier>

说明:

$ lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda                          8:0    0   200G  0 disk 
└─sda1                       8:1    0   200G  0 part 
  ├─myfs-vg-cloud          253:0    0    99G  0 lvm  /
  └─myfs-vg-swap-1         253:1    0   980M  0 lvm  [SWAP]


$ lvextend -L +100G /dev/mapper/myfs-vg-cloud

$ lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda                          8:0    0   200G  0 disk 
└─sda1                       8:1    0   200G  0 part 
  ├─myfs-vg-cloud          253:0    0   199G  0 lvm  /
  └─myfs-vg-swap-1         253:1    0   980M  0 lvm  [SWAP]

5)扩展/home - resize2fs <file-system-identifier>

说明:

$ df -h /home/
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/myfs-vg-cloud         97G   87G  6.0G  94%   /

$ resize2fs /dev/mapper/myfs-vg-cloud

$ df -h /home/
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/myfs-vg-cloud         196G   87G  101G  47%  /

您的系统现在必须准备好使用扩展分配!!

其他回答

实际上,只需要这些命令:

VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200

然后选择“克隆”。Virtualbox GUI存储。

在那之后,启动虚拟窗口和扩展你的C盘作为Code chop的方法。

没有必要转换*。Vdi文件到*。返回VMDK文件。

我有一个Mac主机上的Windows 7客户端,这篇文章非常有帮助。谢谢。

我要补充一点,我没有使用gparted。我是这样做的:

启动新的放大的vmdk映像。 转到开始,右键单击计算机,选择管理。 单击磁盘管理 你应该在你的C盘上看到一些灰色的空间(在我的情况下) 右键单击C驱动器并选择扩展卷。 选择尺寸然后出发

甜蜜的!比起使用带有数据丢失警告的第三方工具,我更喜欢这种方法。

干杯!

这是一种调整VirtualBox磁盘大小的方法,无论它是固定格式的磁盘还是动态格式的磁盘。具体来说,它可以防止磁盘是固定格式时出现的错误。


⚠️备份虚拟磁盘。你永远不知道会出什么问题。

在主机上:

Open a terminal window. On Windows: Open the command prompt cmd. Go to the directory with the virtual disk you want to resize. For example: cd "My VMs" Create a new VirtualBox disk with your desired filename, size (in megabytes) and format (either Standard (dynamic) or Fixed). For example, to create a 50 GB fixed-format disk called MyNewDisk.vdi: VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed If VBoxManage is not recognized as a command, specify the full path to it. It can be found in the VirtualBox installation directory. On Windows the above command would become: "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed Copy the original disk to the new disk. VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing The resize is done! You can check the properties of the new disk if you want: VBoxManage showmediuminfo "MyNewDisk.vdi" Change the virtual machine to use the new disk instead.

接下来,在您的客户操作系统上,您需要调整分区大小以使用新的可用空间。

vmdk:

相当固定的大小分配(步骤1、2)。 即使在扩展之后,也无法在vmdk的操作系统中使用(步骤3、4、5)

步骤:

1)转换为“。VBoxManage clonehd v1。vmdk v1。Vdi——格式化Vdi

2)使用命令行扩展大小(参考:tvial的博客一步一步的信息)

OR

从VirtualBox中的虚拟媒体管理器展开。

[现在-在vm内部]

3)扩大驱动器的大小,使用新的分配(例如Ubuntu在虚拟机上运行:使用GParted)

4)扩展文件系统- lvextend - l +50G <file-system-identifier>

说明:

$ lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda                          8:0    0   200G  0 disk 
└─sda1                       8:1    0   200G  0 part 
  ├─myfs-vg-cloud          253:0    0    99G  0 lvm  /
  └─myfs-vg-swap-1         253:1    0   980M  0 lvm  [SWAP]


$ lvextend -L +100G /dev/mapper/myfs-vg-cloud

$ lsblk
NAME                       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sda                          8:0    0   200G  0 disk 
└─sda1                       8:1    0   200G  0 part 
  ├─myfs-vg-cloud          253:0    0   199G  0 lvm  /
  └─myfs-vg-swap-1         253:1    0   980M  0 lvm  [SWAP]

5)扩展/home - resize2fs <file-system-identifier>

说明:

$ df -h /home/
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/myfs-vg-cloud         97G   87G  6.0G  94%   /

$ resize2fs /dev/mapper/myfs-vg-cloud

$ df -h /home/
Filesystem                        Size  Used Avail Use% Mounted on
/dev/mapper/myfs-vg-cloud         196G   87G  101G  47%  /

您的系统现在必须准备好使用扩展分配!!

因为这是一个vmdk文件,所以您可以使用VMWare的vdiskmanager,如果它适用于您的平台的话。VMWare在这里有x86 Linux、Windows和OS X版本(请参阅右侧的“附件”)。

然后你只要做:

1023856-vdiskmanager-windows-7.0.1.exe -x 30720M Machine-disk1.vmdk

它避免了必须克隆,然后扩展磁盘。现在,缺点是您需要额外的工具,而vmdk是VMWare的磁盘格式,并且您仍在使用Virtualbox,因此可能存在不兼容性。

qemu-img也可以工作,但我不确定它是否支持调整vmdk文件的大小。它看起来像这样:

qemu-img resize Machine-disk1.vmdk +8G

提醒一下,对于这两种情况,在调整底层磁盘的大小之后,仍然需要增加分区。这些工具本质上都是dd if=/dev/old_disk of=/dev/new_disk bs=16M。