Passer un disque NTFS en lecture seule

De nos jours (j’ai l’impression de commencer une mauvaise rédaction avec un lieu commun de merde…), pas mal de gens utilisent des disques durs externes pour sauvegarder leurs données. Pour ceux qui en utilisent plusieurs pour du stockage profond (c’est-à-dire des données qu’on ne modifiera plus), une problématique se pose parfois : comment faire en sorte qu’on ne puisse pas modifier par erreur les données du disque ?

Sous Windows, c’est possible en rendant un disque formaté NTFS accessible en lecture seule (read only). Un disque dur configuré de cette manière ne peut plus être modifié par qui que ce soit.

La manipulation se fait en ligne de commande via l’utilitaire DISKPART intégré notamment dans Windows 7.

Lancez la ligne de commande en mode Administrateur. Pour cela tapez « cmd » ou « powershell » dans la recherche du menu démarrer et faites un clic droit sur l’exécutable puis « Exécuter en tant qu’administrateur ». Perso je conseille Powershell mais ça marche aussi très bien avec le vieux cmd 🙂

Tapez DISKPART et appuyez sur [Entrée]
Vous rentrez alors dans l’utilitaire diskpart, l’invite de commande change :

DISKPART>

Les commandes suivantes peuvent être tapées indifféremment en majuscules ou minuscules.

Tout d’abord il faut démonter le volume, c’est à dire enlever sa lettre de lecteur Windows. Pour commencez, listez tous les volumes actuellement connus du système :

DISKPART> LIST VOL

Vous aurez une liste dans le genre :

  Volume ###  Ltr  Label        Fs
  ----------  ---  -----------  -----
  Volume 0     D   Données      NTFS
* Volume 1     C   Système      NTFS
  Volume 2     E   Mon backup   NTFS

L’étoile (*) indique sur quelle volume on est en train de travailler. Pour sélectionner le volume qui nous intéresse (ici le n°2) :

DISKPART> SELECT VOL 2

Vous pouvez retaper LIST VOL pour vous assurer que vous avez bien changé de volume.

Ensuite pour enlever la lettre de lecteur et démonter le disque :

DISKPART> REMOVE

DiskPart successfully removed the drive letter our mount point.

Pour passer le disque en lecture seule :

DISKPART> ATT VOL SET READONLY

Volume attributes set successfully.

Vous pouvez voir que l’attribut lecture seule est bien mis :

DISKPART> ATT VOL

Read-only              : Yes
Hidden                 : No
No Default Drive Letter: No
Shadow Copy            : No

La commande inverse (repasser le disque en lecture/écriture) est la suivante :
DISKPART> ATT VOL CLEAR READONLY

Et pour finir on remonte le disque avec une lettre de lecteur, ici E:

DISKPART> ASSIGN LETTER=E

DiskPart successfully assigned the drive letter or mount point.

Et on quitte

DISKPART> EXIT

Leaving DiskPart...

Et voilà 🙂

Vous noterez que comme le volume est en lecture seule, vous pouvez désormais le débrancher sans avoir à le démonter à travers la manipulation pénible d’éjection de disque. En effet le système n’écrit plus du tout sur le volume vu qu’il est en lecture seule, donc vous n’avez plus à craindre de perte de données à cause d’un problème de cache d’écriture. De toute façon l’éjection normale se passera en général sans problème vu qu’aucun processus ne pourra accéder au disque en écriture.
Vous pouvez aussi protéger l’ensemble d’un disque plutôt qu’un seul volume (partition) en utilisant les mêmes manipulations sauf qu’il faut remplacer VOL par DISK dans chaque commande. C’est utile si votre disque possède plusieurs volumes.

Au passage j’en profite pour donner une autre astuce très pratique pour forcer le démontage d’un disque qui ne veut pas s’éjecter (c’est assez pénible et ça arrive souvent). Il suffit en fait de le démonter manuellement en enlevant sa lettre de lecteur. Pour ça vous pouvez utiliser DISKPART mais vous pouvez aussi le faire directement à l’invite de commande classique de la façon suivante (ici pour le disque E:) :

MOUNTVOL E: /D

Et vous pouvez alors débrancher votre disque qui refusait de s’éjecter avec la façon classique. Évidemment je vous conseille de bien vérifier qu’un programme n’y accédait vraiment pas en écriture avant de faire cette manipulation.

3 réflexions sur “Passer un disque NTFS en lecture seule”

  1. C’est bien de voir des articles frais. Juste au moment où je me demandais commet faire ça d’ailleurs !

  2. C’est vrai que sur mon disque dur externe, ça arrive souvent qu’il refuse l’éjection alors que je suis sûr qu’aucun programme n’accède plus au disque dur, pour ça j’ai trouvé une parade qui fonctionne chez moi, il me suffit de lui dire de l’ejecter une seconde fois juste après le premier essai raté et là ça passe à chaque fois.

    Sinon, oui, ça fait toujours plaisir de voir ce blog encore vivant 😉

Les commentaires sont fermés.