Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Effacer vraiment un disque dur


Effacer vraiment un disque dur ou un périphérique

Par Jiel

Si vous voulez jeter un périphérique, le donner à quelqu'un d'autre ou le chiffrer, vous devez d'avoir commencer par le nettoyer, de façon à ce que personne ne puisse utiliser vos données. Pour cela, il existe diverses façons, mais la méthode est toujours la même : écrire une nouvelle donnée sur chaque bit. En effacer, effacer simplement les données (avec 'rm' ou via l'interface graphique) ne suffit pas, même si vous ne voyez plus vos fichiers. Les données restent écrites et avec des logiciels spéciaux, on pourra en récupérer une partie. La police scientifique, par exemple, dispose de tels outils.

Si c'est un support que vous jetez, alors en plus de ce tutoriel, il est conseillé de détruire le disque physiquement (ouvrez le, coupez le en morceau), cela compliquera vraiment sa réutilisation. C'est ce que fait l'armée. Enfin, soyez responsable, n'oubliez pas de mettre vos équipements électroniques dont vos périphériques usagers dans des poubelles adaptées, car ils ont des composants très polluants qui ne devraient en aucun cas se retrouver dans la nature.

Identifiez le périphérique à effacer

Avant d'effacer un périphérique, faites une sauvegarde de vos données importantes et prenez le temps d'identifier le nom du périphérique. Débranchez tous les périphériques que vous n'utilisez pas. Prenez votre temps, car si vous vous trompez de périphérique, vos données seront effacées de manière irrémédiable (vous ne serez pas en mesure de les réucpérer et les logiciels de récupération non plus).

Pour identifier votre périphérique, vous pouvez utiliser la commande 'dmesg' qui vous affiche tout ce que le noyau a détecté. Ainsi, dans l'extrait ci-dessous, on voit que l'on a un disque dur Toshiba dans /dev/sdd.

[    1.031366] ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    1.165748] ata7.00: ATA-8: TOSHIBA HDWQ140, FJ1M, max UDMA/100
[    1.165751] ata7.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    1.167998] ata7.00: configured for UDMA/100
[    1.168288] scsi 6:0:0:0: Direct-Access     ATA      TOSHIBA HDWQ140  FJ1M PQ: 0 ANSI: 5
[    1.168772] sd 6:0:0:0: Attached scsi generic sg4 type 0
[    1.169034] sd 6:0:0:0: [sdd] 7814037168 512-byte logical blocks: (4.00 TB/3.64 TiB)
[    1.169075] sd 6:0:0:0: [sdd] Write Protect is off
[    1.169078] sd 6:0:0:0: [sdd] Mode Sense: 00 3a 00 00
[    1.169199] sd 6:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

La commande fdisk peut vous permettre de vérifier qu'il s'agit du bon disque (en regardant la taille du disque, notamment).

# fdisk -l /dev/sdd

Disque /dev/sdd : 3,7 TiB, 4000787030016 octets, 7814037168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets

Des outils graphiques comme GParted vous aideront également. Vous trouverez de l'aide dans l'article Partitionnement.

Effacer les données

On va maintenant effacer le périphérique (disque, carte mémoire etc. voire une partition), c'est à dire écraser chaque bit avec une nouvelle donnée.

Avertissement : ceci est une opération qui s'avère extrêmement longue, puisqu'on passe sur chaque bit progressivement. Pour un disque de 4To, comptez entre 24 et 48 heures.

On a le choix de la commande, donc ne faites pas tous les exemples. Ici on suppose que notre périphérique à effacer est sur /dev/sdX, X est à remplacer par la lettre de votre périphérique.

Un des meilleurs outil est sans doute shred, du paquet GNU coreutils. Il repasse plusieurs fois (3 fois en général) pour écrire des données bit à bit.

# shred -v /dev/sdX
shred: /dev/sdb : passe 1/3 (random)…818GiB/3,7TiB 21 %
shred: /dev/sdb : passe 1/3 (random)…819GiB/3,7TiB 21 %
shred: /dev/sdb : passe 1/3 (random)…820GiB/3,7TiB 22 %
shred: /dev/sdb : passe 1/3 (random)…821GiB/3,7TiB 22 %

Vous pouvez aussi remplir votre périphérique avec des caractères aléatoires (la commande vous rend la main quand c'est plein) :

# dd if=/dev/urandom of=/dev/sdX bs=4096
dd: write error: No space left on device

Avec cat cela marche aussi :

# cat /dev/urandom > /dev/sdX
cat: write error: No space left on device

Pour aller plus vite mais en général à éviter, on peut être tenté de remplir le disque avec des zéros :

# dd if=/dev/zero of=/dev/sdX bs=4096

dd: write error: No space left on device

Attention cependant, un périphérique qui serait très rapide pour écrire des zéros partout peut en réalité faire de la compression et finalement pas écrire sur tous les bits. C'est en particulier le cas pour les cartes mémoires, donc évitez de l'utiliser.

Aller plus loin



@ Retour à la rubrique Réseau et sécurité


Copyright

© 2017 Jiel Beaumadier

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.
Affichages

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA