Réponse facile :
mount /dev/your/disk /some/free/mountpoint
dd if=/dev/zero of=/some/free/mountpoint/zero bs=512
sync # See edit below
rm /some/free/mountpoint/zero
umount /some/free/mountpoint
Cela fera exactement ce que vous avez demandé :écrasez tout l'espace disponible pour les fichiers dans le système de fichiers, avec des zéros.
Réponse plus complexe :
- Sans détruire le MBR, vous ne pouvez pas être sûr que vous n'avez pas de virus MBR
- un système de fichiers vide n'a aucune valeur
Je vous recommande donc de nuke le périphérique (c'est-à-dire de mettre le périphérique à zéro, y compris le MBR et le système de fichiers), puis de recréer simplement la table de partition et mkfs.ntfs -f -L LABEL -I
MODIFIER
Comme @Nyos l'a souligné dans les commentaires, si le pilote NTFS ne monte pas la synchronisation (je ne connais pas les valeurs par défaut), c'est une bonne idée d'insérer un sync
supplémentaire avant le rm
. La version actuelle (à partir d'Ubuntu 18.04 entièrement corrigée au 2020-05-02) n'attribue aucun bloc retardé, donc le sync
n'est pas strictement nécessaire, car tous les blocs alloués seront écrits sur umount
, mais nous ne connaissons pas non plus l'avenir et je n'ai pas lu le code source complet.
Sur la même note :si le pilote NTFS obtient une fois la prise en charge des fichiers clairsemés, nous devrons peut-être utiliser /dev/urandom
au lieu de /dev/zero
pour éviter une écriture (presque) interminable.
Bien que cela ne réponde pas du tout à votre question... néanmoins :
Tout d'abord, c'est une très, très mauvaise idée de mettre à zéro un disque. C'est vrai pour les disques "traditionnels", et encore plus pour les disques à semi-conducteurs. La mise à zéro d'un disque est simple à faire (il suffit de créer un fichier et de le remplir, Eugen Rieck donne la recette exacte) mais cela prend beaucoup de temps et use le disque. Les cycles d'écriture ne sont pas infinis, sur n'importe quel type de disque dur.
Notez également que vous n'avez même pas la garantie que l'écrasement fonctionne réellement comme prévu. Pour votre objectif, la différence ne sera pas perceptible, mais à d'autres fins (pensez à l'effacement sécurisé des données confidentielles), l'approche n'est absolument pas fiable. En effet, vous n'avez absolument aucun moyen de savoir ce qui se passe lorsque vous écrasez quelque chose grâce au nivellement de l'usure et à la réaffectation. Les disques font beaucoup de choses sans que personne (y compris le système d'exploitation !) ne le sache ou n'ait même un moyen de le dire, sans parler de changer. Si, par exemple, un secteur a été réaffecté parce que le contrôleur n'était pas satisfait du nombre de tentatives, ou du CRC ou autre, vous pouvez faire ce que vous voulez à l'avenir, vous n'aurez tout simplement plus accès à ce secteur. Plus jamais. Pourtant, les données, ou ce qu'il en reste (et vous ne pouvez pas le savoir) restent là, et un voleur potentiel pourrait les lire.
Deuxièmement, lorsque vous travaillez en mode paranoïa complet, c'est une très très mauvaise idée de conserver le système de fichiers (et le MBR), en particulier lorsque le disque est "vide". À part l'UUID du système de fichiers, vous ne perdrez rien en créant simplement un nouveau système de fichiers (ce qui peut être peut être un peu gênant dans certaines situations, mais c'est aussi facile à réparer). Vous gagnez cependant la certitude qu'il ne reste rien là où vous ne vous y attendiez pas (MBR, par exemple).
Troisièmement, c'est une mauvaise idée de mettre à zéro et de réutiliser un système de fichiers "vide" qui n'est en réalité pas vide du tout. C'est mauvais en termes de performances lorsque vous pouvez simplement créer un nouveau FS (sans entrées de journal de modifications obsolètes, éléments invisibles, flux oubliés, attributs, MFT fragmentés ...) à partir de zéro. Non seulement tout recréer à partir de zéro est beaucoup plus sécurisé, c'est aussi beaucoup plus rapide et cela se traduira probablement par de meilleures performances globales à l'avenir.
tl;dr
La plupart des appareils ont une option dédiée d'effacement sécurisé ou de "réinitialisation d'usine" (qui est la même) qui est prise en charge par l'outil de gestion qui l'accompagne, ou avec un autre outil via une commande ATA standard. Le lecteur utilisera la méthode la plus efficace et la moins destructrice (certains lecteurs écrasent en effet le disque complet faute de vraiment prendre en charge la fonctionnalité, mais la plupart videront simplement la clé de cryptage ou de brouillage de bits, qui fonctionne presque instantanément quelle que soit la taille du disque).
hdparm
qui est disponible sur à peu près toutes les distributions Linux prêtes à l'emploi a une option --security-erase
dans ce but précis.
Cela vous donnera un disque "comme si vous veniez d'acheter" à l'exception d'avoir été utilisé pendant un certain temps. Il le fera de la manière la plus rapide (dans la limite de ce qui est techniquement possible) et la moins destructrice de disque. Ensuite, partitionnez-le et créez un système de fichiers, c'est fait.