Clonage de la carte SD en utilisant la commande dd

38

J'essaie de cloner une carte SD qui peut contenir un certain nombre de partitions, dont certaines ne peuvent pas être reconnues par Ubuntu. En général, je veux cloner tout le volume, pas seulement une partition. Donc, je monte la carte SD et voir quelque chose comme ça dans le visualiseur de journaux:

kernel: [  262.025221]  sdc: sdc1 sdc2

[email protected]:~$ ls /dev/sdc*
/dev/sdc  /dev/sdc1  /dev/sdc2

Comme je veux copier le disque entier, j'exécute:

dd if=/dev/sdc of=sdimage.img bs=4M

Le fichier sdimage.img, 7,9 Go (7 944 011 776 octets) est créé (la carte SD fait 8 Go). Maintenant, je monte une autre carte SD et exécute:

dd if=sdimage.img of=/dev/sdc bs=4M

Le problème est que la deuxième commande dd se bloque sur certaines étapes et ne réussit jamais. Après cela, je ne peux pas redémarrer ou éteindre l'ordinateur, et je dois juste mettre hors tension.

Est-ce la bonne approche? Peut-être existe-t-il un autre moyen de cloner une carte SD?

Système d'exploitation: Ubuntu 12.04 (Pangolin précis), 32 bits.

    
posée Alex F 11.12.2012 - 14:42
la source

5 réponses

23

Vous ne devriez pas utiliser dd sur les périphériques montés. Démontez toutes les partitions en premier, votre commande devrait fonctionner.

    
réponse donnée ubfan1 13.12.2012 - 19:01
la source
15

Insérez la carte SD d'origine et vérifiez le nom du périphérique (généralement mmcblkX ou sdcX ):

sudo fdisk -l

Dans mon cas, la carte SD est /dev/mmsbkl0 . Maintenant, vous devez démonter le périphérique:

sudo umount /dev/mmcblk0

Maintenant, créez une image du périphérique:

sudo dd if=/dev/mmcblk0 of=~/sd-card-copy.img

Cela prendra du temps.

Une fois terminé, insérez la carte SD vide. Si le périphérique est différent (USB ou autre type de lecteur de carte SD), vérifiez son nom et assurez-vous de le démonter:

sudo fdisk -l
sudo umount /dev/mmcblk0

Ecrivez l'image sur le périphérique:

sudo dd if=~/sd-card-copy.img of=/dev/mmcblk0

L'opération d'écriture est beaucoup plus lente qu'auparavant.

    
réponse donnée Alon Fleider 03.06.2015 - 13:24
la source
14

J'utilise l'outil dd pour cloner des clés USB avec plusieurs partitions, voici ma commande:

sudo dd if=/dev/sdb of=/dev/sdc bs=4096 conv=notrunc,noerror

notrunc - ne pas tronquer le fichier de sortie
noerror - continuer après les erreurs de lecture

    
réponse donnée tommyk 11.12.2012 - 16:05
la source
9

dd va bien, mais je préfère cat /dev/sdc/ > ~/backup.iso Si vous voulez le replacer sur une carte SD, exécutez simplement cat ~/backup.iso > /dev/sdc

    
réponse donnée Vreality 11.12.2012 - 15:36
la source
0

Voici les étapes qui ont fonctionné sur Ubuntu pour restaurer le fichier image ( ~/raspberrypi2.img dans mon cas) sur une nouvelle carte SD (inspirée par la réponse d’Alon ci-dessus):

  1. Insérez la carte micro SD via le lecteur de carte.
  2. Ouvrez l'application Disks.
  3. Formate rapidement toute la carte (pas une partition spécifique).
  4. Fermez les disques.
  5. Ouvrir le terminal et exécuter:

    sudo fdisk -l
    

Sortie pertinente (qui montre qu’il n’ya pas de partitions en raison du format rapide de la carte entière):

Disk /dev/sdb: 7.4 GiB, 7948206080 bytes, 15523840 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes 
Disklabel type: dos 
Disk identifier: 0x6957f2f2
sudo dd if=~/raspberrypi2.img of=/dev/sdb

Cette étape prend quelques bonnes minutes (même sur USB3). Veillez à ne pas l’interrompre par une opération qui appelle le montage (ouverture des applications Fichiers ou Disques).

Merci pour les réponses de tous.

    
réponse donnée BoazC 09.01.2016 - 20:28
la source

Lire d'autres questions sur les étiquettes