Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
dd [Le 13/05/2018, 16:42]
82.246.139.158 [Créer une clé USB bootable]
dd [Le 16/05/2019, 18:39] (Version actuelle)
92.152.241.91 [Ecrire par dessus toute la place libre d'une partition]
Ligne 7: Ligne 7:
 =====Introduction===== =====Introduction=====
  
-La commande dd permet de copier tout ou partie d'un disque par blocs d'​octets,​ indépendamment de la structure du contenu du disque en fichiers et en répertoires. ​+La commande dd permet de copier tout ou partie d'un disque ​**   
 +---- 
 +[[smartmontools| EN BON ETAT]]** ​par blocs d'​octets,​ indépendamment de la structure du contenu du disque en fichiers et en répertoires. ​
 <note help>​Pour dupliquer un disque, il est préférable d'​utiliser la commande ddrescue ​ ( [[:​ddrescue]] ) qui dispose d'une possibilité de reprise en cas d'​arrêt intempestif.</​note>​ <note help>​Pour dupliquer un disque, il est préférable d'​utiliser la commande ddrescue ​ ( [[:​ddrescue]] ) qui dispose d'une possibilité de reprise en cas d'​arrêt intempestif.</​note>​
  
Ligne 36: Ligne 38:
 **source** représente les données à copier, **cible** est l'​endroit où les copier ; ça se comprend : **if** correspond à l'​**i**nput **f**ile et **of** correspond à l'​**o**utput **f**ile. **source** représente les données à copier, **cible** est l'​endroit où les copier ; ça se comprend : **if** correspond à l'​**i**nput **f**ile et **of** correspond à l'​**o**utput **f**ile.
  
-**bs** est habituellement une puissance de 2, supérieure ou égale à 512, représentant un nombre d'​octets (par exemple: 512, 1024, 2048, 4096, 8192, 16384, mais cela peut être tout nombre raisonnable). ​+**bs** ​(**b**lock **s**ize) ​est habituellement une puissance de 2, supérieure ou égale à 512, représentant un nombre d'​octets (par exemple: 512, 1024, 2048, 4096, 8192, 16384, mais cela peut être tout nombre raisonnable). ​
  
 <note warning>​Attention !! Si vous inversez la **source** et la **cible**, vous pouvez perdre beaucoup de données. Cette caractéristique a inspiré le surnom de dd : le Destructeur de Données !!</​note>​ <note warning>​Attention !! Si vous inversez la **source** et la **cible**, vous pouvez perdre beaucoup de données. Cette caractéristique a inspiré le surnom de dd : le Destructeur de Données !!</​note>​
Ligne 83: 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 89: 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> 
 +  * 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>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>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! +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.
-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.+
 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====
Ligne 276: Ligne 284:
  
 [[https://​wiki.archlinux.org/​index.php/​USB_Installation_Media#​Using_dd|Source de cette section]] [[https://​wiki.archlinux.org/​index.php/​USB_Installation_Media#​Using_dd|Source de cette section]]
 +==== Créer un DVD bootable ====
 +exemple
 +<​code>​dd if=/​home/​$USER/​Téléchargements/​lubuntu-18.04.1-desktop-i386.iso of=/​dev/​sr0 ​ status=progress &&​sync
 +1089364480 bytes (1,1 GB, 1,0 GiB) copied, 2420 s, 450 kB/s 
 +2127840+0 enregistrements lus
 +2127840+0 enregistrements écrits
 +1089454080 bytes (1,1 GB, 1,0 GiB) copied, 2419,85 s, 450 kB/s
 +</​code>​
 +
 +
 +
 ====Copier seulement le MBR d'un disque dur==== ====Copier seulement le MBR d'un disque dur====
  
Ligne 324: Ligne 343:
 Ceci est très utile pour rendre le lecteur presque comme neuf, cela permet de le débarrasser des virus, des chevaux de Troie etc... La plupart des lecteurs ont **0x0000ffh** écrit en usine dans chaque secteur. Ceci est très utile pour rendre le lecteur presque comme neuf, cela permet de le débarrasser des virus, des chevaux de Troie etc... La plupart des lecteurs ont **0x0000ffh** écrit en usine dans chaque secteur.
  
-====Ecrire ​par dessus toute la place libre d'une partition====+====Écrire ​par dessus toute la place libre d'une partition====
  
 C'est à dire rendre impossible la récupération des fichiers effacés. ​ C'est à dire rendre impossible la récupération des fichiers effacés. ​
Ligne 335: Ligne 354:
  
 <​code>​ <​code>​
-rm+rm fichieroccupanttoutlespacelibre
 </​code>​ </​code>​
  
  • dd.1526222576.txt.gz
  • Dernière modification: Le 13/05/2018, 16:42
  • par 82.246.139.158