C’est un peu la suite d’une question d’un autre utilisateur trouvée ici: Clonage de carte SD en utilisant la commande dd
J'ai utilisé la commande dd pour cloner ou effectuer des copies de sauvegarde de cartes SD avec un succès limité. Celles-ci concernent des projets informatiques monocarte, où il est prudent de sauvegarder complètement la carte SD de temps en temps. Je dis succès limité, car j’ai parfois été en mesure de restaurer intégralement un système (carte) en utilisant les conseils trouvés en ligne.
Notez cependant qu'à d'autres moments, cela n'a pas été le cas, et je me demande si cela a quelque chose à voir avec le montage (ou idéalement le démontage de la carte car il y a une certaine confusion ici (pour moi de toute façon).
Question 1: Lorsque je lance umount (comme suggéré dans la page de forum mentionnée ci-dessus), il indique que le périphérique n'est pas monté. Est-ce parce que le périphérique simplement démonté ou que le périphérique que j'ai spécifié de démonter n'existe pas pour être démonté?
Pour démonter, j'utilise la commande suivante: Sudo umount /dev/sdc
Question 2: Dans l'utilitaire graphique Ubuntu 16.04 (Files), la clé USB ou la carte SD insérée dans USB comporte une petite flèche tournée vers le haut, à droite de celle-ci. Si vous cliquez dessus, le périphérique sera déconnecté et vous pourrez le retirer en toute sécurité. Est-ce la même chose que le démontage dans la CLI? Il ne semble pas que ce soit le cas, car lorsque je l’ai fait, la commande dd génère une erreur qu’il ne peut pas trouver sur mon appareil pour créer une image. Si je débranche la carte SD (USB) puis la rebranche, la carte SD s’affiche à nouveau avec la petite flèche, et je peux utiliser DD sans problème pour créer l’image (bien que la question de savoir si l’image est bonne ou non est une autre question , car je ne sais toujours pas s’il a été démonté avant la génération de l’image!)
Question 3: Lorsque je lance Sudo fdisk -l
, ma carte est répertoriée sous la forme sdb
. Toutefois, si j'utilise l'utilitaire de disques, la carte SD se compose en fait d'au moins 3 partitions (SDB répétée pendant 2 les partitions et SDB1 pour la partition en bloc ou principale). Quelle partition dois-je sélectionner dans le cadre de l'opération dd? Dd ne se limitera-t-il pas à créer une image de cette partition, en ignorant le reste de la carte SD? Si c'est le cas, il n'est pas vraiment pertinent de l'appeler un outil de création d'image disque en tant que tel ...
Enfin, c’est la commande dd que j’exécute pour créer une image compressée de la carte SD (lorsque j’obtiens cela, cela fonctionne parfaitement et Etcher n’a aucun problème à lire l’image zippée aussi)
Sudo dd if=/dev/sdc | pv | gzip > FileNameHere.img.gz
Votre aide est appréciée des personnes qui sont encore en train d’appréhender Linux, même après plusieurs années d’utilisation et d’expérience.
Lorsque vous utilisez dd
pour copier des périphériques en mode bloc, vous devez être conscient du fait qu’il s’agit d’un outil de bas niveau pour la copie bit par bit de données.
Cet outil très puissant va copier chaque bit de la source vers n’importe quelle destination.
La partie any destination est décisive, car cela signifie que si vous tapez accidentellement au mauvais endroit, vous risquez d'écraser les données.
La partie de chaque bit signifie également qu'elle copiera chaque bit quel que soit l'emplacement. Il copiera également les bits NULL et le contenu de la corbeille. C'est très utile pour créer une image pour la récupération, mais ce n'est peut-être pas ce dont vous avez besoin pour une sauvegarde simple.
Parce que dd
n'autorise pas non plus les sauvegardes incrémentielles et prend beaucoup de temps, je vous suggère de jeter un coup d'œil à ces de nombreuses solutions de sauvegarde différentes nous devons probablement en trouver une qui convienne mieux à vos besoins que dd
.
Pour toujours répondre à vos questions:
/sdb1
) doivent être démontées pour pouvoir les copier avec dd
./sdb
), y compris toutes les partitions, les tables de partitions, le fichier supprimé, les enregistrements de démarrage, les partitions supprimées et les autres éléments qu’il peut contenir avec dd
, mais vous pouvez le faire. ne pas ignorer les zones "non utilisées".La commande
_Sudo umount /dev/sdc
_
démonterait un système de fichiers créé directement "dans tout le lecteur", comme dans les anciennes disquettes. Aujourd'hui, nous créons généralement des partitions _/dev/sdxn
_ et créons des systèmes de fichiers dans les partitions, où x
est la lettre du lecteur et n
est le numéro de la partition. Une commande plus pertinente serait donc
_Sudo umount /dev/sdc1
_
ou pour toutes les partitions dans sdc
_Sudo umount /dev/sdc?
_
La "flèche" à laquelle vous faites référence est le symbole d'éjection. Elle permet non seulement de démonter une clé USB ou une carte mémoire, mais également de la mettre hors tension. Vous devez débrancher et rebrancher la clé USB ou la carte afin de récupérer l’alimentation, afin de pouvoir la remonter (peut-être qu’elle se monte automatiquement).
Cela diffère de ce que vous faites avec la commande umount
. Je pense que le logiciel udisks
est appelé à partir de ce symbole d’éjection. Voir
_man udisksctl
_
qui décrit un utilitaire de ligne de commande pour cela.
Cloner un lecteur entier pour cloner l'ensemble du système d'exploitation. Vous devez utiliser le périphérique source _/dev/sdx
_, sinon vous ne faites que cloner une partition et elle ne contiendra pas le système entier. Il devrait y avoir une lettre de lecteur mais pas de numéro de partition. Vous pouvez également utiliser Clonezilla ou mkusb pour cloner de manière plus sûre (dd
est dangereux).
Si vous voulez quand même utiliser dd
, commencez par démonter toutes les partitions du lecteur,
_Sudo umount /dev/sdc?
_
et après cela, la ligne de commande que vous indiquez dans la question modifiée doit faire l'affaire,
_Sudo dd if=/dev/sdc | pv | gzip > FileNameHere.img.gz
_
et si je comprends bien, cela fonctionne pour vous (créer un fichier image compressé pouvant être utilisé pour restaurer le système).
Il devrait fonctionner directement avec une ligne de commande inverse pour créer un système opérationnel s'il existe une table de partition MSDOS (MBR).
S'il existe une table de partition (GPT) GUID, vous devez réparer la table de partition de sauvegarde à la fin du lecteur (si la taille du lecteur cible n'est pas exactement la même que celle du lecteur source). Ceci est fait automatiquement avec mkusb , et peut être fait manuellement avec gdisk
ou avec le script gpt-fix
.