logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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
Prochaine révision Les deux révisions suivantes
doc:systeme:dd [03/07/2014 00:06]
127.0.0.1 modification externe
doc:systeme:dd [17/11/2016 13:40]
smolski [Récupérer les données d'un disque]
Ligne 1: Ligne 1:
-======dd=======+===== dd ======
  
-**ATTENTION !** La commande dd est très utile pour la sauvegarde de données, mais **elle peut avoir des effets désastreux si vous ne faites ​pas trés attention à ce que vous faites**!+  * Objet : dd 
 +  * Niveau requis : {{tag>​débutant avisé}} 
 +  * Commentaires : //Copier tout ou partie d'un disque par blocs d'​octets. // 
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) 
 +  * Suivi : 
 +    * Création par [[user>​deuchdeb]] le 09-07-2010 
 +    * Testé par [[user>​deuchdeb]] le 02-09-2010 
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=2770 | Lien vers le forum concernant ce tuto]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
 + 
 + 
 + 
 +<note warning>**ATTENTION !** La commande dd est très utile pour la sauvegarde de données, mais **elle peut avoir des effets désastreux si vous ne portez ​pas très attention à ce que vous faites**!</​note>​
  
 =====Introduction===== =====Introduction=====
Ligne 11: Ligne 22:
  
 //On peut utiliser dd pour bien d'​autres choses : recherche dans les fichiers effacés, recherche dans la mémoire vive, création de disque virtuel etc...// //On peut utiliser dd pour bien d'​autres choses : recherche dans les fichiers effacés, recherche dans la mémoire vive, création de disque virtuel etc...//
 +
  
 ===== Les bases ===== ===== Les bases =====
Ligne 26: Ligne 38:
 ===== Copier une partition de disque dur sur un autre disque dur ===== ===== Copier une partition de disque dur sur un autre disque dur =====
  
-<​note>​ Remplacer //sda1, sda2// par les valeurs qui correspondent à votre système +<​note>​ Remplacer //sda2, sdb2// par les valeurs qui correspondent à votre système ​: par exemple: //hdb1, hda1 ect...//</​note>​
-Example: //hdb1, hda1 ect...//</​note>​+
  
-<​code>​+<​code ​root>
 dd if=/​dev/​sda2 of=/​dev/​sdb2 bs=4096 conv=notrunc,​noerror dd if=/​dev/​sda2 of=/​dev/​sdb2 bs=4096 conv=notrunc,​noerror
 </​code>​ </​code>​
Ligne 39: Ligne 50:
 ===== Cloner un disque dur en entier ===== ===== Cloner un disque dur en entier =====
  
-<​code>​+<​code ​root>
 dd if=/dev/sda of=/dev/sdb conv=notrunc,​noerror dd if=/dev/sda of=/dev/sdb conv=notrunc,​noerror
 </​code>​ </​code>​
- +  * **notrunc** signifie ​« ne pas tronquer le fichier en sortie »
-**notrunc** signifie ​«ne pas tronquer le fichier en sortie» (voir [[#​notrunc]] pour plus de détails)+  ​* ​**noerror** signifie ​« de continuer en cas d'​erreur ​». Normalement, ​**dd** s'​arrête en cas d'​erreur.\\ Si vous vous interrogez sur un disque dur, si vous vous demandez s'il fonctionne ou pas, vous pouvez tenter de l'​utiliser,​ à titre de test, comme lecteur source de la commande dd. Vous devriez obtenir une erreur s'il ne fonctionne pas.\\ Les lecteurs cibles en revanche doivent être vraiment en très mauvais état pour provoquer une erreur due à dd.
- +
-**noerror** signifie de continuer en cas d'​erreur. Normalement,​ dd s'​arrête en cas d'​erreur. Si vous vous interrogez sur un disque dur, si vous vous demandez s'il fonctionne ou pas, vous pouvez tenter de l'​utiliser,​ à titre de test, comme lecteur source de la commande dd. Vous devriez obtenir une erreur s'il ne fonctionne pas. Les lecteurs cibles en revanche doivent être vraiment en très mauvais état pour provoquer une erreur due à dd.+
  
  
Ligne 52: Ligne 61:
 Copier son disque de travail en cours sda vers le disque sdb. Copier son disque de travail en cours sda vers le disque sdb.
  
-<​code>​+<​code ​root>
 dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,​noerror dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,​noerror
 </​code>​ </​code>​
Ligne 58: Ligne 67:
 Si je détruis l'​installation sur sda, je n'ai qu'à booter avec un CD DebianLive et copier sdb vers sda : Si je détruis l'​installation sur sda, je n'ai qu'à booter avec un CD DebianLive et copier sdb vers sda :
  
-<​code>​+<​code ​root>
 dd if=/dev/sdb of=/dev/sda bs=4096 conv=notrunc,​noerror dd if=/dev/sdb of=/dev/sda bs=4096 conv=notrunc,​noerror
 </​code>​ </​code>​
  
 Je veux copier ma partion root dans mon home  Je veux copier ma partion root dans mon home 
-<​code>​+<​code ​root>
 dd if=/​dev/​sda2 (root) of=/​home/​user/​root.img bs=4096 conv=notrunc,​noerror dd if=/​dev/​sda2 (root) of=/​home/​user/​root.img bs=4096 conv=notrunc,​noerror
 </​code>​ </​code>​
Ligne 69: Ligne 78:
 pour réaliser un backup de root faire : pour réaliser un backup de root faire :
  
-<​code>​+<​code ​root>
 dd if=/​home/​user/​root.img of=/​dev/​sda2 (root) bs=4096 conv=notrunc,​noerror dd if=/​home/​user/​root.img of=/​dev/​sda2 (root) bs=4096 conv=notrunc,​noerror
 </​code>​ </​code>​
Ligne 80: Ligne 89:
 <note warning>​Attention!! Ne pas copier une partition sur la même partition.</​note>​ <note warning>​Attention!! Ne pas copier une partition sur la même partition.</​note>​
  
-<​code>​+<​code ​user>
 dd if=/​dev/​sdb2 of=/​home/​user/​partition.image bs=4096 conv=notrunc,​noerror dd if=/​dev/​sdb2 of=/​home/​user/​partition.image bs=4096 conv=notrunc,​noerror
 </​code>​ </​code>​
Ligne 86: Ligne 95:
 Cela créera un fichier qui est l'​exacte réplique de la partition sdb2. Vous pouvez remplacer par hdb, sda, hda ou toute autre désignation de votre disque. Ou : Cela créera un fichier qui est l'​exacte réplique de la partition sdb2. Vous pouvez remplacer par hdb, sda, hda ou toute autre désignation de votre disque. Ou :
  
-<​code>​+<​code ​user>
 dd if=/​dev/​sdb2 ibs=4096 | gzip > partition.image.gz conv=noerror dd if=/​dev/​sdb2 ibs=4096 | gzip > partition.image.gz conv=noerror
 </​code>​ </​code>​
Ligne 92: Ligne 101:
 Crée une archive gzip de la partition complète. Pour la restauration,​ utiliser : Crée une archive gzip de la partition complète. Pour la restauration,​ utiliser :
  
-<​code>​+<​code ​user>
 dd if=/​dev/​sdb2 ibs=4096 | gunzip > partition.image.gz conv=noerror dd if=/​dev/​sdb2 ibs=4096 | gunzip > partition.image.gz conv=noerror
 </​code>​ </​code>​
Ligne 98: Ligne 107:
 Pour bzip2 (plus lent, plus petit), remplacer par bzip2 et bunzip2, et nommer le fichier Pour bzip2 (plus lent, plus petit), remplacer par bzip2 et bunzip2, et nommer le fichier
  
-<​code>​+<​code ​user>
 .bz2 .bz2
 </​code>​ </​code>​
Ligne 104: Ligne 113:
 ===== Restaurer une partition de disque depuis un fichier image ===== ===== Restaurer une partition de disque depuis un fichier image =====
  
-<​code>​+<​code ​user>
 dd if=/​home/​user/​partition.image of=/​dev/​sdb2 bs=4096 conv=notrunc,​noerror dd if=/​home/​user/​partition.image of=/​dev/​sdb2 bs=4096 conv=notrunc,​noerror
 </​code>​ </​code>​
Ligne 116: Ligne 125:
 ==== Copier une disquette sur le disque dur ==== ==== Copier une disquette sur le disque dur ====
  
-<​code>​+<​code ​root>
 dd if=/dev/fd0 of=/​home/​user/​floppy.image bs=2x80x18b conv=notrunc dd if=/dev/fd0 of=/​home/​user/​floppy.image bs=2x80x18b conv=notrunc
 </​code>​ </​code>​
Ligne 122: Ligne 131:
 ou ou
  
-<​code>​+<​code ​root>
 dd if=/dev/fd0 of=/​home/​user/​floppy.image conv=notrunc dd if=/dev/fd0 of=/​home/​user/​floppy.image conv=notrunc
 </​code>​ </​code>​
Ligne 137: Ligne 146:
  
 Faire : Faire :
-<​code>​+<​code ​user>
 dd if=/​home/​user/​floppy.image of=fd0 bs=2x80x18b conv=notrunc dd if=/​home/​user/​floppy.image of=fd0 bs=2x80x18b conv=notrunc
 </​code>​ </​code>​
- 
- 
  
 ===== Sauvegarde de disquettes sur disque dur ===== ===== Sauvegarde de disquettes sur disque dur =====
Ligne 147: Ligne 154:
 Je sauvegarde toutes mes disquettes sur disque dur. Les disquettes ne sont pas éternelles,​ aussi je fais : Je sauvegarde toutes mes disquettes sur disque dur. Les disquettes ne sont pas éternelles,​ aussi je fais :
  
-<​code>​+<​code ​user>
 dd if=/dev/fd0 of=/​home/​sam/​disquettes/​backup.bin conv=notrunc dd if=/dev/fd0 of=/​home/​sam/​disquettes/​backup.bin conv=notrunc
 </​code>​ </​code>​
Ligne 153: Ligne 160:
 Si ma disquette défaille, je peux faire des copies en nombre illimité : Si ma disquette défaille, je peux faire des copies en nombre illimité :
  
-<​code>​+<​code ​user>
 dd if=/​home/​sam/​disquettes/​backup.bin of=/dev/fd0 conv=notrunc dd if=/​home/​sam/​disquettes/​backup.bin of=/dev/fd0 conv=notrunc
 </​code>​ </​code>​
Ligne 159: Ligne 166:
  
 ===== Les Options ===== ===== Les Options =====
-**if**=fichier\\ 
-Lire les données depuis le fichier indiqué plutôt que depuis l'​entrée standard. 
- 
-**of**=fichier\\ 
-Écrire les données dans le fichier mentionné, et non pas sur la sortie standard. Si conv=notrunc n'est pas indiqué, le fichier est initialement tronqué à la taille spécifiée par seek= (0 octets si seek= n'est pas fourni). 
- 
-**ibs**=nombre\\ 
-Lire le nombre indiqué d'​octets en une fois. Par défaut 512. 
- 
-**obs**=nombre\\ 
-Écrire le nombre indiqué d'​octets en une fois. Par défaut 512. 
- 
-**bs**=nombre\\ 
-Lire et écrire le nombre indiqué d'​octets en une fois. A priorité sur ibs et obs. (et indiquer bs n'est pas équivalent à indiquer la\\ 
-même valeur pour ibs et obs du moins lorsqu'​aucune autre conversion que sync, noerror et notrunc n'est indiquée, car cela\\ 
-indique que chaque bloc d'​entrée doit être copié dans un bloc de sortie indépendant,​ sans regrouper les blocs plus courts).\\ 
- 
-**cbs**=nombre\\ 
-Indique la taille des blocs pour les conversion block et unblock. 
- 
-**skip**=nombre\\ 
-Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de la lecture. 
- 
-**seek**=nombre\\ 
-Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de l'​écriture. 
- 
-**count**=nombre\\ 
-Copier seulement le nombre indiqué de blocs (dont la taille est fournie par ibs), et non pas tout jusqu'​à la fin du fichier. 
- 
-**conv**=conversion[,​conversion]...\\ 
-Modifier le fichier comme indiqué par l'​argument conversion, qui peut prendre les valeurs suivantes (pas d'​espace autour desvirgules lorsque plusieurs arguments sont fournis) :\\ 
-**ascii** \\ 
-Convertir l'​EBCDIC en ASCII. 
- 
-**ebcdic**\\ 
-Convertir l'​ASCII en EBCDIC. 
- 
-**ibm**\\ 
- ​Convertir l'​ASCII en EBCDIC IBM. 
- 
-**block** \\ 
-Compléter les blocs se terminant par un saut de ligne avec des espaces, jusqu'​à atteindre la taille mentionnée par 
-cbs. 
- 
-**unblock**\\ 
-Remplacer les espaces en fin de blocs (de taille cbs) par un saut de ligne. 
- 
-**lcase**\\ 
- ​Transformer les majuscules en minuscules. 
- 
-**ucase** \\ 
-Transformer les minuscules en majuscules. 
- 
-**swab**\\ 
- ​Échanger par paire les octets lus en entrée. Contrairement à la commande dd d'​Unix,​ la version GNU fonctionne\\ 
-également lorsqu'​on copie un nombre impair d'​octets. Dans ce cas, le dernier octet est tout simplement copié.\\ 
-[POSIX 1003.2b, interprétations PASC 1003.2 #3 and #4] 
- 
-**noerror**\\ 
-Continuer même après des erreurs de lecture. 
- 
-**notrunc**\\ 
-Ne pas limiter la taille du fichier de sortie. 
  
-**sync** Compléter chaque bloc lu avec des NULs pour atteindre la taille ibs.+^Option ​ ^Utilisation ​ ^ 
 +|**if**=fichier ​ |Lire les données depuis le fichier indiqué plutôt que depuis l'​entrée standard. ​ | 
 +|**of**=fichier ​ |Écrire les données dans le fichier mentionné, et non pas sur la sortie standard. Si conv=notrunc n'est pas indiqué, le fichier est initialement tronqué à la taille spécifiée par seek= (0 octets si seek= n'est pas fourni). ​ | 
 +|**ibs**=nombre ​ |Lire le nombre indiqué d'​octets en une fois. Par défaut 512.  | 
 +|**obs**=nombre ​ |Écrire le nombre indiqué d'​octets en une fois. Par défaut 512.  | 
 +|**bs**=nombre ​ |Lire et écrire le nombre indiqué d'​octets en une fois. A priorité sur ibs et obs. (et indiquer bs n'est pas équivalent à indiquer la même valeur pour ibs et obs du moins lorsqu'​aucune autre conversion que sync, noerror et notrunc n'est indiquée, car cela indique que chaque bloc d'​entrée doit être copié dans un bloc de sortie indépendant,​ sans regrouper les blocs plus courts). ​ | 
 +|**cbs**=nombre ​ |Indique la taille des blocs pour les conversion block et unblock. ​ | 
 +|**skip**=nombre ​ |Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de la lecture. ​ | 
 +|**seek**=nombre ​ |Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de l'​écriture. ​ | 
 +|**count**=nombre ​ |Copier seulement le nombre indiqué de blocs (dont la taille est fournie par ibs), et non pas tout jusqu'​à la fin du fichier. ​ | 
 +|**conv**=conversion[,​conversion]... ​ |Modifier le fichier comme indiqué par l'​argument conversion, qui peut prendre les valeurs suivantes (pas d'​espace autour des virgules lorsque plusieurs arguments sont fournis) ainsi :\\ **ascii** Convertir l'​EBCDIC en ASCII.\\ **ebcdic** Convertir l'​ASCII en EBCDIC.\\ **ibm** Convertir l'​ASCII en EBCDIC IBM.  | 
 +|**block** ​ |Compléter les blocs se terminant par un saut de ligne avec des espaces, jusqu'​à atteindre la taille mentionnée par cbs.  | 
 +|**unblock** ​ |Remplacer les espaces en fin de blocs (de taille cbs) par un saut de ligne. ​ | 
 +|**lcase** ​ |Transformer les majuscules en minuscules. ​ | 
 +|**ucase** ​ |Transformer les minuscules en majuscules. ​ | 
 +|**swab** ​ |Échanger par paire les octets lus en entrée. Contrairement à la commande dd d'​Unix,​ la version GNU fonctionne également lorsqu'​on copie un nombre impair d'​octets. Dans ce cas, le dernier octet est tout simplement copié.\\ [POSIX 1003.2b, interprétations PASC 1003.2 #3 and #4]  | 
 +|**noerror** ​ |Continuer même après des erreurs de lecture. ​ | 
 +|**notrunc** ​ |Ne pas limiter la taille du fichier de sortie. ​ | 
 +|**sync** ​ |Compléter chaque bloc lu avec des NULs pour atteindre la taille ibs.  |
  
 ===== Les variables d'​environnement ===== ===== Les variables d'​environnement =====
Ligne 248: Ligne 210:
   * [[:​doc:​systeme:​ddrescue]]   * [[:​doc:​systeme:​ddrescue]]
  
 +===== Lien sur l'​utilisation de dd sur le forum =====
 +
 +  * [[https://​debian-facile.org/​viewtopic.php?​pid=200330#​p200330]]
 ===== Liens externes ===== ===== Liens externes =====
 +
   *[[http://​jp.barralis.com/​linux-man/​man1/​dd.1.php|Man de dd en français]]   *[[http://​jp.barralis.com/​linux-man/​man1/​dd.1.php|Man de dd en français]]
   *[[http://​wiki.mandriva.com/​fr/​Copie_par_blocs_d%27octets_avec_dd| La source de ce document, trés complet]]   *[[http://​wiki.mandriva.com/​fr/​Copie_par_blocs_d%27octets_avec_dd| La source de ce document, trés complet]]
doc/systeme/dd.txt · Dernière modification: 25/02/2020 09:13 par smolski

Pied de page des forums

Propulsé par FluxBB