Code source wiki de Effacer la signature d'un périphérique avec wipefs
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Effacer la signature d'un périphérique avec wipefs = | ||
| 2 | |||
| 3 | Un disque dur ou une clé USB ayant déjà eu une vie antérieure (ancien système installé, ancienne image disque au format ISO gravée) peut conserver des signatures résiduelles invisibles dans GParted : reste de table de partitions, reste de système de fichiers. Ces signatures peuvent provoquer des comportements indésirables : installation refusant de démarrer, périphérique impossible à repartitionner, partition détectée comme "inconnue" alors qu'elle a bien été créée. | ||
| 4 | |||
| 5 | Cette page décrit la méthode de diagnostic et de nettoyage, avec //wipefs//, applicable à tout périphérique de stockage, quelle que soit son origine. Pour un cas détaillé de scorie GPT sur un disque dur interne, voir la page [[Installation Linux en échec causé par une scorie GPT>>Trucs et astuces.Installation Linux en échec causé par une scorie GPT]]. | ||
| 6 | |||
| 7 | == Un cas concret avec une clé USB == | ||
| 8 | |||
| 9 | Une clé USB de 7,25 Go refusait de se laisser reformater depuis GParted, en vue d'y installer Ventoy. Cette clé avait été préparée en amont avec ##Balena Etcher## pour démarrer sur une image Live d'une distribution Linux. Le même type de blocage peut survenir avec une clé préparée via ##dd## ou ##Gnome Disks##, ces outils écrivant l'image bit à bit sur le périphérique, reproduisant ainsi le format ISO9660 de l'image disque. | ||
| 10 | |||
| 11 | == Démarche, dans l'ordre == | ||
| 12 | |||
| 13 | === 1. Identifier le périphérique === | ||
| 14 | |||
| 15 | On identifie le périphérique, pour s'assurer de réaliser les opérations qui suivront sur la bonne cible. | ||
| 16 | |||
| 17 | En simple utilisateur : | ||
| 18 | |||
| 19 | {{code language="bash"}} | ||
| 20 | lsblk | ||
| 21 | {{/code}} | ||
| 22 | |||
| 23 | === 2. Démonter toutes les partitions du périphérique === | ||
| 24 | |||
| 25 | Avant toute manipulation, il faut s'assurer qu'aucune partition du périphérique n'est encore montée. | ||
| 26 | |||
| 27 | |||
| 28 | Avec les droits administrateur : | ||
| 29 | |||
| 30 | {{code language="bash"}} | ||
| 31 | umount /dev/sdX* | ||
| 32 | {{/code}} | ||
| 33 | |||
| 34 | Où ##/dev/sdX## est à adapter, en fonction de ce que ##lsblk## aura trouvé. | ||
| 35 | |||
| 36 | |||
| 37 | Vérifier qu'il ne reste rien de monté : | ||
| 38 | |||
| 39 | {{code language="bash"}} | ||
| 40 | mount | grep sdX | ||
| 41 | {{/code}} | ||
| 42 | |||
| 43 | |||
| 44 | Si une partition apparaît encore montée, la démonter explicitement (en remplaçant le numéro par celui concerné) : | ||
| 45 | |||
| 46 | {{code language="bash"}} | ||
| 47 | umount /dev/sdX1 | ||
| 48 | {{/code}} | ||
| 49 | |||
| 50 | {{info}} | ||
| 51 | Si le périphérique est signalé comme "busy" lors du démontage ou d'une étape suivante, un processus l'utilise encore. Pour l'identifier : | ||
| 52 | |||
| 53 | {{code language="bash"}} | ||
| 54 | lsof /dev/sdX* | ||
| 55 | fuser -v /dev/sdX* | ||
| 56 | {{/code}} | ||
| 57 | {{/info}} | ||
| 58 | |||
| 59 | === 3. Vérifier le type de table de partition et la présence de signatures === | ||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | Avec les droits administrateur : | ||
| 64 | |||
| 65 | {{code language="bash"}} | ||
| 66 | blkid -p /dev/sdX | ||
| 67 | {{/code}} | ||
| 68 | |||
| 69 | Où ##/dev/sdX## est à adapter, en fonction de ce que ##lsblk## aura trouvé. | ||
| 70 | |||
| 71 | |||
| 72 | L'option ##-p## force une sonde de bas niveau (//low-level probe//), qui relit le périphérique directement plutôt que de se fier au cache du système. C'est déterminant ici : une clé préparée avec ##dd## peut conserver des informations mises en cache par udev/blkid qui ne correspondent plus à la réalité une fois la clé réutilisée. Cette commande révèle typiquement plusieurs signatures superposées ou contradictoires (par exemple une signature ISO9660 issue de l'image ISO de la distribution, en plus d'une éventuelle table de partitions). | ||
| 73 | |||
| 74 | |||
| 75 | === 4. Confirmer via wipefs, en mode lecture seule === | ||
| 76 | |||
| 77 | Avec les droits administrateur : | ||
| 78 | |||
| 79 | {{code language="bash"}} | ||
| 80 | wipefs /dev/sdX | ||
| 81 | {{/code}} | ||
| 82 | |||
| 83 | Liste toutes les signatures connues du noyau sur l'ensemble du périphérique (table de partitions, systèmes de fichiers, RAID…), avec leur position (offset - la **position en octets** d'une signature à l'intérieur du périphérique, comptée depuis le secteur 0). Cette étape permet de voir précisément ce qui doit être effacé, avant de le faire. | ||
| 84 | |||
| 85 | |||
| 86 | === 5. Effacer toutes les signatures résiduelles === | ||
| 87 | |||
| 88 | |||
| 89 | En mode administrateur : | ||
| 90 | |||
| 91 | {{code language="bash"}} | ||
| 92 | wipefs -a /dev/sdX | ||
| 93 | {{/code}} | ||
| 94 | |||
| 95 | Comme précédemment, ##/dev/sdX## est à adapter, en fonction de ce que ##lsblk## aura trouvé. | ||
| 96 | |||
| 97 | L'option ##-a## efface toutes les signatures trouvées à l'étape précédente, sur l'ensemble du périphérique — pas seulement celles visibles dans une table de partitions active. C'est cette étape qui résout le conflit à l'origine de l'échec de formatage dans GParted. | ||
| 98 | |||
| 99 | |||
| 100 | {{info}} | ||
| 101 | ##wipefs -a## est préférable à un ##dd if=/dev/zero of=/dev/sdX## à l'aveugle : ce dernier écrase l'intégralité du périphérique (plus lent, plus risqué si le ##count## n'est pas maîtrisé), alors que ##wipefs## cible précisément les signatures identifiées, où qu'elles soient sur le disque, y compris une signature de fin de disque, comme dans le cas de la scorie GPT évoqué plus haut. | ||
| 102 | {{/info}} | ||
| 103 | |||
| 104 | |||
| 105 | === 6. Forcer le noyau à relire la table de partitions === | ||
| 106 | |||
| 107 | En mode administrateur : | ||
| 108 | |||
| 109 | {{code language="bash"}} | ||
| 110 | partprobe /dev/sdX | ||
| 111 | {{/code}} | ||
| 112 | |||
| 113 | Sans cette étape, le système peut continuer à afficher un état en cache lors de la vérification suivante, plutôt que l'état réel du périphérique après nettoyage. | ||
| 114 | |||
| 115 | |||
| 116 | === 7. Vérifier que le nettoyage est effectif === | ||
| 117 | |||
| 118 | En mode administrateur : | ||
| 119 | |||
| 120 | {{code language="bash"}} | ||
| 121 | blkid -p /dev/sdX | ||
| 122 | {{/code}} | ||
| 123 | |||
| 124 | ##/dev/sdX## est toujours à adapter. | ||
| 125 | |||
| 126 | Ne doit plus rien renvoyer (ou uniquement les informations génériques du périphérique lui-même) : signe que le support est reparti sur une base saine. | ||
| 127 | |||
| 128 | === 8. Repartitionner === | ||
| 129 | |||
| 130 | |||
| 131 | |||
| 132 | À ce stade, GParted peut créer une nouvelle table de partitions et une partition (ext4, exfat…) sans ambiguïté. | ||
| 133 | |||
| 134 | {{info}} | ||
| 135 | Si l'objectif final est d'installer Ventoy sur la clé : il est recommandé de créer la table de partitions avec GParted **avant** de lancer l'installeur Ventoy, plutôt que de le laisser gérer seul le disque entier. Cela permet de choisir explicitement MS-DOS ou GPT selon la machine cible, utile par exemple, face à un BIOS/UEFI hybride qui n'accepte de démarrer qu'avec une table MS-DOS. Ventoy propose par ailleurs sa propre option pour ce choix (##-g## pour GPT, MBR par défaut) ; voir la documentation sur [[ventoy.net>>https://ventoy.net]] et dans le README du programme, pour les détails d'installation. | ||
| 136 | {{/info}} | ||
| 137 | |||
| 138 | (% class="wikigeneratedid" %) | ||
| 139 | |||
| 140 | |||
| 141 | == À retenir == | ||
| 142 | |||
| 143 | Que ce soit un disque dur interne ayant connu une vie antérieure sous GPT/UEFI, ou une clé USB préparée avec dd, Balena Etcher ou Gnome Disks, le symptôme se ressemble : un périphérique qui refuse de coopérer alors que GParted n'y voit rien d'anormal. Le réflexe est le même dans tous les cas : démonter, diagnostiquer avec ##blkid -p## et ##wipefs##, puis nettoyer avec ##wipefs -a## sur l'ensemble du périphérique, avant de reconstruire une table de partitions saine. | ||
| 144 | |||
| 145 |