dd
100%

Périphériques · Leçon 7

dd

Apprenez comment `dd` copie des flux de blocs et comment éviter les erreurs destructrices de source, destination et taille.

dd copie des données d'un flux d'entrée vers un flux de sortie en appliquant les tailles de blocs et conversions demandées. Elle ne comprend ni les systèmes de fichiers, ni les limites de partitions, ni la valeur des données de la cible. Elle est donc utile pour les images et périphériques bruts, mais immédiatement destructrice si la cible est mauvaise.

Entrée, sortie et taille de bloc

Une commande possède cette forme générale :

$ dd if=input.img of=output.img bs=4M status=progress
  • if= choisit l'entrée ; sans cette option, dd lit l'entrée standard ;
  • of= choisit la sortie ; sans cette option, dd écrit sur la sortie standard ;
  • bs= fixe la taille des blocs d'entrée et de sortie d'une copie ordinaire ;
  • status=progress demande à GNU dd de rapporter périodiquement l'avancement.

dd copie des blocs, pas nécessairement un octet à la fois. Une grande valeur de bs peut réduire le coût des appels système, mais la valeur optimale dépend des périphériques, de l'alignement, du cache et de la charge. Elle ne change pas les données logiques copiées.

Quel opérande choisit la destination écrite par dd ?

Limiter la copie

count= limite le nombre de blocs d'entrée traités. Pour un fichier ordinaire :

$ dd if=source.img of=prefix.img bs=1M count=2 status=progress

Cette commande demande deux blocs d'entrée d'au plus 1 Mio chacun, soit au maximum 2 Mio. Des lectures courtes compliquent cette multiplication pour des flux comme les tubes ; GNU dd fournit iflag=fullblock lorsque des blocs d'entrée complets sont requis. Distinguez les unités binaires et la syntaxe des suffixes selon l'implémentation locale.

Pour un fichier ordinaire, quelle quantité maximale demande bs=1M count=2 ?

Écrire une image vers un périphérique bloc

Une restauration brute peut ressembler à :

$ sudo dd if=backup.img of=/dev/sdX bs=4M status=progress conv=fsync

/dev/sdX est volontairement un espace réservé, pas une commande à recopier. Avant de le remplacer :

  1. Conservez une sauvegarde testée de toutes les données précieuses.
  2. Identifiez la cible par modèle, numéro de série, taille, transport et lien persistant avec lsblk, udevadm ou un équivalent.
  3. Confirmez qu'aucune partition cible n'est montée, utilisée comme swap, intégrée à RAID ou LVM, ou ouverte par un service.
  4. Revérifiez le périphérique après toute déconnexion, tout redémarrage ou changement de topologie.
  5. Assurez-vous que l'image tient et que vous voulez réellement écrire le périphérique entier.

Le périphérique de sortie est écrasé depuis son début. Inverser if et of, choisir le disque système ou utiliser un disque entier lorsqu'une partition était visée peut détruire des données sans confirmation.

Quelle est la raison la plus importante de vérifier modèle, numéro de série, taille et utilisation active avant une écriture brute ?

Créer une image cohérente

Lire un périphérique actif pendant que son système de fichiers change peut produire une image incohérente. Préférez un système non monté, un instantané cohérent avec l'application ou une procédure documentée de gel et d'instantané. Les bases de données et machines virtuelles peuvent exiger leur propre mise au repos.

Une image brute copie les blocs, y compris les métadonnées et régions inutilisées. Elle peut donc être beaucoup plus grande qu'une sauvegarde par fichiers et reproduire des identifiants à modifier avant de monter un clone à côté de l'original.

Pourquoi l'imagerie d'un système monté et en cours de modification peut-elle être peu fiable ?

Achèvement et vérification

Une fin sans erreur d'E/S ne prouve pas que les bonnes source et cible ont été choisies ni que l'image est utilisable. Notez les identités et tailles exactes, assurez-vous que les tampons ont atteint le stockage, comparez une relecture correctement bornée ou des hachages cryptographiques, puis testez la récupération selon le plan de sauvegarde.

Ne présentez pas les passes d'écrasement de dd comme un effacement sûr garanti pour les SSD, les couches de traduction flash, le stockage à allocation fine, les instantanés ou les secteurs remappés. Utilisez la méthode de nettoyage prise en charge par le périphérique et la plateforme, selon une politique explicite de destruction.

Qu'est-ce qu'un état de terminaison nul de dd ne prouve pas à lui seul ?

Leçon terminée

Vous avez terminé dd

Vous savez maintenant raisonner sur dd comme outil de copie brute dépourvu de connaissance de votre intention.

  • Distinguer if, of, bs et count.

  • Vérifier l'identité persistante de la cible et tous ses utilisateurs actifs.

  • Créer des images depuis un état de stockage cohérent.

  • Vider les tampons, vérifier la copie et tester la récupération.

  • Considérer toute sortie vers un périphérique brut comme potentiellement destructive.

Conservez votre progression

Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.

Créer un compte gratuit
Retour à Périphériques