====== Effacement rapide d'un stick usb ======
* Objet : raz rapide d'une clé usb au format MBR
* Niveau requis : {{tag>avisé}}
**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 [[doc:systeme:fdisk|fdisk]], [[doc:systeme:cfdisk|cfdisk]] ou [[doc:systeme:sfdisk|sfdisk]] peut de révéler insatisfaisant.\\
Une solution consiste à employer la [[doc:systeme:dd|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
1+0 enregistrements lus
1+0 enregistrements écrits
512 octets (512 B) copiés, 0,,00159765 s, 320 kB/s
En remplaçant //sd**x**// 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
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200
et par :
parted /dev/sdx p
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
/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
/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 [[https://debian-facile.org/viewtopic.php?pid=166047#p166047 | 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
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
/dev/sdx: data
Et la clé n'est plus montable. 8-)
===== Références =====
* [[https://fr.wikipedia.org/wiki/Master_boot_record | Master boot record]] (fr)
* [[https://en.wikipedia.org/wiki/ISO_9660 | ISO 9660]] (fr)
* [[https://fr.wikipedia.org/wiki/GUID_Partition_Table | GUID Partition Table]] (fr)