VirtualBox-如何释放未使用的VDI磁盘位置?


14

因此,如果我在virtualbox guest虚拟机中有动态存储,那么如果guest虚拟机中有许多未使用的地方,该如何减小VDI的大小?

所以我的意思是,我实际上知道virtualbox guest虚拟机大约有3 GB,但是VDI文件却是10 GB,因为有一段时间guest虚拟机那么大。但是现在只有3 GB。如何减小VDI的大小?这样就只有3 GB了吗?(不,没有关于来宾的任何快照)


Answers:


15

看一下vboxmanage Modifyhd:它使您可以使图像更紧凑。

带有--compact选项,可用于压缩磁盘映像,即删除仅包含零的块。这将再次缩小动态分配的图像。它会减小映像的物理大小,而不会影响虚拟磁盘的逻辑大小。压缩既适用于基本映像,也适用于作为快照一部分创建的差异映像。

为了使该操作有效,需要首先使用适当的软件工具将来宾系统中的可用空间清零。对于Windows guest 虚拟机,可以使用Microsoft提供的sdelete工具。在来宾中执行sdelete -c以将可用磁盘空间清零,然后再压缩虚拟磁盘映像。对于Linux,请使用支持ext2 / ext3文件系统的zerofree实用程序。


1
sdelete -z 不要使用-c!请参阅superuser.com/questions/747820/…- -c选项仅用随机数据覆盖以“安全擦除”(略有磨损的SSD)。
卢克,

6

注意-MS在某些时候更改了“ -c”(纯净)和“ -z”(零)的含义。为了安全起见,请运行“ sdelete /?” 查看您应该使用哪个选项:

C:\> sdelete /?

SDelete - Secure Delete v1.6
Copyright (C) 1999-2010 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: sdelete [-p passes] [-s] [-q] <file or directory> ...
       sdelete [-p passes] [-z|-c] [drive letter] ...
   -a         Remove Read-Only attribute
   -c         Clean free space
   -p passes  Specifies number of overwrite passes (default is 1)
   -q         Don't print errors (Quiet)
   -s or -r   Recurse subdirectories
   -z         Zero free space (good for virtual disk optimization)

1
-c选项使用随机数据覆盖(请参阅superuser.com/questions/747820/…),该数据会稍微磨损SSD。使用-z进行归零。
吕克(Luc)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.