Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
dd [Le 18/02/2019, 23:00] 37.170.86.175 [Introduction] |
dd [Le 02/03/2019, 23:16] sangorys [Copier une partition de disque sur un autre disque] |
||
---|---|---|---|
Ligne 85: | Ligne 85: | ||
**bs=4k** indiquera à dd d'utiliser un bloc de taille 4 kiloctets. J'ai trouvé que **bs=4k** est le plus rapide pour la copie de disques sur une machine moderne. | **bs=4k** indiquera à dd d'utiliser un bloc de taille 4 kiloctets. J'ai trouvé que **bs=4k** est le plus rapide pour la copie de disques sur une machine moderne. | ||
- | ====Copier une partition de disque dur sur un autre disque dur==== | + | ====Copier une partition de disque sur un autre disque==== |
<code> | <code> | ||
Ligne 91: | Ligne 91: | ||
</code> | </code> | ||
- | Veillez à ce que tous soit attaché après "conv=", | ||
- | sda2 et sdb2 sont des partitions. Vous voulez copier sda2 dans sdb2. Si sdb2 n'existe pas, dd commencera au début du disque et le créera. | ||
- | <note warning>Faites attention à l'ordre de **if=** et **of=**. Vous pouvez écrire un disque vierge sur un disque utilisé si vous êtes désordonné. A priori l'argument conv=notrunc ne sert à rien : on copie une partition pas un fichier… et l'argument noerrror est **risqué** puisqu'il ignore les erreurs de lecture</note> | + | <note warning> |
+ | * sda2 et sdb2 sont des partitions : pensez à mettre celles qui correspond à vos besoins. Faites attention à l'ordre de **if=** et **of=**. Vous pouvez écrire une partition vierge sur une partition utilisée si vous êtes désordonné. | ||
+ | * Si sdb2 n'existe pas, dd commencera au début du disque et le créera | ||
+ | * L'argument noerrror serait **risqué** puisqu'il ignore les erreurs de lecture | ||
+ | * La partition complète va être copiée : la partition de destination aura exactement la même taille et le même [[uuid_et_label|uuid]] qui est censé être unique. Cela peut être source de conflit. Vous pouvez toujours [[uuid_et_label#modifier_manuellement_l_uuid_d_un_systeme_de_fichiers|modifier cet uuid manuellement]], mais prenez garde que vous perdrez alors l'exactitude de copie. | ||
+ | </note> | ||
- | <note tip>Le fait de copier ainsi une partition implique de copier également son [[uuid_et_label|uuid]] qui est censé être unique. Cela peut être source de conflit. Vous pouvez toujours [[uuid_et_label#modifier_manuellement_l_uuid_d_un_systeme_de_fichiers|modifier cet uuid manuellement]], mais prenez garde que vous perdrez alors l'exactitude de copie.</note> | + | <note tip> |
+ | * Veillez à ce que tous soit attaché après "conv=" | ||
+ | * A priori l'argument conv=notrunc ne sert à rien : on copie une partition pas un fichier | ||
+ | </note> | ||
- | <note tip>Et comment suivre ce qui se passe pendant l'exécution de DD... En effet, après avoir lancé la commande, c'est le blackout et vous pouvez attendre longtemps et même penser que rien ne se passe! | + | |
- | Alors, ouvrez un second terminal et tapez:<code>pgrep -l '^dd$'</code> qui vous produira une réponse du type "9999 dd". Ce code est le chiffre d'identification du processus de copie qui vous permet de produire une seconde commande dans le terminal (en root):<code>kill -USR1 9999</code> Cette seconde commande peut-être lancée de temps en temps pour patienter. | + | Une solution alternative pour voir l'avancement : ouvrer un second terminal et tapez:<code>pgrep -l '^dd$'</code> qui vous produira une réponse du type "9999 dd". Ce code est le chiffre d'identification du processus de copie qui vous permet de produire une seconde commande dans le terminal (en root):<code>kill -USR1 9999</code> Cette seconde commande peut-être lancée de temps en temps pour patienter. |
Alternative en mode root, pour voir la progression toutes les 30 secondes: <code>watch -n 30 kill -USR1 9999</code></note> | Alternative en mode root, pour voir la progression toutes les 30 secondes: <code>watch -n 30 kill -USR1 9999</code></note> | ||
- | Pour suivre l'avancement de la commande dd, vous pouvez ajouter l'option **status=progress**, ou effectuer la commande suivante : <code>dd if=/dev/source | pv -t -e -r -b | dd of=/dev/cible</code> Cela requiert le binaire pv :<code>apt-get install pv</code> | + | Une autre solution est d'effectuer la commande suivante : <code>dd if=/dev/source | pv -t -e -r -b | dd of=/dev/cible</code> Cela requiert le binaire pv :<code>apt-get install pv</code> |
====Cloner un disque dur en entier==== | ====Cloner un disque dur en entier==== |