DiskPart : comment nettoyer une clé USB, un SSD ou un HDD sous Windows

DiskPart : comment nettoyer une clé USB, un SSD ou un HDD sous Windows

Simple comme bonjour

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

17/12/2020 4 minutes
29

DiskPart : comment nettoyer une clé USB, un SSD ou un HDD sous Windows

Parfois, il est nécessaire de remettre à zéro un périphérique de stockage, d'effacer tout ce qu'il contient. On cherche alors à se débarrasser aussi bien de ses fichiers que de ses partitions. Sous Windows, il existe un outil prévu à cet effet : DiskPart. On vous explique comment l'utiliser.

Si vous « bidouillez » régulièrement sur votre PC et différents OS, vous avez sans doute déjà rencontré ce cas où une clé USB, un HDD ou un SSD est inutilisable parce qu'il a été formaté de manière particulière ou incorrecte pour telle ou telle raison. Pour s'en sortir, il faut le plus souvent faire le ménage... par le vide.

Gérer ses partitions sous Windows, en GUI... 

Sous Windows, un outil permet de gérer les périphériques de stockage et leur formatage, l'outil de gestion des disques (diskmgmt.msc). On peut y accéder en tapant son nom dans le menu démarrer ou en sélectionnant « Gérer » dans le menu contextuel apparaissant après un clic droit sur « Ce PC » dans l'Explorateur de fichiers.

Gestionnaire de disques Windows 10

Il permet de voir et de gérer, dans une interface graphique (GUI), les partitions qui composent un périphérique de stockage. Il s'agit pour rappel de blocs de données pouvant être formatés selon différents systèmes de fichiers (FAT, FAT32, NTFS, exFAT sous Windows 10).

Il constituent alors des lecteurs auxquels on attribue une lettre (C:, D:, E:, etc.). Plusieurs peuvent être présents au sein d'un même périphérique. Mais cet outil n'est pas le plus utile pour tout nettoyer. Pour cela, on utilise plutôt DiskPart en ligne de commandes (CLI). N'ayez crainte, c'est assez simple.

... ou en CLI

Là aussi, il suffit de taper le nom du programme dans le menu Démarrer ou dans un invite de commandes (cmd). Il vous sera demandé les droits administrateurs, nécessaires pour gérer les partitions des périphériques de stockage. On commence d'ailleurs par afficher la liste de ces derniers :

list disk

Dans notre cas cela donne le résultat suivant :

DiskPart Liste
Nos trois périphériques vus par DiskPart

On peut ainsi voir que notre machine se compose de trois périphériques, chacun avec sa propre taille : 931 Go, 238 Go et 7 537 Mo. C'est le numéro 2 qui nous intéresse : il s'agit d'une clé USB que nous voulons nettoyer pour y créer une unique partition NTFS afin d'y stocker des données. Pour cela, nous sélectionnons la clé :

select disk 2

On supprime tout ce qu'elle contient :

clean

Elle est désormais vide, ce qui est suffisant pour certains outils comme ceux permettant de transférer une image ISO. Vous n'avez donc pas forcément à aller plus loin.

Si vous voulez pouvoir y placer des fichiers, il faut créer une première partition, dite primaire :

create partition primary

On la formate en NTFS avec la méthode rapide :

format fs=ntfs quick

Si aucune lettre ne lui a été assignée automatiquement, vous pouvez le demander :

assign

Voilà, votre périphérique de stockage est comme neuf, prêt à l'emploi. Si vous rencontrez des problèmes, c'est peut-être que l'appareil est endommagé et qu'il faut soit tenter de le réparer logiciellement, soit en changer. Vous trouverez plus de détails sur DiskPart dans son aide en tapant help ou dans la documentation de Microsoft.

DiskPart Formatage
La procédure de nettoyage complète, quelques commandes suffisent

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Gérer ses partitions sous Windows, en GUI... 

... ou en CLI

Fermer

Commentaires (29)


À noter que DiskPart peut aussi servir à passer un disque ou un volume NTFS en lecture seule, ce qui peut être très utile pour un disque dur externe dont on ne veut pas modifier le contenu (dans le cadre d’un archivage, par exemple), comme explicité dans ce guide.



Une fois remonté, un tel volume ne permettra plus : le formatage, la suppression de fichiers ou dossiers, ni même leur simple renommage. Et on ne pourra pas en créer non plus.



Seul bémol : le disque sera verrouillé en lecture seule sous Windows, mais restera pleinement accessible en lecture-écriture sous Linux (qui ne tient pas compte des droits d’accès NTFS : sous Linux, un volume NTFS est intégralement en chmod 777 forcé)…






Et on ne rappellera jamais assez que DiskPart est un outil aussi puissant que dangereux, s’il est mal utilisé.


Tiens je viens de faire presque la même chose sur un mac pour une clé formatée en installeur Linux, l’utilitaire graphique ne voulait rien entendre donc :



sudo fdisk -i -a dos /dev/disk2

# -i: initialize disk with new MBR
# -a: auto-partition with the given style
# dos Entire disk as one DOS partition

Quand est-ce que MS se débarrassera des lettres de lecteurs. J’ai déjà eu des soucis pour monter une simple clé USB car la lettre assignée à la clé était déjà prise par un autre lecteur.


Sans oublier les merdes pour les développeurs… C’est juste une horreur la gestion des disques (comprendre “systèmes de fichiers montés”).


Salamandar

Sans oublier les merdes pour les développeurs… C’est juste une horreur la gestion des disques (comprendre “systèmes de fichiers montés”).


La magie de la legacy :D


David_L

La magie de la legacy :D


Non, c’est même pas une histoire de legacy, juste d’organisation. Un lecteur de carte sd sera visible comme un disque même si il n’y a pas de carte sd dedans par exemple.


tiens ça tombe bien, j’ai retrouvé une clé USB promotionnelle de… 9Mo. :mdr:
en fait il s’agit d’une clé de 2Go en lecture seule.
le souci c’est que j’ai pas réussi via diskpart à la débloquer, et que Google est plein de techniques de nerds à coup de sites russes pour récupérer 17 versions d’un logiciel de flashage de firmware chinois…
alors je sais bien que c’est pas trop le lieu pour m’épancher sur mes petits problèmes existentiels, mais je me dis que quelqu’un a peut-être une technique éprouvée.



j’ai plus l’âge de passer des plombes à geeker pour gratter 2Go, en fait (et surtout risquer de choper une merde en téléchargeant des zip foireux sur des sites chelous). :transpi:



(quote:1844316:Trit’)
Et on ne rappellera jamais assez que DiskPart est un outil aussi puissant que dangereux, s’il est mal utilisé.




Je confirme, surtout quand on sélectionne le mauvais disk :)



Je m’en servais pas mal à l’époque via des petits scripts, et une cmd “diskpart -s fichier.txt” avec toutes les commandes à la suite dans le fichier texte, et couplé a une commande Dism derrière pour redescendre une image et une autre pour reconstruire le boot.



Sinon pour convertir un disque MBR en GPT, c’est plus facile via Diskpart que via la GUI je trouve.


hdparm devrait faire l’affaire



(quote:1844316:Trit’)
Seul bémol : le disque sera verrouillé en lecture seule sous Windows, mais restera pleinement accessible en lecture-écriture sous Linux (qui ne tient pas compte des droits d’accès NTFS : sous Linux, un volume NTFS est intégralement en chmod 777 forcé)…




Pas forcément, tu peux choisir.




David_L a dit:


La magie de la legacy :D




Quand j’ai lu le titre de l’article, j’ai pensé au vrai nettoyage de la clé, l’effacement des données. Sous Linux c’est facile avec un “dd if=/dev/zero of=/dev/sdX bs=1M status=progress” (ça va plus vite en précisant une taille de bloc bien plus grosse que les 512 octets pas défaut, le paramètre “bs”).




(quote:1844342:De Compet)
hdparm devrait faire l’affaire




Sous Linux, “hdparm” sert à régler des paramètres sur un disque dur ATA/SATA, ou éventuellement à tester la vitesse de lecture (hdparm -t /dev/sda). Il ne sert pas à formater ou à effacer des données (ou alors je n’ai jamais fait attention).



OlivierJ a dit:


Quand j’ai lu le titre de l’article, j’ai pensé au vrai nettoyage de la clé, l’effacement des données. Sous Linux c’est facile avec un “dd if=/dev/zero of=/dev/sdX bs=1M status=progress”




Avec un SSD, on peut aussi faire plus simple, blkdiscard /dev/sdX pour tout le disque, ou blkdiscard /dev/sdXY pour une partition. C’est d’ailleurs plutôt indispensable de le faire même après un effacement avec dd, sous peine d’avoir des problèmes de performances ensuite.


Je ne crois pas que blkdiscard efface les données, c’est plutôt une sorte de “trim” à ce que je lis sur la page de “man”. Il y a cependant une option “-z” / “–zeroout” qui dit remplir avec des zéros plutôt que de faire le “discard”.



OlivierJ a dit:


Je ne crois pas que blkdiscard efface les données, c’est plutôt une sorte de “trim” à ce que je lis sur la page de “man”. Il y a cependant une option “-z” / “–zeroout” qui dit remplir avec des zéros plutôt que de faire le “discard”.




Ca dépend de l’implémentation du disque et du niveau d’effacement que tu veux. Sur les SSD où je l’ai fait, la table des partitions apparaissait supprimée immédiatement après, et un hexdump des 512 premiers octets renvoyait des 0.



Cependant je n’ai pas vérifié que le reste du SSD renvoyait des 0. Et même si c’est le cas, des bribes des anciennes données pourraient réapparaître au hasard dans les blocs écrits partiellement. Ca m’a semblé être suffisant pour l’objectif de cet article.



Si on veut vraiment ne laisser aucune trace, alors oui le dd s’impose. Mais il faut quand-même le blkdiscard après, sinon le SSD se croira plein suite au dd, et les performances ne seront pas au top, voire mauvaises.



Thorgalix_21 a dit:


Quand est-ce que MS se débarrassera des lettres de lecteurs. J’ai déjà eu des soucis pour monter une simple clé USB car la lettre assignée à la clé était déjà prise par un autre lecteur.




Y’a 5 ans, quand ils ont commencé le powershell.
Et il y a des scripts qui déplacent les clefs USB qui se foutent sous les lettres réseaux.


Diskpart peut dépanner quand on doit booter et manipuler des partitions depuis le DVD ou une clef de dépannage !


J’ai une petite préférence pour Gparted. Plus simp’ pour moi ^^



Thorgalix_21 a dit:


Quand est-ce que MS se débarrassera des lettres de lecteurs. J’ai déjà eu des soucis pour monter une simple clé USB car la lettre assignée à la clé était déjà prise par un autre lecteur.




Ca s’est facile à répondre: quand tu ne pourras plus stocker sur ton ordi, tu pourras choisir entre One drive (perso), One drive (pro), Sharepoint (pro), google drive (perso), …
Et donc plus de C, D (pardon, windows 10 propose encore A:\ comme lecteur par défaut quand on cherche un driver???)



(reply:1844316:Trit’)




Est-il possible de le repasser en RW par la suite depuis Windows ? Ou le disque est vraiment verrouillé pour les OS de MS ?



Si ce n’est pas possible, est-il possible de faire l’opération inverse depuis Linux ?


Bien sûr qu’on peut le repasser ensuite en RW : c’est juste un attribut à changer dans DiskPart (indiqué dans le guide de mon lien, au passage).



Quant à faire ça depuis Linux, non. Mais comme j’ai dit : ça ne le concerne pas (en tout cas, pas si tu branches le disque et qu’il est monté avec GVFS, et qu’il n’est pas déclaré dans /etc/fstab, où je n’ai mis que les partitions du disque système). Donc, tu peux y accéder en RW depuis Linux, même s’il est en RO pour Windows.


Je ne me sers de Diskpart que pour préparer une clef d’installation de Windows et régler les problèmes GPT/MBR ^^’
Pour le reste, je trouve l’outil “Gestion de l’ordinateur” et sa section “gestion des disques” assez pratique.



(quote:1844397:brice.wernet)
Ca s’est facile à répondre: quand tu ne pourras plus stocker sur ton ordi, tu pourras choisir entre One drive (perso), One drive (pro), Sharepoint (pro), google drive (perso), … Et donc plus de C, D (pardon, windows 10 propose encore A:\ comme lecteur par défaut quand on cherche un driver???)




Dis pas de sottise, tout ne peut pas encore se faire en ligne, il faut bcp de BP, de très faible latence ( ms) et une disponibilité de 150%, c’est pas pour demain encore.




patos a dit:


Y’a 5 ans, quand ils ont commencé le powershell. Et il y a des scripts qui déplacent les clefs USB qui se foutent sous les lettres réseaux.




Set-Location ? si c’ets ça, ca fait bizarre d’accéder au registre ou au magasin de certificat comme un simple point de montage, mais c’est trop pratique!



tifounon a dit:


Dis pas de sottise, tout ne peut pas encore se faire en ligne, il faut bcp de BP, de très faible latence ( ms) et une disponibilité de 150%, c’est pas pour demain encore.




C’était pas Trolldi? Et c’est bien pour ça que j’ai ajouté la remarque sur Windows 10 et le lecteur A:




Vaark a dit:


Je ne me sers de Diskpart que pour préparer une clef d’installation de Windows et régler les problèmes GPT/MBR ^^




Je l’ai aussi utilisé pour effacer des partitions que le gestionnaire de disque ne voulait pas afficher (notamment sur des images cartes SD pour RPI)


Ah mince, j’ai pas fait gaffe au jour ^^



OlivierJ a dit:


Sous Linux c’est facile avec un “dd if=/dev/zero of=/dev/sdX bs=1M status=progress” (ça va plus vite en précisant une taille de bloc bien plus grosse que les 512 octets pas défaut, le paramètre “bs”).




Cette commande que tu relis 78 fois et par 15 autres collègues avant de la lancer sur un serveur un peu sensible.


Bon bein cool DiskPart !
Je viens de récupérer 2 clés usb de 64 Go.
Une à laquelle je ne pouvait plus accéder et une qui affichait 30 Go !
Merci David.
Bonne fêtes tout particulièrement à toute l’équipe de NextImpact et à tous plus généralement.
Souhaitons que l’année 2021 soit plus “excitante” que 2020 ! Pfff Quelle année de merde !
Cheese !



tifounon a dit:


Set-Location ? si c’ets ça, ca fait bizarre d’accéder au registre ou au magasin de certificat comme un simple point de montage, mais c’est trop pratique!




Non mais c’est super pratique ça aussi. Tu peux naviguer dans des volumes, dans la base de registres, dans un accès webdav, dans un serveur SQL ( ! ) , dans les volumes distants d’un client monté à travers une pssession… Les possibilités sont folles.



Moi je te parlais d’un petit script, avec get-smbmapping, get-volume, get-partition et set-partition pour déplacer automatiquement un volume caché par un montage réseau ;) Ca se fait en 10mn le script, et après, tu fais pouit pouit admin et hop! Tes clefs USB reviennent.




SebGF a dit:


Cette commande que tu relis 78 fois et par 15 autres collègues avant de la lancer sur un serveur un peu sensible.




Certains ont perdu leur emploi avec ce genre de commande…




(quote:1844397:brice.wernet)
Ca s’est facile à répondre: quand tu ne pourras plus stocker sur ton ordi, tu pourras choisir entre One drive (perso), One drive (pro), Sharepoint (pro), google drive (perso), … Et donc plus de C, D (pardon, windows 10 propose encore A:\ comme lecteur par défaut quand on cherche un driver???)




Tu pourras aussi utiliser ton serveur webdav perso. Pour rappel, il est montable en lettre de lecteur sous Windows :D Et il est aussi synchronisable avec le magnifique rclone.
Après c’est sûr que si Microsoft libérait son client Onedrive pour qu’on puisse le rendre compatible avec d’autres services, ce serait la panacée… Mais bon, on se pince et on se réveille….



OlivierJ a dit:


Quand j’ai lu le titre de l’article, j’ai pensé au vrai nettoyage de la clé, l’effacement des données. Sous Linux c’est facile avec un “dd if=/dev/zero of=/dev/sdX bs=1M status=progress” (ça va plus vite en précisant une taille de bloc bien plus grosse que les 512 octets pas défaut, le paramètre “bs”).




Sous Windows il y a différents outils de suppression sécurisé simple d’accès mais je préfère utiliser Linux également. Windows voulant toujours accéder au disque externe quand on ne lui demande rien, si ce dernier est endommagé, il n’est souvent pas possible d’intéragir avec DU TOUT alors que j’y parviens sous Linux.



Du coup je préfère utiliser “ddrescue -r2 /dev/urandom /dev/sdX” pour remplir le disque avec du bordel, vu qu’il m’arrive aussi de m’en servir pour récupérer des données.



Après, j’utilise diskpart régulièrement à cause des lettres d’accès qui disparaissent de mes stockages externes :plantage:



SebGF a dit:


Cette commande que tu relis 78 fois et par 15 autres collègues avant de la lancer sur un serveur un peu sensible.




Moi je préfère faire en plusieurs étapes :




  1. dd if=/dev/sdX of=file bs=1M count=1 pour sauvegarder le début du disque à effacer.



  2. Rappel de la commande 1, changement du if en of, suppression de of=file et ajout de if=/dev/null ce qui donne dd if=/dev/null of=/dev/sdX bs=1M count=1



  3. Vérification que la table de partition a bien disparu sur le bon disque. En cas d’erreur je restaure à partir de file en rappelant la commande 1 et en inversant if et of puis je reprends à l’étape 1.



  4. Rappel de la commande 2 et suppression de count=1 pour lancer l’effacement complet.



  5. Suppression de file s’il n’est pas en RAM.




Le fait de reprendre et d’éditer la commande précédente pour créer la suivante évite toute erreur d’une commande à l’autre.



hellmut a dit:


tiens ça tombe bien, j’ai retrouvé une clé USB promotionnelle de… 9Mo. :mdr: en fait il s’agit d’une clé de 2Go en lecture seule. le souci c’est que j’ai pas réussi via diskpart à la débloquer, et que Google est plein de techniques de nerds à coup de sites russes pour récupérer 17 versions d’un logiciel de flashage de firmware chinois… alors je sais bien que c’est pas trop le lieu pour m’épancher sur mes petits problèmes existentiels, mais je me dis que quelqu’un a peut-être une technique éprouvée.




Je suis preneur aussi, tant qu’à y être !