收缩 VDI 磁盘

gre*_*eth 5 virtualbox disk-space hard-drive partitioning

我有一个 40GB 磁盘的 vdi 文件。vdi 文件本身是 36GB。我在磁盘中腾出了一些空间,并且能够将磁盘的分区大小调整为 20GB,留下 20GB 的未分区空间。

我试过:

VBoxManage.exe modifyhd thedisk.vdi --resize 20480
Run Code Online (Sandbox Code Playgroud)

这给出了一个错误,并且:

VBoxManage.exe modifyhd thedisk.vdi --compact
Run Code Online (Sandbox Code Playgroud)

这留下了... 36GB的vdi文件。

如何回收未使用的空间?

gre*_*eth 5

一种可能性是从 VM 内填充空白空间。

在 Windows 上(sdelete是一个Sysinternals工具,X:是驱动器的盘符):

sdelete -z X:
Run Code Online (Sandbox Code Playgroud)

在 Linux 上:

dd if=/dev/zero of=/tmp/zero
rm /tmp/zero
Run Code Online (Sandbox Code Playgroud)

dd如果您说 ,该命令可能会运行得更快。)dd if=/dev/zero of=/tmp/zero bs=1M

使用(从主机)的命令:

VBoxManage.exe modifyhd thedisk.vdi --compact
Run Code Online (Sandbox Code Playgroud)