如何调整一个VirtualBox的VMDK文件(How to resize a VirtualBox

2019-06-26 13:06发布

我的虚拟机磁盘这是一个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镜像?

Answer 1:

如果你想结束其回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文件。



Answer 2:

我能够通过克隆它,然后修改和调整,以调整VMDK。

vboxmanage clonehd "virtualdisk.vmdk" "new-virtualdisk.vdi" --format vdi
vboxmanage modifyhd "new-virtualdisk.vdi" --resize 30720


Answer 3:

我有一个苹果主机上的Windows 7客户端和这个职位是非常有益的。 谢谢。

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

  1. 启动新的放大VMDK镜像。
  2. 转到开始,然后右击电脑,选择管理。
  3. 单击磁盘管理
  4. 您应该看到您的一些变灰空间(对我来说)C驱动器
  5. 右键单击C盘,选择扩展卷。
  6. 选择大小和去

甜! 我最好使用与数据丢失的警告第三方工具。

干杯!



Answer 4:

VBoxManage是卓有成效的,但不要忘了,你必须使用的gparted或其他工具来分配与VBoxManage产生的自由空间。

看看我的博客文章 ,以获得详细信息,并一步一步的截图。



Answer 5:

其实,只需要这样的命令:

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

然后,您可以在VirtualBox中GUI的存储选择cloned.dvi。

在那之后,启动虚拟窗口,扩大你的C盘作为代码印章的方法。

这是没有必要的* .vdi文件* .VMDK文件转换回。



Answer 6:

由于这是一个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



Answer 7:

您可以使用VMware播放器来调整一个VMDK。 这消除了来回转换(其他职位说明)如果你想保持它的vmdk格式。 只要确保当您添加VMDK到VMware,不要单击提示时升级格式,保持当前的情况下,VirtualBox的不接受它。



Answer 8:

对于缩小图像大小我使用以下步骤:

  1. 在客户机上cat /dev/zero > z;sync;sleep 3;sync;rm -fz
  2. 关闭客户机
  3. 在主机VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
  4. 在主机VBoxManage modifyhd cloned.vdi --compact
  5. 在主机VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk


Answer 9:

正如提到的答案卢卡所需的步骤是:

  1. 克隆VMDK镜像到VDI格式

    VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi

  2. 调整VDI图像

    VBoxManage modifyhd "cloned.vdi" --resize 51200

  3. 克隆回VMDK格式

    VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk

第3步是可选的,如果你可以使用VDI图片来代替。

所有这些步骤都可以在VirtualBox的图形用户界面进行为好,下File -> Virtual Media Manager 。 选择要克隆的驱动器,然后选择Copy 。 打开一个对话框,让你选择磁盘格式和选项。 要调整VDI图像,只使用滑块在底部(点击Properties ,如果它是不可见)。

最后,您可能需要更改客户机操作系统的磁盘大小,以及:

  1. 运行来宾操作系统和调整磁盘分区(一个或多个)。 如果您运行的是Linux,你可以使用gpartedkparted


Answer 10:


VirtualBox虚拟的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扩展名)。 重命名原来.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


第2步 - 删除垃圾

现在可以安全移除.bak其余目录中的文件。 剩下的就是调整大小.vmdk用更新.vbox数据库,同时使用以前保存的VirtualBox Manager的设置。


第3步 - 调整磁盘的分区来填补空闲空间

您现在可以开始VirtualBox的VM Manager和执行你的虚拟机,使用适当的工具,操作系统,填补了新的自由空间。

对于Windows虚拟机 ,使用diskpart从命令提示符从Windows恢复Consule(恢复分区)引导到SELECT DISK 1LIST 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 - “堆积的文件系统”分区。


第4步 - 猫照片

因为互联网。 ;)你就完蛋了。 享受你的新调整虚拟.vmdk在VirtualBox中的Windows磁盘映像!



Answer 11:

尝试了这里所有的解决方案,但似乎没有任何工作。 挖了数小时后,我发现这个博客帖子和像变魔术一样一切正常。 我不得不做出调整不大所以这里是修改后的版本。 与多克尔版本17.06.0-CE进行测试,建立02c1d87。

一旦开发商真正开始containerising他们的应用程序时,往往产生大量的图像,并迅速填补默认分配给多克尔虚拟机20GB的硬盘空间。 为了确保泊坞虚拟机有足够的磁盘空间,我们应该调整的/ dev / sda1放到一个数字,是比较合理的。

  1. 下载的gparted的Live CD / USB / HD / PXE引导映像 。
  2. 停止多克尔虚拟机docker-machine stop default

  3. Boot2Docker包安装附带一个VMDK体积,这VirtualBox的本地工具无法调整。 为了调整多克尔磁盘卷,第一个从克隆的默认VMDK卷的VDI卷vboxmanage clonehd /full/path/to/disk.vmdk /full/path/to/disk_resized.vdi --format VDI --variant Standard

  4. 调整新克隆的VDI量所需容量。 我们建议至少64GB的vboxmanage modifyhd /full/path/to/disk_resized.vdi --resize <size in MB>
  5. 启动VirtualBox应用程序,选择default虚拟机上,并点击上方的“设置”齿轮。
  6. 点击“存储”图标。 删除默认VMDK量。
  7. 添加一个新的IDE控制器。
  8. 通过“添加CD / DVD设备”选项安装的GParted ISO。
  9. 安装通过“添加CD / DVD设备”选项克隆VDI卷。
  10. 如果您使用的是固态硬盘的计算机上运行多克,请确保“固态驱动器”选项中选择了克隆VDI卷。
  11. 点击“开始”图标,启动泊坞窗的虚拟机,这将启动的GParted ISO。 选择“的gparted直播(默认设置)”。
  12. 设置处理的键盘布局为“请勿触摸键盘映射”的方针。
  13. 设置语言首选项的选择“33”,它映射到“英语(美国)”。
  14. 选择选项“1”运行“Forcevideo”和手动配置X。
  15. 通过选择选项“2”保持“1024×760”的默认分辨率。
  16. 保持默认的“VESA”作为显卡。
  17. 通过选择选项“0”保持“24”的默认颜色深度。
  18. 一旦推出的GParted,点击“调整大小/移动”图标。
  19. 通过拖动滑块设置新的磁盘卷大小所需的大小。 在这个例子中,最大尺寸为127,035MB。 点击“调整大小/移动”按钮启动该进程。
  20. 通过点击“Apply”按钮确认调整操作。
  21. 关闭机器电源调整操作结束后。
  22. 取出的GParted ISO。
  23. 登录到多克尔虚拟机来验证该卷大小调整是成功的通过启动机docker-machine start default
  24. 如果遇到网络问题,重新启动泊坞窗机


Answer 12:

这里有一个方法来调整你的VirtualBox虚拟磁盘,无论它是一个固定的格式或动态格式的磁盘。 具体来说,它可以防止当你盘固定格式,你有错误。


⚠️备份虚拟磁盘。 你永远不知道什么可能出错。

在你的主机:

  1. 打开一个终端窗口。

    在Windows上:打开命令提示符cmd

  2. 进入目录与要调整虚拟磁盘。 例如:

     cd "My VMs" 
  3. 你所需的文件名,大小(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 
  4. 原始磁盘复制到新的磁盘。

     VBoxManage clonemedium "MyOriginalDisk.vdi" "MyNewDisk.vdi" --existing 
  5. 调整大小完成了! 如果你愿意,你可以检查新磁盘的属性:

     VBoxManage showmediuminfo "MyNewDisk.vdi" 
  6. 更改虚拟机使用新磁盘来代替。

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



Answer 13:

因为我需要调整我的多克尔(CoreOS)开发环境中的磁盘我已经在这里了。

CoreOS文档说,有没有必要调整OS分区 - 这是伪造的。 你调整虚拟磁盘后,您应该遵循这些步骤,并通过调整大小的gparted OS分区:

https://docs.docker.com/articles/b2d_volume_resize/



Answer 14:

一个快速和简单的选择:

  1. 关闭机
  2. 创建所需的大小新的虚拟磁盘盒
  3. 移动从旧盘的内容里新盘:

     vboxmanage clonehd "source-disk.vmdk" "new-disk.vmdk" --existing 
  4. 打开机器

  5. 您可以在OS重新调整分区以填充硬盘的其余部分

警告

如果新磁盘比源短,你会位于从源磁盘上的新磁盘的大小位置的数据

你可以防止这种解除分配增量空间,其中,δ=尺寸(源盘) - 大小(新盘),在内部OS源盘的端部的步骤1之前。



Answer 15:

下载/安装/使用VMware Workstation和根据您当前的vmdk文件创建新的虚拟机,然后你可以调整你的VMDK。 有关这个问题谷歌针对VMware的细节。



Answer 16:

只要你必须遵循以下步骤:

  1. 关闭您的机器。
  2. 右击虚拟机名称>设置>存储
  3. 点击控制器:SATA>添加硬盘。
  4. 选择新的硬盘驱动器类型的尺寸和打造成。
  5. 弃机状态。
  6. 插入的Ubuntu的Live CD。
  7. 引导从Ubuntu的现场光盘。
  8. 打开“的GParted”(它的安装,不需要安装)。
  9. 检查系统看到您的新创建的硬盘。
  10. 打开终端。
  11. 键入下面的代码。
  12. 须藤DD如果=的/ dev / SDB的= / dev / sda上(第一个是旧的分区通路,第二个是新的分区的路径)。
  13. 等待直至完成复制数据(此步骤可以根据您的主机的规格需要一些时间)。
  14. 完成复制后,返回的gparted,然后选择刷新设备。
  15. 选择新的分区/ dev / sdb的一定是典型的在做DD命令后,旧的。
  16. 它会显示扩展的空间作为非定位数据。
  17. 删除交换分区/扩展分区。
  18. 右键单击根分区/ dev / sdb的>调整
  19. 不分配交换分配整个空间。
  20. 创建新的扩展分区>选择扩展>创建
  21. 创建新的linux-swap分区>选择linux交换>创建
  22. 现在关掉你的跑步机。
  23. 机上右键点击>设置>存储。
  24. 弹出Ubuntu的现场光盘。
  25. 右键单击旧硬盘上>删除附件。
  26. 现在,您可以从新创建的硬盘启动虚拟机。
  27. 通过检查进入DF -kH命令存储。
  28. 它必须表现出你的新的大小。

恭喜,享受您的自由空间。
这部影片将协助您: https://youtu.be/ikSIDI535L0



文章来源: How to resize a VirtualBox vmdk file
标签: virtualbox