适用于 Windows 的 VirtualBox
在保留虚拟机设置的同时调整磁盘文件的大小!
第 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 目录可能包含您为 VM 配置的设置的 XML 格式数据库文件。用扩展名重命名这个文件.bak
(它有一个.vbox
扩展名)。使用扩展名重命名原始.vmdk
文件.bak
以避免另一个错误。您现在可以安全地执行第三步,而不会出现将机器转换回.vmdk
格式或“重复磁盘”错误的错误消息。
VBoxManage clonehd "C:\path_to\cloned.vdi" "C:\path_to\source.vmdk" --format vmdk
您将看到一个UID 令牌。通过从 Windows Command Interpetor 窗口拖动突出显示并使用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 标记,然后粘贴您从命令窗口复制的那个。确保将支架留在原位!
保存此文件,然后退出您的文本编辑器。重命名.vbox.bak
文件以将其恢复为预期的扩展名.vbox
.
第 2 步 - 删除垃圾
现在可以安全地删除.bak
目录中剩余的文件。剩下的是.vmdk
使用更新的.vbox
数据库调整大小,同时使用您之前保留的 VirtualBox Manager 设置。
第 3 步 - 调整磁盘分区的大小以填充可用空间
您现在可以启动 VirtualBox VM Manager 并执行您的 VM,使用适合操作系统的工具来填充新的可用空间。
对于Windows 虚拟机,使用diskpart
从 Windows 恢复控制台(恢复分区)引导的命令提示符到SELECT DISK 1
,LIST PARTITION
并收集驱动器的分区号C:\
,然后SELECT PARTITION #
。您可以使用 将EXTEND SIZE=mb
Windows C:\ 驱动器的大小调整为适当的值。确保为恢复和引导分区留出空间!由于卷影复制和 Windows 恢复文件,从新虚拟磁盘大小中减去 4096 MB 以获得此值是安全的。
对于Linux VM.ISO
,可以在以下位置找到可以使用 VM 磁盘文件启动的 gparted 直播:http: //gparted.org/ 它将让您直接进入基于图形用户界面的 gparted-gtk,您可以在其中填写你的自由空间。
对于PPC / Mac VM,Disk Utility
Finder 将帮助您填充可用空间,但您可能需要考虑gparted Linux 选项,因为目前在 VirtualBox 中启动 MacOSX 的唯一方法是 hackintosh,并且您无法扩展您的卷在启动到 MacOSX 时。您可能还想暂时调整 VM 的设置gparted
以使其启动。MacOSX 分区被 gparted 识别为HFS
“堆文件系统”分区。
第 4 步 - 猫照片
因为互联网。;) 你完成了。.vmdk
使用适用于 Windows 的 VirtualBox享受新调整大小的虚拟磁盘映像!