Générateur de commande dd
Construis la commande dd que tu ne retiens jamais tout à fait, avec chaque opérande détaillé et un gros avertissement dès que ta sortie est un vrai device.
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. Choisis un preset pour flasher une ISO sur une clé USB, imager un disque, remettre un disque à zéro ou te tailler un fichier de test vite fait, règle l'entrée, la sortie, le block size, le count et les flags conv, puis copie une commande que tu comprends vraiment. Comme dd ne demande jamais si tu es sûr, l'outil balance un gros avertissement dès que ton of= pointe sur un device brut, et il repère même quand tu as visé une partition au lieu du disque entier. Il passe en revue les opérandes qui piègent du monde, if=, of=, bs=, count=, conv=fsync et status=progress, et liste les tâches courantes côte à côte. Tout tourne dans ton navigateur, donc les chemins et noms de devices que tu tapes ne quittent jamais la page.
100% dans votre navigateur. Rien de ce que vous tapez ne quitte cette page.
générateur de commande dd
Moi, je ne retiens jamais la formule magique de dd. Jamais. Du coup je me suis fabriqué ça pour qu'elle me la crache toute prête. Tu choisis un preset selon ce que tu veux faire (flasher une ISO sur une clé USB, imager un disque, remettre un disque à zéro, te tailler un fichier de test vite fait), tu ajustes l'input, l'output et le block size, puis tu copies une commande avec chaque opérande détaillé, histoire de vraiment savoir à quoi sert chaque morceau. Et comme dd est tout à fait capable de raser un device sans même un petit "t'es sûr ?", l'outil balance un gros avertissement dès que ton output pointe sur l'un d'eux. Aucun serveur derrière tout ça, juste la page elle-même qui fait le boulot sur ta machine.
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.