Table des matières

Effacement rapide d'un stick usb

La plus grande vigilance s'impose ! Toute erreur dans l'application de ces commandes peut compromettre votre système.
Dans ce qui suit, le stick est désigné par /dev/sdx, veuillez utiliser une désignation appropriée à votre situation.

Introduction

Au cous de mes différentes manipulations de lives et d'isos, j'ai souvent besoin d'une clé (plus ou moins) vierge.
Dans certains cas, utiliser les outils de partitionnement fdisk, cfdisk ou sfdisk peut de révéler insatisfaisant.
Une solution consiste à employer la commande dd.

Procédure courante

En général, si les données présentes sur le stick ne sont pas sensibles, on peut se contenter d'effacer le MBR (Master Boot Record) contenant la routine, la table de partitions et la signature :

dd if=/dev/zero of=/dev/sdx bs=512 count=1
retour de la commande
1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés, 0,,00159765 s, 320 kB/s

En remplaçant sdx par le device correspondant au stick.

Le résultat peut être vérifié par :

dd if=/dev/sdx count=1 2>/dev/null | hexdump -C
retour de la commande
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000200

et par :

parted /dev/sdx p
retour de la commande
Error: /dev/sdx: unrecognised disk label
Model: CHIPSBNK v3.3.8.8 (scsi)                                          
Disk /dev/sdx: 2081MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags: 

Cas particulier

Dans certains cas, suivre la procédure classique est insuffisant.

En particulier, lorsque la clé a servi de distribution live, écrite à partir d'une image iso hybride (pour support DVD-R(W), CD-R(W) et clé USB) on constate par exemple :

file -s /dev/sdx
retour de la commande
/dev/sdx: ISO 9660 CD-ROM filesystem data 'sysrcd-4.7.1' (bootable)

Et cette clé peut tout à fait être montée par l'intermédiaire de votre environnement de bureau ou de votre gestionnaire de fichier.
Ainsi, l'arborescence des dossiers et des fichiers est parfaitement lisible.

Un autre obstacle rencontré dans cette situation est l'impossibilité d'installer grub sur la clé :

grub-install --force --no-floppy --boot-directory=/mnt/usb/boot /dev/sdx
retour de la commande
/usr/sbin/grub-setup : erreur :  il semble que hdn contienne un système de fichiers iso9660
qui ne réserve pas de place pour un démarrage de type DOS.
Installer GRUB peut conduire à la DESTRUCTION du système de fichiers si des données valides sont écrasées
par l'installation de grub (--skip-fs-probe désactive ce contrôle, à utiliser à vos risques et périls).

C'est alors que raleur nous informe sur le fofo, merci à lui :-) :

Le descripteur de volume d'un système de fichiers ISO 9660 est situé 32 Kio (64 secteurs de 512 octets sur un disque ou une clé USB, ou 16 secteurs de 2048 octets sur un support optique) après le début du périphérique qui le contient. C'est pourquoi ta commande dd, qui n'efface que le premier secteur, ne l'a pas effacé.
Les premiers 32 Kio sont réservés pour contenir un descripteur de système de fichiers alternatif comme HFS (pour Mac) ou une table de partition comme dans le format des images hybrides de l'installateur Debian.

Et donc, pour effacer les informations du système ISO 9660, il suffit de faire :

dd if=/dev/zero of=/dev/sdx bs=2048 count=1 seek=16
retour de la commande
1+0 enregistrements lus
1+0 enregistrements écrits
2048 octets (2,0 kB) copiés, 0,340696 s, 6,0 kB/s

Et, cette fois-ci, le résultat est :

file -s /dev/sdx
retour de la commande
/dev/sdx: data

Et la clé n'est plus montable. 8-)

Références