Tentatives de bonnes réponses à des questions qui peuvent ne pas l'être |
Il est effectivement surprenant de constater que l'Explorateur Windows semble trouver plusieurs disques, Disque C: et Disque D: par exemple, alors que l'on sait pertinemment qu'il n'y en a qu'un seul. Pourquoi une telle bizarrerie ?
L'explication est simple. Sur un disque chaque partition reçoit le nom de volume de son choix. " Disque " ou " Disque local "est celui donné par défaut par Windows et, à moins que l'on les ait rebaptisées, toutes auront le même.
Il ne faut donc pas entendre Disque C: comme " disque dont la lettre est C: " (on verra plus loin pourquoi les disques n'ont pas de lettre de lecteur) mais comme " partition dont le nom est Disque et dont la lettre est C: ". Avec cette lecture tout s'éclaire.
Ce choix de mot malencontreux est hélas à l'origine de bien des malentendus.
Si l'on souhaite aller un peu plus loin pour mieux comprendre à quoi correspond une lettre de lecteur et la différence entre disque et partition il va falloir rappeler quelques principes et remonter un peu dans le temps.
Dans les systèmes d'exploitation tels que DOS, Windows ou Unix (Linux, Android ou Mac OS font partie des nombreux dialectes Unix) les fichiers sont organisés de manière hiérarchique que l'on peut représenter, à la manière d'un arbre généalogique, comme une arborescence de répertoires et de sous-répertoires.
Le nombre de niveaux de répertoires et de sous-répertoires n'est limité, tout au moins en NTFS.
Chaque unité de stockage de données possède sa propre hiérarchie, indépendante de celle des autres. L'unicité des noms ne vaut que pour une unité de stockage donnée. Pour accéder à un fichier il faut donc spécifier dans laquelle de ces unités il se trouve.
Dans les systèmes Unix on a contourné cet impératif en utilisant une structure hiérarchique logique unique grâce à la possibilité " d'accrocher " celle d'une unité de stockage à l'une des branches de la structure d'une autre (commande mount). Ceci permet de représenter l'ensemble des répertoires et des fichiers, toutes unités de stockage confondues, dans une arborescence unique. On accède aux fichiers sans avoir à spécifier sur quel support physique il se trouve.
À l'époque où Microsoft a crée son premier système d'exploitation, le DOS (disk operating system), les disques souples (floppy disks) popularisés sous la forme des disquettes étaient, à peu de choses près, le seul moyen de stockage de masse utilisé. Une disquette étant un support amovible sans identification, c'est le périphérique lui-même, le lecteur, qui a été considéré comme étant l'espace de stockage. Microsoft a choisi comme moyen de désignation d'affecter à chacun d'eux une lettre, A pour le premier, B pour le second et ainsi de suite. C'est ainsi qu'est née la lettre de lecteur permettant de désigner un espace de stockage et dont on se sert encore aujourd'hui alors que ces espaces ne sont plus systématiquement associés à un lecteur matériel comme l'était un lecteur de disquettes.
. Les programmes accèdent aux données en spécifiant la lettre de lecteur selon la syntaxe :
La lettre de lecteur est suivie du caractère ":" (deux points) et la barre oblique inversée (antislash) symbolise la racine du lecteur. Exemple A:\config.sys.
Toute la partie qui précède " nom_fichier " constitue le chemin d'accès à l'intérieur duquel la barre oblique inversée sert de séparateur entre les niveaux hiérarchiques.
En standard la chaîne de caractères spécifiant le nom d'un fichier chemin d'accès compris ne peut pas dépasser 260 caractères, dont 4 sont pris par l'identification du lecteur. Depuis Windows 10 il est possible de porter cette limite à 32 767 caractères avec le risque que certaines applications ne puissent pas exploiter ces noms longs.
Notons qu'il s'agit d'une syntaxe propre à Microsoft. Dans les systèmes Unix où l'on utilise la hiérarchie logique unique (voir ci-dessus) la syntaxe est :
On part de la racine générale et c'est la barre oblique (slash) qui sert de délimiteur.
Puis sont venus les disques et d'autres contraintes sont apparues.
La capacité accrue des disques par rapport à celle des autres supports a conduit à scinder l'espace de stockage disponible en plusieurs espaces indépendants et à les identifier de manière unique. Afin que la syntaxe pour désigner un fichier et son chemin d'accès demeure la même et ne dépende pas du type de périphérique, on a continué d'utiliser une lettre de lecteur pour identifier chacun des espaces de stockage définis sur un disque. Chaque espace de stockage est vu comme un lecteur mais purement logique.
Sur un disque les attributs de chacun de ces espaces (emplacement, système de fichier, nom, etc.) sont consignés dans une table enregistrée dans des secteurs dédiés. Si l'on ne souhaite n'en avoir qu'un seul englobant la totalité de l'espace disponible, cet espace unique fera néanmoins l'objet d'une entrée dans cette table, au même titre que s'il y en avait plusieurs.
Pour mieux comprendre on peut faire l'analogie avec une prairie que l'on souhaite aménager pour y parquer des moutons. Pour délimiter l'espace on dispose de nombreuses options, enclore toute la surface, n'en enclore qu'une partie laissant l'autre en réserve, aménager plusieurs enclos avec leur propre clôture, etc. Il en va de même pour un disque, les données remplaçant les moutons. Tout comme on doit construire au moins une clôture sur la prairie on doit définir les bornes d'au moins un espace de stockage sur un disque.
Notons que l'attribution d'une lettre de lecteur est facultative et certains des espaces de stockage définis sur un disque peuvent ne pas en avoir.
Les disques ne sont identifiés que par un numéro.
Jusqu'ici il n'a été question que de disques mais tout ce qui précède est intégralement applicable aux SSD qui les remplacent de plus en plus et aussi aux clés de stockage USB. Il faut donc entendre "disque" comme un terme générique.
Dans le langage courant partitionner signifie diviser un tout en plusieurs parties et partition, en dehors du domaine musical, désigne tantôt l'action, tantôt son résultat.
Hélas, trois fois hélas, c'est le mot partition qui a été retenu pour désigner chacun des espaces de stockage définis sur un disque, qu'il y en ait qu'un ou qu'il y en ait plusieurs. Ce choix de terme, mal pensé, est la source de bien des quiproquos.
Dans ce contexte il faut donc se départir du sens courant de partition et admettre qu'un disque peut n'en comporter qu'une seule. Et aussi que "partitionner" signifie définir une ou plusieurs partitions. Chacune de celles-ci pourra donc être identifiée par une lettre de lecteur.
On l'a vu au début de ce chapitre, quand dans l''Explorateur on lit " Disque " il faut comprendre " partition dont le nom est Disque ". En conséquence ce qu'il faut se mettre dans la tête, en se rappelant qu'une partition est identifiée par une lettre de lecteur, c'est que :
Pour éviter la confusion qu'il engendre l'utilisateur est libre de remplacer " Disque "ou "Disque local", le nom par défaut, par un nom explicite pour lui, par exemple Système ou Données, ou même Fromage si ça lui chante. Pour ça il suffit après sélection d'utiliser la touche F2 ou bien de faire un clic droit et choisir Renommer.
Dans l'exemple ci-dessous l'Explorateur a trouvé 4 lecteurs. L'un est clairement un lecteur de disques optiques et les autre sans doute des partitions de disque mais on ignore si elles appartiennent au même ou non.
Pour afficher la liste des disques il faut faire appel à la fonction Gestion des disques (diskmgmt.msc). Voici ce que l'on obtient avec le même exemple.
On constate bien que chaque disque est identifié par un numéro. Certaines partitions n'ont pas de lettre de lecteur et ne sont donc pas visibles dans l'Explorateur Windows.
Les lecteurs optiques portent eux aussi un numéro.
Dans la Gestion des disques une clé USB est vue comme un disque externe connecté en USB, les deux étant traités comme s'il s'agissait de disques internes. On découvre que les partitions E: et F: appartiennent à une clé USB alors que l'Explorateur Windows ne pouvait pas le laisser supposer.
Le numéro d'un disque ne lui est pas attaché. Au démarrage Windows recense les disques présents et leur attribut un numéro en fonction de l'ordre dans lequel il les découvre, donc du port sur lequel chacun est connecté. Si, par exemple, un SSD porte le numéro 0 et un disque porte le numéro 1, ils échangeront leur numéro si l'on intervertit leur connexion sur la carte mère,
De la même manière une lettre de lecteur n'est pas attachée à l'espace de stockage qu'elle désigne. Même dans la table des partitions d'un disque, celles-ci ne sont identifiées que par un simple numéro d'ordre. La correspondance entre partition et lettre de lecteur est réalisée à l'aide d'une table interne à Windows. Ceci explique qu'une partition d'une clé USB pourra être vue dans l'Explorateur Windows sous une lettre différente selon l'ordinateur sur laquelle elle est branchée.
Cette table est reconstruite à chaque démarrage et c'est Windows qui décide quelle lettre de lecteur sera attribuée à tel espace de stockage, celle de la partition portant le système d'exploitation restant immuable. On peut cependant décider d'affecter à telle ou telle partition la lettre de son choix à condition qu'elle ne soit pas déjà prise. Dans ce cas l'entrée dans la table devient permanente.
Sous le nom de lecteur on peut trouver des objets très différents? Certains sont des périphériques, de vrais lecteurs physiques, alors que d'autres sont purement logiques comme les partitions d'un disque. Le point commun est leur rôle dans la spécification du chemin d'accès à un fichier.
On l'a déjà évoqué, c'est le lecteur qui est désigné par une lettre de lecteur quand le medium lui-même est amovible. Cette règle s'applique donc aux lecteurs de disques optiques comme elle s'appliquait auparavant aux lecteurs de disquettes, mais aussi aux lecteurs de cartes mémoire. Mais qu'en est-il des clés USB ?
Tout comme une carte mémoire une clé USB est constituée de mémoire flash mais de la même manière qu'un disque elle embarque un contrôleur. Une clé USB n'est donc pas un support amovible mais un périphérique amovible, au même titre qu'un disque externe USB. La lettre de lecteur que par erreur on lui croit attribuée l'est en fait à la partition souvent unique qu'elle contient. Voir l'exemple ci-dessus.
Le contenu de certains fichiers est le résultat de la concaténation d'une arborescence de répertoires et de fichiers. Pour certains types de ces fichiers il est prévu de pouvoir créer un lecteur virtuel affecté d'une lettre de lecteur permettant ainsi la visualisation de leur contenu dans l'Explorateur Windows. C'est le cas notamment pour les fichiers ISO, cette fonction étant native depuis Windows 10.
Un fichier ISO est l'image d'un disque optique. Lorsque, selon l'expression consacrée, on le monte dans un lecteur virtuel, tout se passe comme si on avait inséré le CD ou le DVD lui-même dans un lecteur de disques optiques.
Dans l'exemple ci-dessous le menu contextuel obtenu en faisant un clic droit sur le nom d'un fichier ISO fait apparaître l'option "Monter".
Après avoir sélectionné cette option un nouveau lecteur optique apparaît dans l'Explorateur et le contenu du fichier ISO est a affiché dans le volet de droite.
Pour accéder aux ressources partagées des autres stations présentes sur le réseau local on peut passer par la rubrique réseau de l'Explorateur Windows mais elles ne sont alors désignées que par leur nom de partage et ce mode d'accès est uniquement graphique. Si l'on souhaite pouvoir indiquer un chemin d'accès traditionnel aux fichiers d'un répertoire partagé il faut utiliser la procédure Connecter un lecteur réseau.
Ln lecteur réseau se verra lui aussi attribuer une lettre de lecteur.
Il est également possible d'attribuer une lettre de lecteur à n'importe quel répertoire au moyen de la commande subst (substitute). Cette commande fréquemment utilisée à l'époque du DOS ne l'est plus guère maintenant mais perdure néanmoins. Cet exemple montre sa syntaxe.
subst F: D:\toto\titi\tata
Si le sous-répertoire tata contient le fichier fic.txt on peut y accéder soit à l'aide de son chemin long (D:\toto\titi\tata\fic.txt), soit à l'aide du chemin plus court F:\fic.txt.