« La commande dd » : différence entre les versions
m (Page créée avec « {{sid}} ---- {{Ébauche|La commande dd}} La commande dd. = Introduction: = Extrait de la page de man de dd : "dd copie un fichier (par défaut, depuis l'entrée standa... ») |
m (sauvegarde MBR) |
||
Ligne 130 : | Ligne 130 : | ||
62464+0 enregistrements écrits | 62464+0 enregistrements écrits | ||
255852544 octets (256 MB) copiés, 36,897 s, 6,9 MB/s | 255852544 octets (256 MB) copiés, 36,897 s, 6,9 MB/s | ||
== Sauvegarder le MBR d'un disque dur == | |||
dd if=/dev/sda of=MBR.image bs=446 count=1 | |||
1+0 enregistrements lus | |||
1+0 enregistrements écrits | |||
446 octets (446 B) copiés, 3,0622e-05 s, 14,6 MB/s | |||
Cette commande copiera les 446 premiers octets du disque dur dans un fichier. | |||
= Références = | = Références = |
Version du 8 mars 2011 à 13:15
Ce document n'a pas été validé par la communauté. Soyez prudent vis-à-vis de son contenu! Si au cours de vos manipulations un problème survenait, vous ne pouvez en aucun cas incriminer ce site. Posez vos questions sur le forum
Cet article est une ébauche. N'hésitez pas à contribuer ou à en discuter.
La commande dd.
Introduction:
Extrait de la page de man de dd :
"dd copie un fichier (par défaut, depuis l'entrée standard vers la sortie standard) en permettant de sélectionner la taille de bloc, et d'effectuer des conversions."
Utilisée fréquement, la commande dd est très simple d'utilisation, très puissante et... tout aussi dangereuse. Vérifiez toujours bien les commandes deux (trois ?) fois avant de les lancer.
LES COMMANDES QUI SUIVENT PEUVENT ÊTRE EXTRÊMEMENT DESTRUCTIVES SI ELLES NE SONT PAS CONVENABLEMENT UTILISÉES. VOUS ÊTES PRÉVENUS!
Syntaxe
La commande dd se présente généralement sous cette forme:
dd if=<source> of=<cible> bs=<taille des blocs> skip= seek= conv=<conversion>
- source = données à copier;
- cible = endroit ou copier les données sources;
- bs = taille des blocs, de puissance 2, généralement égale à 512;
- skip = Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de la lecture;
- seek = Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de l'écriture.
- conv = 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) :
ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync.
Utilisation
Copier une partition de disque dur sur un autre disque dur
Copie l'intégralité de la partition sda9 vers la partition sdb1, ne pas s'arrếter sur les erreurs de lecture.
dd if=/dev/sda9 of=/dev/sdb1 bs=4096 conv=notrunc,noerror 256000+0 enregistrements lus 256000+0 enregistrements écrits 1048576000 octets (1,0 GB) copiés, 30,778 s, 34,1 MB/s
notrunc = Ne pas limiter la taille du fichier de sortie.
noerror = Continuer même après des erreurs de lecture.
Remarque au sujet de l'UUID.
Copier une partition vers une autre copie aussi son UUID. Vous vous retrouvez alors avec deux partitions qui portent le même numéro...
# blkid ... /dev/sda9: UUID="a5355774-2e6b-45fe-8993-0f23602c1616" TYPE="ext2" /dev/sdb1: UUID="a5355774-2e6b-45fe-8993-0f23602c1616" TYPE="ext2"
Il faut alors générer un nouveau numéro pour ne pas avoir de conflit (partition démontée...):
# tune2fs -U random /dev/sdb1 # blkid /dev/sda9: UUID="a5355774-2e6b-45fe-8993-0f23602c1616" TYPE="ext2" /dev/sdb1: UUID="75aa7a37-d2a2-4cf4-88f8-616067c7a684" TYPE="ext2"
Cloner un disque dur en entier
Copie de l'intégralité (y compris le mbr) du disque sdg vers le disque sdh:
dd if=/dev/sdg of=/dev/sdh conv=notrunc,noerror 4030464+0 enregistrements lus 4030464+0 enregistrements écrits 2063597568 octets (2,1 GB) copiés, 1160,41 s, 1,8 MB/s
Réaliser l'image ISO d'un CD
dd if=/dev/sr0 of=/home/laurent/cd.iso bs=2048 conv=notrunc 737+0 enregistrements lus 737+0 enregistrements écrits 1509376 octets (1,5 MB) copiés, 3,3215 s, 454 kB/s
Pour monter l'image obtenue:
# mkdir /mnt/cd # mount -o loop -t iso9660 cd.iso /mnt/cd
Insertion permanente dans fstab:
/chemin_vers_iso/cd.iso /mnt/cd iso9660 rw,user,noauto 0 0
Effacer un lecteur
ATTENTION, COMMANDE DANGEREUSE!
Pour les paranos... La commande suivante remplie 7 fois de suite un périphérique avec des données aléatoires. Autant dire qu'il ne sera plus possible de récupérer quoi que ce soit sur ce périphérique...
for n in `seq 7`; do dd if=/dev/urandom of=/dev/sdc bs=8b conv=notrunc; done dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique 62465+0 enregistrements lus 62464+0 enregistrements écrits 255852544 octets (256 MB) copiés, 37,0691 s, 6,9 MB/s dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique 62465+0 enregistrements lus 62464+0 enregistrements écrits 255852544 octets (256 MB) copiés, 37,1506 s, 6,9 MB/s dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique 62465+0 enregistrements lus 62464+0 enregistrements écrits 255852544 octets (256 MB) copiés, 36,6351 s, 7,0 MB/s dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique 62465+0 enregistrements lus 62464+0 enregistrements écrits 255852544 octets (256 MB) copiés, 36,4881 s, 7,0 MB/s dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique 62465+0 enregistrements lus 62464+0 enregistrements écrits 255852544 octets (256 MB) copiés, 36,4908 s, 7,0 MB/s dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique 62465+0 enregistrements lus 62464+0 enregistrements écrits 255852544 octets (256 MB) copiés, 36,5277 s, 7,0 MB/s dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique 62465+0 enregistrements lus 62464+0 enregistrements écrits 255852544 octets (256 MB) copiés, 36,897 s, 6,9 MB/s
Sauvegarder le MBR d'un disque dur
dd if=/dev/sda of=MBR.image bs=446 count=1 1+0 enregistrements lus 1+0 enregistrements écrits 446 octets (446 B) copiés, 3,0622e-05 s, 14,6 MB/s
Cette commande copiera les 446 premiers octets du disque dur dans un fichier.
Références
Unix DD Command and Image Creation
Lol 8 mars 2011 à 07:09 (CST)
Catégorie:Commandes_de_base