Сжатие виртуальных жестких дисков VirtualBox

Для того, чтобы сжать виртуальный жесткий диск VirtualBox необходимо:

1) Заполнить нулями всё незанятое место в гостевой ОС GNU/Linux. Для этого я использую утилиту pv:

apt install pv

Для автоматизации процесса я использую следующий скрипт. Он заполняет нулями свободное место, затем удаляет временный файл и выключает виртуальную машину:

#! /bin/sh
dd if=/dev/zero | pv | dd of=/bigemptyfile bs=4096k
sleep 5
rm -rf /bigemptyfile
shutdown -h now

2) Затем уже в хостовой системе нужно перейти в каталог с файлами виртуальной машины и запустить в консоли

VBoxManage modifyhd ИМЯ_ВМ.vdi compact