Quqas, весь смысл в том чтобы была принципиальная возможность подмены нулей например дырками файла (по этой причине я бы выбирал бы не vhdx формат, который непонятно как вакуумизировать, ведь это windows specific решения а у тебя ext3 формат
считай все современные файловые системы умеют в sparse files, это когда файл на диске реально занимает только столько места, сколько в него записали, а так же есть сопроводительные утилиты, заменяющие нули на эти дыры
в linux обычный cp с ключом --sparse=always скопирует и подменит нули в файле на дыры
посмотри
тут
p.s. в твоем случае настоятельно рекомендую другой подход (так как описанный выше потребует сначала раздуть файло до 2тб, что конечно можно уместить на какой-нибудь btrfs/zfs с поддержкой сжатия но сильно не эффективно) лучше сделать резервную копию диска с помощью partclone (поддерживает огромное количество файловых систем) эта утилита умеет копировать блочные устройства (считай как dd) пропуская сектора, помеченные файловой системой как свободные, т.е. создаешь второй пустой диск (даже если он будет raw,
я настоятельно рекомендую хранить образы как есть) и из виртуальной машины (так как vhd монтировать напрямую сложно, говорят с большими дисками имеющиеся инструменты глючат) и с помощью clonezilla клонируешь со старого на новый.
Этот подход скорее всего самый эффективный для вакуумирования образов диска которые рассчитывают на дырявое хранение.