J'essaie d'obtenir un fichier ISO à partir d'une clé USB amorçable. Le nom de périphérique de la clé est dev/sdf1
. Dans cette réponse: Convertir un fichier USB amorçable en fichier ISO , dd
a été suggéré pour la copie. Alors j'ai fait:
Sudo dd if=/dev/sdf1 of=win7.iso
Cependant, le stick a une taille de 30G, mais seulement 12G sont utilisés. En exécutant la commande ci-dessus, une image iso supérieure à 12 Go est créée, j’ai arrêté dd
lorsque le fichier était> 20G, car j’ai manqué d’espace disque. Est-ce normal que le fichier ISO devienne si gros ou existe-t-il un autre moyen d'atteindre mon objectif?
dd
est une copie 1: 1, il copie tout le périphérique, quel que soit son contenu. Si vous ne copiez qu'une partition (sdf1
), il est peu probable qu'il soit amorçable car le chargeur de démarrage réside généralement sur sdf MBR.
Si l'espace libre est mis à zéro, vous pouvez économiser de l'espace en utilisant gzip.
Pour mettre à zéro l'espace libre, vous pouvez utiliser:
mount /dev/sdf1 /mnt/tmp
dd if=/dev/zero bs=1M | split -b 1G - /mnt/tmp/zerofile
sync
rm /mnt/tmp/zerofile*
umount /mnt/tmp
Pour créer une image compressée gzip:
dd if=/dev/sdf bs=1M | gzip > win7.img.gz
Pour restaurer à partir de cette image, il faut:
gunzip < win7.img.gz | dd of=/dev/sdf bs=1M
Les autres alternatives sont partimage
ou ntfsclone
(dans le cas de ntfs), qui stockent uniquement des fichiers, pas d'espace libre, mais le résultat peut ne pas être amorçable car il ne s'agit pas d'une copie 1: 1.
Vous pouvez compresser l'image comme ceci
dd if=/dev/sdf1 conv=sync,noerror bs=64K | gzip -c > usb.img.gz
De cette façon, il ne copiera pas les parties vierges de la clé USB.
De plus, dd
crée une image disque, pas une image iso.