我的虚拟机磁盘这是一个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镜像?
如果你想结束其回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国际标准化组织和引导,以调整您的驱动器(从VirtualBox的设置中选择ISO)。
PS。如果您的新尺寸太小,你会得到同样的错误,即使你的新的VDI文件。
我能够通过克隆它,然后修改和调整,以调整VMDK。
vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720
我有一个苹果主机上的Windows 7客户端和这个职位是非常有益的。 谢谢。
我想补充一点,我没有使用的gparted。 我这样做:
甜! 我最好使用与数据丢失的警告第三方工具。
干杯!
VBoxManage是卓有成效的,但不要忘了,你必须使用的gparted或其他工具来分配与VBoxManage产生的自由空间。
看看我的博客文章 ,以获得详细信息,并一步一步的截图。
其实,只需要这样的命令:
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200
然后,您可以在VirtualBox中GUI的存储选择cloned.dvi。
在那之后,启动虚拟窗口,扩大你的C盘作为代码印章的方法。
这是没有必要的* .vdi文件* .VMDK文件转换回。
由于这是一个VMDK文件,你可以使用VMWare的vdiskmanager
,如果它是适用于您的平台。 VMware有86的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
。
您可以使用VMware播放器来调整一个VMDK。 这消除了来回转换(其他职位说明)如果你想保持它的vmdk格式。 只要确保当您添加VMDK到VMware,不要单击提示时升级格式,保持当前的情况下,VirtualBox的不接受它。
对于缩小图像大小我使用以下步骤:
cat /dev/zero > z;sync;sleep 3;sync;rm -fz
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd cloned.vdi --compact
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
正如提到的答案卢卡所需的步骤是:
克隆VMDK镜像到VDI格式
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
调整VDI图像
VBoxManage modifyhd "cloned.vdi" --resize 51200
克隆回VMDK格式
VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
第3步是可选的,如果你可以使用VDI图片来代替。
所有这些步骤都可以在VirtualBox的图形用户界面进行为好,下File -> Virtual Media Manager
。 选择要克隆的驱动器,然后选择Copy
。 打开一个对话框,让你选择磁盘格式和选项。 要调整VDI图像,只使用滑块在底部(点击Properties
,如果它是不可见)。
最后,您可能需要更改客户机操作系统的磁盘大小,以及:
gparted
或kparted
。 VirtualBox虚拟的Windows
调整您的磁盘文件,同时保留您的虚拟机的设置!
启动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
扩展名)。 重命名原来.vmdk
与文件.bak
扩展以及避免另一个错误。 您现在可以进行safetly没有错误消息的第三步机转换回.vmdk
格式或“重复磁盘”的错误。
VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk
你将与一个UID令牌呈现。 通过拖拽突出它从Windows命令Interpetor窗口并使用此令牌复制Ctrl+C
快捷键。
打开.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令牌和粘贴从命令窗口中复制一个。 请确保你离开支架到位 !
保存此文件,并退出文本编辑器。 重命名.vbox.bak
文件给它回到它的预期延长.vbox
。
现在可以安全移除.bak
其余目录中的文件。 剩下的就是调整大小.vmdk
用更新.vbox
数据库,同时使用以前保存的VirtualBox Manager的设置。
您现在可以开始VirtualBox的VM Manager和执行你的虚拟机,使用适当的工具,操作系统,填补了新的自由空间。
对于Windows虚拟机 ,使用diskpart
从命令提示符从Windows恢复Consule(恢复分区)引导到SELECT DISK 1
, LIST PARTITION
并收集您的分区编号C:\
驱动器,然后SELECT PARTITION #
。 您可以使用EXTEND SIZE=mb
来调整Windows的C:\盘为适当的值。 请确保你离开房间的恢复和启动分区! 它是安全的,从你的新的虚拟磁盘大小减去4096 MB得到这个值,因为卷影副本和Windows恢复文件。
对于Linux虚拟机 ,现场.ISO
的GParted的你可以用虚拟机的磁盘文件进行引导,可以发现: http://gparted.org/这将让你直接进入图形用户界面为基础的gparted-GTK,从那里你可以填写你的免费空间。
对于PPC / Mac的虚拟机 , Disk Utility
从Finder将asisst您在填写的自由空间,但你可能要考虑的gparted Linux的选择 ,因为目前它的唯一方法引导的MacOSX在VirtualBox是Hackintosh的,你不能延长您的音量,同时引导到MacOSX的。 您可能还需要寻求暂时调整虚拟机的设置进行gparted
,得到它的启动。 MacOSX的分区由的GParted认定为HFS
- “堆积的文件系统”分区。
因为互联网。 ;)你就完蛋了。 享受你的新调整虚拟.vmdk
在VirtualBox中的Windows磁盘映像!
尝试了这里所有的解决方案,但似乎没有任何工作。 挖了数小时后,我发现这个博客帖子和像变魔术一样一切正常。 我不得不做出调整不大所以这里是修改后的版本。 与多克尔版本17.06.0-CE进行测试,建立02c1d87。
一旦开发商真正开始containerising他们的应用程序时,往往产生大量的图像,并迅速填补默认分配给多克尔虚拟机20GB的硬盘空间。 为了确保泊坞虚拟机有足够的磁盘空间,我们应该调整的/ dev / sda1放到一个数字,是比较合理的。
停止多克尔虚拟机docker-machine stop default
。
Boot2Docker包安装附带一个VMDK体积,这VirtualBox的本地工具无法调整。 为了调整多克尔磁盘卷,第一个从克隆的默认VMDK卷的VDI卷vboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard
。
vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>
。 default
虚拟机上,并点击上方的“设置”齿轮。 docker-machine start default
这里有一个方法来调整你的VirtualBox虚拟磁盘,无论它是一个固定的格式或动态格式的磁盘。 具体来说,它可以防止当你盘固定格式,你有错误。
⚠️备份虚拟磁盘。 你永远不知道什么可能出错。
在你的主机:
打开一个终端窗口。
在Windows上:打开命令提示符
cmd
。
进入目录与要调整虚拟磁盘。 例如:
cd "My VMs"
你所需的文件名,大小(MB)和格式创建一个新的VirtualBox的磁盘(或Standard
(动态)或Fixed
)。 例如,为了创建一个名为50 GB的固定格式的磁盘MyNewDisk.vdi
:
VBoxManage createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
如果
VBoxManage
不能被识别为一个命令,指定完整路径。 它可以在VirtualBox安装目录中找到。 在Windows中,上面的命令将变成:"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" createmedium --filename "MyNewDisk.vdi" --size 50000 --variant Fixed
原始磁盘复制到新的磁盘。
VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing
调整大小完成了! 如果你愿意,你可以检查新磁盘的属性:
VBoxManage showmediuminfo "MyNewDisk.vdi"
更改虚拟机使用新磁盘来代替。
接下来,在你的客户操作系统,你需要调整的分区使用新的可用空间。
因为我需要调整我的多克尔(CoreOS)开发环境中的磁盘我已经在这里了。
CoreOS文档说,有没有必要调整OS分区 - 这是伪造的。 你调整虚拟磁盘后,您应该遵循这些步骤,并通过调整大小的gparted OS分区:
https://docs.docker.com/articles/b2d_volume_resize/
一个快速和简单的选择:
移动从旧盘的内容里新盘:
vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing
打开机器
警告
如果新磁盘比源短,你会亏位于从源磁盘上的新磁盘的大小位置的数据 。
你可以防止这种解除分配增量空间,其中,δ=尺寸(源盘) - 大小(新盘),在内部OS源盘的端部的步骤1之前。
下载/安装/使用VMware Workstation和根据您当前的vmdk文件创建新的虚拟机,然后你可以调整你的VMDK。 有关这个问题谷歌针对VMware的细节。
只要你必须遵循以下步骤:
恭喜,享受您的自由空间。
这部影片将协助您: https://youtu.be/ikSIDI535L0