我已经用完了虚拟机磁盘(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)上的空间,需要调整虚拟映像的大小。使用命令调整大小
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映像的大小?
当前回答
一个快速而简单的选择:
关闭机器 创建所需大小的新虚拟盒磁盘 将内容从旧磁盘移动到新磁盘: Vboxmanage clonehd“源磁盘。vmdk”“新磁盘。vmdk”——现有的 打开机器 您可能必须在操作系统中调整分区大小,以填充磁盘的其余部分
警告
如果新磁盘比源磁盘短,则会丢失源磁盘上新磁盘大小位置上的数据。
在步骤1之前,您可以防止在操作系统内源磁盘的末端释放delta空间,其中delta = size(source-disk) - size(new-disk)。
其他回答
我有一个Mac主机上的Windows 7客户端,这篇文章非常有帮助。谢谢。
我要补充一点,我没有使用gparted。我是这样做的:
启动新的放大的vmdk映像。 转到开始,右键单击计算机,选择管理。 单击磁盘管理 你应该在你的C盘上看到一些灰色的空间(在我的情况下) 右键单击C驱动器并选择扩展卷。 选择尺寸然后出发
甜蜜的!比起使用带有数据丢失警告的第三方工具,我更喜欢这种方法。
干杯!
这里所有的办法都试过了,但似乎都不管用。经过几个小时的挖掘,我发现了这篇博客文章,就像魔法一样,一切都起作用了。我需要做一些调整,所以这是修改后的版本。使用Docker 17.06.0-ce版本测试,构建02c1d87。
一旦开发人员真正开始容器化他们的应用程序,他们通常会生成大量的映像,并迅速填满默认分配给Docker虚拟机的20GB硬盘空间。为了确保Docker虚拟机有足够的磁盘空间,我们应该将/dev/sda1的大小调整为一个更合理的数字。
Download GParted Live CD/USB/HD/PXE Bootable Image. Stop the Docker virtual machine docker-machine stop default. Boot2Docker package installer ships with a VMDK volume, which VirtualBox’s native tools cannot resize. In order to resize the Docker disk volume, first clone the VDI volume from the default VMDK volume vboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard. Resize the newly cloned VDI volume to the desired capacity. We recommend at least 64GB vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>. Launch the VirtualBox application, select default VM and click on the “Settings” gear on top. Click on the “Storage” icon. Remove the default VMDK volume. Add a new IDE controller. Mount the GParted ISO via the “Add CD/DVD Device” option. Mount the cloned VDI volume via the “Add CD/DVD Device” option. If you are running Docker on a computer with a solid-state hard drive, please make sure the “Solid-state Drive” option is selected for the cloned VDI volume. Click on the “Start” icon to boot up the Docker virtual machine, which will launch the GParted ISO. Select “GParted Live (Default settings)”. Set the policy for handling keymaps to “Don’t touch keymap”. Set language preference to option “33”, which maps to “US English”. Select option “1” to run “Forcevideo” and configure X manually. Keep the default resolution of “1024×760” by selecting option “2”. Keep the default “vesa” as the VGA card. Keep the default colour depth of “24” by selecting option “0”. Once GParted launches, click on the “Resize/Move” icon. Set the new disk volume size to desired size by dragging the slider. In this example, the maximum size is 127,035MB. Click on the “Resize/Move” button to start the process. Confirm the resizing operation by clicking on the “Apply” button. Power off the machine after the resizing operation finishes. Remove the GParted ISO. Log into the Docker virtual machine to verify that the volume resizing was successful by starting machine docker-machine start default If you experience network issues, restart the docker-machine
如果您希望结束返回vmdk硬盘(可能您也有兴趣在vwmare中使用该磁盘),完整的步骤如下:
VBoxManage clonemedium "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifymedium "cloned.vdi" --resize 51200
VBoxManage clonemedium "cloned.vdi" "resized.vmdk" --format vmdk
以上将调整硬盘大小至50GB (50 * 1024MB)。 要完成事情,你也需要调整驱动器的大小!要实现这一点,您可能需要下载gparted iso,并从该iso引导来调整驱动器的大小(从virtualbox设置中选择iso)。
附注:如果你的新大小太小,即使你的新vdi文件也会得到同样的错误。
VirtualBox for Windows
调整您的磁盘文件,同时保留您的虚拟机设置!
步骤1 -调整磁盘文件大小
开始用于cmd . exe
cd到Oracle VM VirtualBox的目录(在64位系统上:"C:\Program Files\Oracle\VirtualBox\")
运行这些命令(如上所述):
VBoxManage clonehd "C:\path\to\source.vmdk" "C:\path_to\cloned.vdi" --format vdi
VBoxManage modifyhd "C:\path\to\cloned.vdi" --resize 51200
Windows资源管理器和“复制地址为文本”通过地址栏应该帮助你得到你需要的路径。
在windows系统中,用户下面的VirtaulBox VM目录可能包含您为虚拟机配置的设置的XML格式的数据库文件。重命名这个文件,扩展名为.bak(扩展名为.vbox)。用.bak扩展名重命名原始的.vmdk文件,以避免另一个错误。现在,您可以安全地执行第三步,而不会出现将机器转换回.vmdk格式的错误消息或“重复磁盘”错误。
VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk
您将看到一个UID令牌。通过从Windows命令解释器窗口中拖拽高亮显示并使用快捷键Ctrl+C复制此令牌。
在文本编辑器(如notepad++)中打开.vbox.bak文件。您将看到一个类似xml的数据库文件。看看这些台词:
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.16-windows">
<Machine uuid="{some uid}" name="source disk name" OSType="the_vbox_OS" snapshotFolder="Snapshots" lastStateChange="2043-03-23T00:54:18Z">
<MediaRegistry>
<HardDisks>
<HardDisk uuid="{some uid}" location="C:\path_to\source.vmdk" ...
在行<HardDisk uuid="{some uid}" location="C:\path_to\source. "vmdk”…,删除括号之间的旧UID令牌,并粘贴从命令窗口复制的UID令牌。确保你把括号放在适当的位置!
保存该文件,并退出文本编辑器。重命名.vbox.bak文件以返回其预期扩展名.vbox。
步骤2 -清除垃圾
现在可以安全地删除目录中剩余的.bak文件了。剩下的是一个调整大小的.vmdk,更新了.vbox数据库,同时保留了之前保留的VirtualBox管理器设置。
步骤3 -调整磁盘分区大小以填充空闲空间
现在,您可以启动VirtualBox虚拟机管理器并执行您的虚拟机,使用操作系统的适当工具来填充新的空闲空间。
For Windows VMs, use diskpart from the command prompt booted from the Windows Recovery Consule (recovery partition) to SELECT DISK 1, LIST PARTITION and gather the partition number of your C:\ drive, then SELECT PARTITION #. You can use the EXTEND SIZE=mb to resize the Windows C:\ drive to the appropriate value. Make sure you leave room for the recovery and boot partitions! It's safe to subtract 4096 MB from your new virtual disk size to get this value, because of shadow copy and windows recovery files.
对于Linux虚拟机,可以在以下地址找到一个gparted的活动iso文件,可以用虚拟机的磁盘文件引导:http://gparted.org/。它将直接引导您进入一个基于图形用户界面的gparted-gtk,从那里您可以填充空闲空间。
对于PPC / Mac虚拟机,查找器中的磁盘实用程序将帮助您填充空闲空间,但您可能要考虑gparted Linux选项,因为目前在VirtualBox中引导MacOSX的唯一方法是hackintosh,并且在引导到MacOSX时不能扩展卷。您可能还想临时调整VM的gparted设置,以引导它。MacOSX分区被gparted识别为HFS -“堆文件系统”分区。
第四步-猫的照片
因为互联网。,)你完成了。使用VirtualBox for Windows享受您新的调整大小的虚拟.vmdk磁盘映像!
正如Luca在回答中提到的,所需的步骤是:
将VMDK镜像克隆为VDI格式 VBoxManage clonehd”源代码。vmdk”“克隆。Vdi”——格式化Vdi 调整VDI映像的大小 VBoxManage modifyhd "克隆。Vdi”——调整大小51200 克隆回VMDK格式 VBoxManage clonehd克隆。vdi”“调整大小。Vmdk "——格式化Vmdk
如果可以使用VDI映像,则步骤3是可选的。
所有这些步骤都可以在VirtualBox图形用户界面下的File -> Virtual Media Manager中执行。选择要克隆的驱动器,然后选择“复制”。打开一个对话框,允许您选择磁盘格式和选项。要调整VDI图像的大小,只需使用底部的滑块(如果不可见,则单击属性)。
最后,您可能还需要在客户操作系统中更改磁盘大小:
运行客户操作系统,调整磁盘分区大小。如果您正在运行Linux,则可以使用gparted或kparted。