VirtualBox虚拟机磁盘空间压缩

VirtualBox虚拟机动态分配的虚拟磁盘用久了以后会变得非常大,相当占用空间。可以采用将磁盘闲置空间重新清零的方法,还原多余的占用空间。

虚拟机中操作

第一步是采用zerofree(Linux)或SDelete(Windows)工具在虚拟机中将磁盘空闲区域清零:

Linux

在Linux虚拟机中,先安装zerofree,以Debian为例,执行 apt-get install zerofree 命令安装。

安装完成后,需要重启虚拟机机器进入Recovery模式,操作过程如下。

开机时进入Advanced options:

在Advanced模式中选择recovery mode:

在Recovery模式下登录后,依次执行以下命令清除/dev/sda1设备的闲置空间:

1
2
3
busybox mount -o ro,remount /dev/sda1
zerofree /dev/sda1
busybox mount -o rw,remount /dev/sda1

其他磁盘设备同理。

Windows

如果是Windows虚拟机,可以在https://docs.microsoft.com/zh-cn/sysinternals/downloads/sdelete 下载微软官方的SDelete工具。

下载后解压并且进入SDelete目录,在CMD中运行SDelete.exe,并提供参数,例如清理C盘,则运行以下命令:

1
SDelete.exe -z C:

主机中操作

等待上述过程执行完成以后,可以进入第二步,在主机中回收虚拟磁盘闲置的空间:

进入Virtualbox的虚拟机目录,这里以一台Debian虚拟机为例,在目录中运行以下命令:

1
"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd Debian.vdi --compact

C:\Program Files\Oracle\VirtualBox\是Virtualbox在Windows 64位系统中的默认安装位置,如果安装位置与此不同,修改即可。

等待执行到100%,即可完成磁盘回收。

磁盘回收的过程中有效数据不会丢失,可以放心操作。

Python 3 多线程与多进程示例 AAPT获取APK名称


Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×