Primeiro, o dd funcionará muito bem se você inserir o cartão inteiro e não a partição, ou seja, algo como:
dd if=/dev/sda of=/somewhere/filedump bs=512
para restaurar no mesmo cartão ou em um cartão do mesmo tamanho, você faria o oposto, ou seja,
dd if=/somewhere/filedump of=/dev/sda bs=512
tenha em mente que, para fazer isso, seu sistema operacional não precisa ser inicializado, ou seja, você precisa inicializar com uma DSL ou qualquer outro dispositivo de inicialização USB e, em seguida, fazer o backup do dispositivo. Caso contrário, você não terá consistência no sistema de arquivos.
Agora, para evitar o uso de espaço desnecessário, há algumas opções:
-
faça o dump do dd uma vez e depois faça o rsync no dump no futuro algo como
mount -o loop -t ext4 / em algum lugar / filedump / mnt / yourmountpoint
rsync -avx / / mnt / yourmountpoint
-
reduza a partição do sistema operacional usando parted e, em seguida, despeje apenas a partição do sistema operacional (por exemplo, sda1 em vez de sda). CAVEAT: se você reproduzi-lo, o tamanho da partição precisa ser idêntico ao tamanho original.