Image du disque dur zippée très grande

20

Je viens de faire une image d'un double démarrage fraîchement installé (Ubuntu et Windows) en utilisant cette commande (que j'utilise depuis un certain temps pour des images plus petites):

dd if=/dev/sda | gzip > /mnt/drive.img.gz

Sur ce lecteur, moins de 60G sur 500G sont utilisés. Néanmoins, ce fichier image fait maintenant 409G.

Comment c'est? Gzip ne devrait-il pas réussir à compresser tous ces zéros? Comme je l'ai dit, c'est un système fraîchement installé. Ça ne pouvait pas être si encombré.

Maintenant, je ne m'attendais pas à ce que le fichier soit 60G, mais 400G me semble très énorme.

chris137
la source
13
... quels zéros?
Courses de légèreté avec Monica

Réponses:

29

Comment c'est? Gzip ne devrait-il pas réussir à compresser tous ces zéros?

Oui, si c'étaient des zéros .

L'espace disque inutilisé ne signifie pas qu'il contient des zéros; cela signifie qu'il n'est pas utilisé et peut contenir n'importe quoi .

Il existe des programmes qui effacent l'espace disque inutilisé en zéros. Je vous suggère de les utiliser avant de créer l'image disque. (Je ne me souviens pas de désinvolture, sous Linux, je venais d' utiliser dd if=/dev/zero bs=1048576 of=somefilepour créer des fichiers ne contenant que des zéros, remplir chaque système de fichiers;. Puis les enlever avant de l'image, je préfère également xzplus gzip.)

Animal nominal
la source
Oh merci, je n'ai même pas pensé à ce qu'il y avait sur ce disque avant de l'installer! Je suppose qu'il est plus rapide de décompresser cette image maintenant et de la réduire (à laquelle il semble également y avoir des solutions). J'envisagerai également d'utiliser xz. Merci!
chris137
12
Écrire 400G de zéros chaque fois que vous voulez faire un clone ne semble pas une bonne idée sur un SSD. L'autre solution (en utilisant un programme de clonage compatible avec le système de fichiers) semble meilleure.
Federico Poloni
4
@FedericoPoloni: Non, mais l'image générée est une image de disque brute parfaite . Les utilitaires de clonage de disque utilisent différents formats, vous avez donc besoin de l'utilitaire pour restaurer l'image. Je ne connais pas (mais je n'ai pas vérifié non plus) ceux qui peuvent réellement générer une image brute tout en remplaçant les blocs inutilisés de l'image par des zéros; ce serait vraiment utile. L'utilisation ddsous Linux est la solution la plus simple et la plus facile pour résoudre le problème de taille d'image brute, et en tant que solution unique, elle est correcte même sur un SSD.
Animal nominal
1
@FedericoPoloni: Oui, les images compressées avec gzip et xz peuvent être montées à l' aide de nbdkit . (Je ne suis pas vraiment inquiet au sujet des formats, s'ils sont ouverts et pris en charge par plus d'un utilitaire; je ne m'inquiète que des utilitaires qui ne sont plus maintenus et bogués sur les nouveaux systèmes. Je serais heureux d'utiliser SquashFS au lieu de xz ou gzip, par exemple.)
Nominal Animal
3
@Gilles L'espace coupé, lorsqu'il est lu, n'est pas garanti d'avoir des zéros. Certains contrôleurs donnent cela, d'autres non.
deviantfan
14

Pour les sauvegardes de partitions individuelles, vous pouvez utiliser à la place partclone .

Partclone lit le système de fichiers pour voir où les fichiers sont stockés et sauvegarde uniquement les parties de la partition.

Pelle
la source
3
De plus, Clonezilla est une excellente interface graphique pour ce faire.
Federico Poloni
partimage est un excellent outil, et est déjà présent dans de nombreuses distributions Linux / CD live.
Criggie
Un autre outil dans cette veine est fsarchiver.
Iwillnotexist Idonotexist