我已经用完了虚拟机磁盘(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映像的大小?
当前回答
为了缩小图像大小,我使用以下步骤:
在客户端机器cat /dev/zero > z;sync;sleep 3;sync;rm -f z 关闭客户端机器 在主机VBoxManage clonehd”源代码上。vmdk”“克隆。Vdi”——格式化Vdi 在VBoxManage modifyhd克隆的主机上。vdi,紧凑 在主机VBoxManage clonehd“克隆。vdi”“调整大小。Vmdk "——格式化Vmdk
其他回答
实际上,只需要这些命令:
VBoxManage clonehd "source.vmdk" "cloned.vdi" --format vdi
VBoxManage modifyhd "cloned.vdi" --resize 51200
然后选择“克隆”。Virtualbox GUI存储。
在那之后,启动虚拟窗口和扩展你的C盘作为Code chop的方法。
没有必要转换*。Vdi文件到*。返回VMDK文件。
您可以使用Vmware player来调整vmdk的大小。 如果你想保持vmdk格式,这将删除往返转换(在其他文章中提到)。只要确保当你将vmdk添加到vmware时,不要在提示时单击升级格式,保持当前的格式以防VirtualBox不接受它。
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磁盘映像!
因为这是一个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。
这是一种调整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.
接下来,在您的客户操作系统上,您需要调整分区大小以使用新的可用空间。