J'essaie de cloner une carte SD pouvant contenir plusieurs partitions, dont certaines ne peuvent pas être reconnues par Ubuntu. Généralement, je veux cloner le volume entier, pas seulement une partition. Alors, je monte la carte SD et vois quelque chose comme ceci dans la visionneuse de journal:
kernel: [ 262.025221] sdc: sdc1 sdc2
alex@u120432:~$ ls /dev/sdc*
/dev/sdc /dev/sdc1 /dev/sdc2
Depuis que 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 à un stade donné et ne réussit jamais. Après cela, je ne peux plus redémarrer ou éteindre l'ordinateur, il me suffit simplement de l'éteindre.
Est-ce la bonne approche? Peut-être qu'il existe un autre moyen de cloner une carte SD?
OS: buntu 12.04 (Pangolin précis), 32 bits.
Vous ne devriez pas utiliser dd sur des appareils montés. démontez toutes les partitions en premier, votre commande devrait alors fonctionner.
Insérez la carte SD d'origine et vérifiez le nom du périphérique (généralement mmcblkX
ou sdcX
name__):
Sudo fdisk -l
Vous pourriez voir:
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 2048 2099199 2097152 1G c W95 FAT32 (LBA)
/dev/mmcblk0p2 2099200 31116287 29017088 13.9G 83 Linux
Dans mon cas, la carte SD est /dev/mmcblk0
(le *p1
et le *p2
sont les partitions).
Maintenant, vous devez démonter l'appareil:
Sudo umount /dev/mmcblk0
Maintenant, pour créer une image de l'appareil:
Sudo dd if=/dev/mmcblk0 of=~/sd-card-copy.img
Cela va prendre du temps.
Une fois terminé, insérez la carte SD vide. Si le périphérique est différent (lecteur USB ou autre type de lecteur de carte SD), vérifiez son nom et veillez à le démonter:
Sudo fdisk -l
Sudo umount /dev/mmcblk0
Écrivez l'image sur l'appareil:
Sudo dd if=~/sd-card-copy.img of=/dev/mmcblk0
L'écriture est beaucoup plus lente qu'avant.
J'utilise dd tool 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 tronque pas le fichier de sortie
noerror - continue après les erreurs de lecture
dd c'est bien, mais je préfère cat /dev/sdc/ > ~/backup.iso
Si vous voulez le réutiliser sur une carte SD, lancez simplement cat ~/backup.iso > /dev/sdc
Voici les étapes qui ont fonctionné pour moi sur Ubuntu pour restaurer le fichier image (~/raspberrypi2.img
dans mon cas) sur une nouvelle carte SD (fortement inspirée par la réponse d'Alon ci-dessus):
Ouvrez le terminal et exécutez:
Sudo fdisk -l
Sortie pertinente (qui a montré qu'il n'y avait pas de partitions en raison du formatage 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). Assurez-vous de ne pas l'interrompre par une opération qui appelle le montage (ouvrir les applications Fichiers ou Disques).
Merci pour les réponses de chacun.