start:parcours_linux:dd
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| start:parcours_linux:dd [2020/05/26 14:38] – [Clef_usb_d'installation|Graver une ISO sur une clef USB] gerardadmin | start:parcours_linux:dd [2025/07/08 18:09] (Version actuelle) – [Références] admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ======== La commande dd ======== | ||
| + | |||
| + | Liens web sur la commande dd : | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Pour pouvoir copier ou modifier une partition, elle ne doit pas être en cours d' | ||
| + | |||
| + | Imaginez que vous cherchiez à copier un livre que l' | ||
| + | |||
| + | |||
| + | |||
| + | == Introduction: | ||
| + | |||
| + | Extrait de la page de man de dd : | ||
| + | |||
| + | "dd copie un fichier (par défaut, depuis l' | ||
| + | |||
| + | Utilisée fréquemment, | ||
| + | Vérifiez toujours bien les commandes deux (trois ?) fois avant de les lancer. | ||
| + | |||
| + | LES COMMANDES QUI SUIVENT PEUVENT VOUS FAIRE PERDRE TOUTES LES INFORMATIONS CONTENUES DANS VOTRE MACHINE SI ELLES NE SONT PAS CONVENABLEMENT UTILISÉES. VOUS ÊTES PRÉVENUS! | ||
| + | |||
| + | ''' | ||
| + | |||
| + | == Syntaxe == | ||
| + | |||
| + | La syntaxe d'une ligne de commandes utilisant dd se présente généralement sous cette forme: | ||
| + | |||
| + | dd if=< | ||
| + | |||
| + | #source = D'où proviennent les données à copier; | ||
| + | #cible = où seront copiées les données traitées par la commande; | ||
| + | #bs = taille des blocs, de puissance 2, par défaut égale à 512 octets; | ||
| + | #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' | ||
| + | #conv = Modifier le fichier comme indiqué par l' | ||
| + | |||
| + | | ||
| + | |||
| + | ===== Exemple : Cloner un disque A sur le B ===== | ||
| + | |||
| + | Imaginons, le disque A est la source et le disque B la destination. | ||
| + | Il faut que B soit égal ou plus grand que A. | ||
| + | |||
| + | Pour cloner direct de disque à disque, on peut toujours utiliser dd : | ||
| + | Copier vers le presse-papierCode BASH : | ||
| + | |||
| + | dd status=progress if=/dev/sda of=/dev/sdb bs=100M | ||
| + | |||
| + | Je mets un BS de 100M pour que ça aille plus vite (testé OK sur un SSD, à adapter sur un HDD) | ||
| + | |||
| + | |||
| + | ==== Copier un disque sur un autre avec le materiel Inateck ==== | ||
| + | |||
| + | {{ : | ||
| + | == Utilisation == | ||
| + | |||
| + | == Copier une partition d'un disque dur vers un partition d'un autre disque dur == | ||
| + | |||
| + | Copie l' | ||
| + | |||
| + | sudo dd if=/dev/sdl of=/dev/sdm bs=8192 conv=notrunc, | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | noerror = Continuer même en cas d' | ||
| + | |||
| + | |||
| + | |||
| + | ==Remarque au sujet de l' | ||
| + | |||
| + | Copier une partition autre vers une partition copie aussi l'UUID puisqu' | ||
| + | Vous vous retrouveriez alors avec deux partitions qui ont le même UUID... | ||
| + | |||
| + | blkid | ||
| + | |||
| + | / | ||
| + | / | ||
| + | |||
| + | Il faut alors modifier l'UUID de la partition copiée pour ne pas avoir de conflit si la partition originale et sa copie sont accessibles au système : | ||
| + | |||
| + | |||
| + | # tune2fs -U random /dev/sdb1 | ||
| + | # blkid | ||
| + | / | ||
| + | / | ||
| + | |||
| + | == Cloner un disque dur en entier == | ||
| + | |||
| + | Copie de l' | ||
| + | |||
| + | #dd if=/dev/sdg of=/dev/sdh conv=noerror | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | Copie de l' | ||
| + | |||
| + | Autre exemple : | ||
| + | sudo dd if=/dev/sdm of=/dev/sdl bs=100M status=progress | ||
| + | |||
| + | == Réaliser un fichier image ISO copie d'un CD-ROM == | ||
| + | |||
| + | #dd if=/dev/sr0 of=/ | ||
| + | |||
| + | 737+0 enregistrements lus | ||
| + | 737+0 enregistrements écrits | ||
| + | | ||
| + | |||
| + | Pour monter le fichier image ISO obtenu : | ||
| + | |||
| + | # mkdir /mnt/cd | ||
| + | # mount -o loop -t iso9660 cd.iso /mnt/cd | ||
| + | |||
| + | Montage permanent par /etc/fstab : | ||
| + | |||
| + | / | ||
| + | |||
| + | == Effacer un lecteur == | ||
| + | |||
| + | **ATTENTION, | ||
| + | |||
| + | 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=/ | ||
| + | |||
| + | dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique | ||
| + | | ||
| + | | ||
| + | | ||
| + | dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique | ||
| + | | ||
| + | | ||
| + | | ||
| + | dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique | ||
| + | | ||
| + | | ||
| + | | ||
| + | dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique | ||
| + | | ||
| + | | ||
| + | | ||
| + | dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique | ||
| + | | ||
| + | | ||
| + | | ||
| + | dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique | ||
| + | | ||
| + | | ||
| + | | ||
| + | dd: écriture de « /dev/sdc »: Aucun espace disponible sur le périphérique | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | == Sauvegarder le chargeur de boot d'un disque dur == | ||
| + | |||
| + | #dd if=/dev/sda of=ChrgBoot.dd bs=440 count=1 | ||
| + | 1+0 enregistrements lus | ||
| + | 1+0 enregistrements écrits | ||
| + | 440 octets (440 B) copiés, 0,000473112 s, 930 kB/s | ||
| + | |||
| + | Cette commande copiera les 440 premiers octets du disque dur dans un fichier. | ||
| + | |||
| + | == Sauvegarder le MBR d'un disque dur == | ||
| + | |||
| + | #dd if=/dev/sda of=MBR.dd bs=512 count=1 | ||
| + | 1+0 enregistrements lus | ||
| + | 1+0 enregistrements écrits | ||
| + | 512 octets (512 B) copiés, 7,4232e-05 s, 6,9 MB/s | ||
| + | |||
| + | Cette commande copiera les 512 premiers octets du disque dur dans un fichier. | ||
| + | |||
| + | |||
| + | == Sauvegarder la table des partitions d'un disque dur == | ||
| + | |||
| + | $ dd if=/dev/sda of=TablePart.dd bs=64 count=1 skip=446 | ||
| + | 1+0 enregistrements lus | ||
| + | 1+0 enregistrements écrits | ||
| + | 64 octets (64 B) copiés, 0,000558829 s, 115 kB/s | ||
| + | |||
| + | Cette commande copiera les 512 premiers octets du disque dur dans un fichier. | ||
| + | |||
| + | pour restaurer la table de partition | ||
| + | |||
| + | dd if=TablePart.dd of=/dev/sda bs=64 count=1 seek=446 | ||
| + | 64+0 enregistrements lus | ||
| + | 64+0 enregistrements écrits | ||
| + | 64 octets (64 B) copiés, 0,00132602 s, 48,3 kB/s | ||
| + | |||
| + | Cette commande copiera la table des partitions contenue dans le fichier ''' | ||
| + | |||
| + | == Sauvegarder un disque dur ou une partition dans une image compressée == | ||
| + | |||
| + | La ligne de commandes suivante permet de créer un fichier compressé, qui pourra être utilisé pour restaurer la partition " | ||
| + | (peu importe le type de partition) | ||
| + | |||
| + | #dd if=/ | ||
| + | |||
| + | Dans cette ligne de commandes, le programme " | ||
| + | Le flux de sortie du programme " | ||
| + | " | ||
| + | Si le fichier "/ | ||
| + | Pour restaurer la partition ainsi sauvegardée faire : | ||
| + | |||
| + | #gzip -cd / | ||
| + | |||
| + | Dans cette commande, le programme " | ||
| + | Le flux de sortie du programme " | ||
| + | La sortie (of=) du programme " | ||
| + | et le contenu de cette partition sera écrasé et remplacé par le contenu du fichier sauvegardé par la ligne de commandes précédente. | ||
| + | |||
| + | ==== Clef_usb_d' | ||
| + | |||
| + | === Commande dd avec barre de defillement === | ||
| + | |||
| + | (PV -n image.iso | dd off=/ | ||
| + | |||
| + | |||
| + | == Références == | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
