GNU/Linux >> Tutoriels Linux >  >> Linux

Remise à zéro du contenu d'un disque dur sans détruire le système de fichiers

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.


Linux
  1. Les mérites d'un système de fichiers sans partition ?

  2. Informations sur le disque dur derrière le contrôleur RAID matériel ?

  3. Comment monter automatiquement le disque dur externe ?

  4. Comment exécuter Ubuntu sans disque dur ?

  5. Comment vérifier la santé d'un disque dur

Comment utiliser dd sous Linux sans détruire votre disque

Comment trouver les détails du disque dur sous Linux

Mise à niveau vers un disque SSD sous Linux :la méthode simple et la méthode difficile

Quel est le moyen le plus simple de libérer de l'espace sur un disque dur ?

Découvrez quels processus écrivent sur le disque dur

Le système se fige. Je ne trouve rien dans les journaux