A sugestão de preencher espaço livre com zeros ajuda, tanto com imagens brutas (que podem ser eficientemente gzip'd) quanto com formatos especializados como qcow / vmdk / vhd (que têm suporte embutido para áreas 'esparsas'). ).
Na verdade, ele não deve prejudicar o SSD - acho que todos os discos recentes são inteligentes o suficiente para reconhecer um bloco de zeros e mapear silenciosamente todos esses blocos para a mesma célula flash. (Além disso, ainda é apenas uma gravação por bloco, e você pode TRIM novamente depois para marcar como não usado.)
Caso contrário, você precisaria de uma ferramenta que entenda seu sistema de arquivos específico para saber quais áreas estão realmente sem uso - para o Windows NTFS, ntfsclone
pode fazer isso. Por padrão, ele cria imagens brutas, mas pula as áreas não utilizadas (dizendo ao sistema operacional para marcá-las como "esparsas"), portanto, mesmo que o .img resultante apareça 4 GB, ele ocupa apenas vários MB no disco.
Posteriormente, você pode converter o arquivo .img em um .vhd ou .vmdk de tamanho dinâmico usando qemu-img
.
Como alternativa, ntfsclone --save-image
produzirá diretamente seu próprio formato de imagem esparsa (para uso apenas com o próprio ntfsclone).
Outra ferramenta de imagem é o Clonezilla.
Embora, pessoalmente, eu use apenas disk2vhd pelo próprio Windows - ele cria imagens esparsas de formato VHD via Cópia de Sombra de Volume.