Générateur de commande dd
Construisez la commande dd pour la tâche que vous avez en tête, avec chaque opérande expliqué et un avertissement clair dès que votre sortie est un vrai device.
Ce générateur de commande dd construit la ligne dd exacte pour la tâche que vous avez en tête, puis explique chaque opérande en français clair avant que vous la lanciez. Choisissez un preset pour flasher une ISO sur une clé USB, imager un disque, remettre un disque à zéro ou créer un fichier de test rapide, réglez l'entrée, la sortie, le block size, le count et les flags conv, puis copiez une commande que vous comprenez vraiment. Comme dd ne demande jamais de confirmation, nous affichons un avertissement clair dès que votre of= pointe sur un device brut, et nous signalons quand vous avez visé une partition au lieu du disque entier. Nous passons en revue les opérandes qui posent problème, if=, of=, bs=, count=, conv=fsync et status=progress, et listons les tâches courantes côte à côte. Tout tourne dans votre navigateur, rien de ce que vous saisissez n'est envoye.
100% dans votre navigateur. Rien de ce que vous tapez ne quitte cette page.
générateur de commande dd
Ce générateur de commande dd construit la ligne exacte pour la tâche que vous avez en tête, puis explique chaque opérande avant que vous la lanciez. Choisissez un preset (flasher une ISO sur une clé USB, imager un disque, remettre un disque à zéro ou créer un fichier de test), réglez l'entrée, la sortie et le block size, puis copiez une commande dont vous comprenez chaque morceau. Comme dd écrase un device sans vous demander de confirmation, nous affichons un avertissement clair dès que votre sortie pointe sur l'un d'eux, et nous signalons quand vous avez visé une partition au lieu du disque entier. Tout tourne dans votre navigateur, rien de ce que vous saisissez n'est envoye.
of= sur le mauvais device et c'est fini. Instantanément. Pas de prompt, pas de corbeille. Tu ne le récupères pas. Alors avant de lancer quoi que ce soit, dégaine lsblk ou diskutil list et fixe cette lettre de device jusqu'à être vraiment certain que c'est la bonne. Si on l'appelle "disk destroyer", ce n'est pas pour rigoler.lsblk sous Linux, diskutil list sous macOS. La clé USB que tu viens de brancher se retrouve presque toujours tout en bas de la liste. Et /dev/sda, c'est le disque principal sur la plupart des machines, alors laisse-le tranquille sauf si effacer ton disque système est vraiment ce que tu veux faire.Ce que fait ce générateur de commande dd
Ce générateur de commande dd construit la ligne dd exacte pour le travail que tu as en tête, puis t'explique chaque opérande en français clair avant que tu lances. Ce que fait dd, c'est bête et puissant à la fois. Il copie des octets bloc par bloc entre fichiers et devices, en traitant tout un disque comme un long flux de rien de particulier. C'est pour ça qu'il peut écrire une USB bootable ou cloner une partition brute là où une simple copie de fichier hausse les épaules et abandonne. Et c'est exactement pour la même raison qu'une seule faute de frappe dans le chemin de sortie peut aplatir le mauvais disque avant même que tu aies fini de cligner des yeux. Donc l'outil construit la commande à partir de presets et de champs étiquetés et explique chaque opérande. Quand la cible a l'air dangereuse, il s'allume. Ensuite c'est à toi de revérifier le device avant de lancer.
dd n'utilise pas des flags à tirets comme le reste de l'univers, et rien que ça, ça piège du monde. C'est operand=value du début à la fin. if= c'est ce que tu lis, of= c'est ce sur quoi tu écris, bs= fixe le block size, count= plafonne le nombre de blocs copiés. Prends la ligne classique de flashage USB, dd if=image.iso of=/dev/sdX bs=4M status=progress conv=fsync. Ça lit l'ISO, l'écrit directement sur le device brut par paquets de 4 Mo, affiche la progression au fil de l'eau, puis force le cache à se vider à la fin pour que tu n'arraches pas la clé trop tôt et que tu ne corrompes pas le tout.
Les opérandes qui comptent
| Opérande | Signification |
|---|---|
if= | Fichier ou device en entrée, celui qu'on lit. Utilise /dev/zero pour des zéros, /dev/urandom pour des données aléatoires. |
of= | Fichier ou device en sortie, celui sur lequel on écrit. Le dangereux : un chemin de device ici sera écrasé. |
bs= | Block size de chaque lecture et écriture. Des blocs plus gros (1M, 4M) sont bien plus rapides pour le travail sur un disque entier. |
count= | Nombre de blocs à copier. À combiner avec bs pour limiter la taille totale, par ex. bs=1M count=1024 donne 1 Go. |
status=progress | Affiche une ligne de progression en direct. Sinon dd reste muet jusqu'à la fin. |
conv=fsync | Vide toutes les données vers le device avant de sortir, pour que l'écriture soit réellement terminée. |
Les tâches courantes
- Flasher une ISO sur une USB :
dd if=linux.iso of=/dev/sdX bs=4M status=progress conv=fsync. Démonte la clé d'abord. Vise le device entier (/dev/sdb), jamais une partition (/dev/sdb1). C'est celle que j'utilise le plus, et de loin. - Sauvegarder un disque dans un fichier image :
dd if=/dev/sda of=backup.img bs=64K status=progress. Tu veux le récupérer plus tard ? Inverse if et of et te voilà en train de restaurer. - Remettre un disque à zéro :
dd if=/dev/zero of=/dev/sdX bs=1M status=progress. Parfait pour un vieux disque mécanique. Sur un SSD par contre, honnêtement je laisserais tomber dd pour passer àblkdiscardou au secure-erase intégré du disque, c'est plus rapide et plus doux pour la flash. Je suis peut-être trop prudent là-dessus, mais je préfère ne pas cramer des cycles d'écriture pour rien. - Créer un fichier de test ou de swap :
dd if=/dev/zero of=test.img bs=1M count=1024te file un fichier de 1 Go en quelques secondes.
Comment ne pas détruire le mauvais disque
Toutes les histoires d'horreur avec dd que j'ai entendues finissent pareil. Le mauvais device dans of=. Alors fais-en un réflexe : lance lsblk (Linux) ou diskutil list (macOS) juste avant de tirer, puis fais correspondre la taille et le modèle au disque que tu veux vraiment toucher. Sous Linux, ton disque système est presque toujours /dev/sda ou /dev/nvme0n1. La clé USB que tu viens de brancher attrape la prochaine lettre libre, en général quelque chose comme /dev/sdb ou /dev/sdc. Ne pointe pas dd sur un device en root tant que tu n'as pas vérifié ce chemin de tes propres yeux. Un sudo et une lettre tapée de travers, ça suffit largement pour effacer un disque en parfaite santé.
Confidentialité et fonctionnement de cet outil
Tout le travail se passe en JavaScript, ici même dans ton navigateur. Les chemins et noms de devices que tu tapes ne partent nulle part, et rien n'est enregistré. Moi je ne les vois pas. Personne ne les voit. Une fois la page chargée, tu peux débrancher le câble réseau et ça continuera de ronronner sans souci.
Questions fréquentes
Comment écrire une ISO sur une clé USB avec dd ?
Lance dd if=image.iso of=/dev/sdX bs=4M status=progress conv=fsync et remplace /dev/sdX par ce que ta clé USB affiche dans lsblk. Démonte-la d'abord, mais ne l'éjecte pas. Tu as encore besoin du node de device. Vise le device entier, jamais une partition. Et attends que conv=fsync ait fini de vider le cache avant de retirer la clé. Tu la retires trop tôt et il te reste une image écrite à moitié et un après-midi gâché.
Quel block size utiliser ?
Pour tout ce qui touche à un disque entier ou à une USB, vois grand. bs=4M tourne autour du minable défaut de 512 octets. Quand il te faut une taille exacte, prends un bloc qui divise proprement, comme bs=1M count=1024 pour un joli 1 Go. Il n'y a pas de nombre magique ici, franchement. N'importe quoi entre 1M et 4M convient sur quasiment tout le matériel que tu croiseras aujourd'hui. Moi je laisse sur 4M et j'arrête d'y penser.
À quoi sert conv=fsync et en ai-je besoin ?
Voilà le piège. Sans lui, dd te dira gaiement qu'il a terminé alors qu'un bout de tes données traîne encore dans le write cache du kernel. conv=fsync force tout sur le device physique avant que dd sorte, comme ça terminé veut vraiment dire terminé. Moi je l'ajoute toujours pour les supports amovibles. C'est toute la différence entre une clé nickel et une que tu as discrètement corrompue en la retirant deux secondes trop tôt.
Comment voir la progression pendant que dd tourne ?
Ajoute simplement status=progress si tu es sur GNU coreutils 8.24 ou plus récent, ce qui correspond à peu près à tout ce qui sort aujourd'hui. Coincé sur un truc vraiment antique ? Ouvre un second terminal et titille le processus avec kill -USR1 contre le pid de dd. Ça pousse dd à recracher une ligne de progression ponctuelle. Ça vaut mieux que de fixer un curseur figé en te demandant si le truc a planté ou s'il bosse juste.
Quelle est la différence entre /dev/sdb et /dev/sdb1 ?
Vois /dev/sdb comme le disque entier et /dev/sdb1 comme la première pièce à l'intérieur. Pour une ISO bootable tu veux le disque entier, parce que c'est la seule façon que la table des partitions et le boot sector soient écrits eux aussi. Tu copies juste un seul système de fichiers ? Alors une partition fait l'affaire, vas-y. Mais flashe une ISO sur une partition et tu te retrouveras presque à coup sûr avec une clé qui refuse de booter.