Les pilotes et drivers dans Windows

Les pilotes ou drivers sont des composants importants de Windows.
Mais savez vous comment ils fonctionnent ?

Comment les pilotes s’installent dans Windows ?
Comment Windows reconnaît le matériel ?
Cet article vous explique à quoi servent les pilotes, comment les mettre à jour et comment sont-ils stocker dans Windows.

Cet article répond à toutes ces questions et donc un aperçu global des pilotes dans Windows.

Les pilotes et drivers dans Windows

Qu’est-ce qu’un pilote ou drivers ?

Il s’agit de fichiers que l’on installe dans Windows et qui se chargent ensuite au démarrage de ce dernier.
On distingue deux types de pilotes :

  • Les pilotes matériels qui permettent le fonctionnement du matériel de votre PC. Par exemple le pilote de la carte graphique, carte Wifi, imprimantes etc.
  • Les pilotes logiciels. Ils permettent un accès bas dans Windows par exemple au noyau. On peut en avoir aussi besoin pour placer des crochets sur des fonctions de Windows. Par exemple, les antivirus en utilisent.
  • Les pilotes de filtre. Ce sont des pilotes facultatifs qui ajoutent de la valeur ou modifient le comportement d’un périphérique. Un pilote de filtre peut desservir un ou plusieurs périphériques.

A noter que par défaut, Windows possède beaucoup de pilotes Microsoft.

Les pilotes matériels

Ils permettent de faire fonctionner un composant de votre ordinateur comme la carte graphique, Wifi, audio, etc.
Lorsque vous installez un nouveau matériel, Windows détecte ce dernier et va télécharger dans la base de données le pilote matériel.
De même lorsque vous installez Windows, ce dernier analyse le contenu de votre PC et installe les pilotes qui vont bien.
Cette reconnaissance se base sur la technologie plug and play de Microsoft : Plug & Play et installation des périphériques et pilotes avec Windows Update

Ainsi le constructeur de la carte développe le pilote pour le proposer aux utilisateurs afin de l’installer dans l’OS.
Enfin ce dernier maintient ses pilotes pour proposer des mises à jour.
Celles visent à corriger des bugs qui peuvent provoquer des BSOD ou encore améliorer les performances.
Ainsi un pilote est soumis à une version comme les logiciels.

Les pilotes filtres

Enfin noter que l’on peut empiler les pilotes.
Le schéma ci-dessous montrent deux pilotes de filtres « filter drivers » et un pilote qui accède au matériel.
En effet, certains des pilotes de la pile peuvent participer en transformant la demande d’un format à un autre. Ces pilotes ne communiquent pas directement avec le périphérique.
Ils manipulent simplement la demande et la transmettent aux pilotes situés en bas de la pile.

Schéma avec des pilotes en étage
source tech Microsoft

Les pilotes logiciels

Il existe des pilotes qui ne sont associés à aucun matériel.
On parle alors de pilotes logiciels.
Ils ont pour but l’accès à certains composants bas de Windows ou pouvoir contrôler certains appels systèmes.

Les antivirus utilisent des pilotes.
Mais aussi certains logiciels comme Daemon tools pour manipuler les disques.
Par exemple l’antivirus en a besoin pour détourner des fonctions du systèmes de fichiers.
Ainsi lorsque l’on appelle un fichier, l’antivirus détourne la fonction d’ouverture pour faire passer par son code.
Cela permet l’analyse en temps réel.
Ces derniers utilisent les Filter Drivers.
Vous trouverez une liste sur la page suivante : MiniFilter Driver

Les pilotes Windows

Windows comme tout OS a ses propres formats et normes de pilotes.
C’est à dire qu’il ne fonctionne pas sur MacOX ou Linux.
Le format est Plug & Play, on en parle sur l’article : Catalog Files and Digital Signatures
De plus le pilote doit être signé numériquement, ce qui permet de s’assurer de la provenance.
Windows depuis interdit l’installation de pilotes non signés pour des raisons de sécurité.
Cela afin de de protéger contre les rootkits.
Toutefois cette interdiction peut se lever : Comment désactiver la signature numérique des pilotes sur Windows 7, 8 ou 10

Dans Windows les pilotes se présentent avec différents fichiers comme :

  • Un fichier .sys c’est le pilote en lui même.
  • Un fichier .inf qui contient les informations et description du pilote comme le nom, versions, éditeur, etc.
  • un fichier cat stocke les données cryptographiques et hashs.
  • enfin d’autres fichiers
    • des fichiers DLL dans certains cas utilisés par le pilote.
    • des icônes ou fichiers d’installation

Par exemple ci-dessous, on retrouve ces trois fichiers pour un pilote lié à l’USB.

Les pilotes Windows

Enfin il faut savoir que les pilotes ne s’utilisent pas que pour le matériel.
Des applications ayant besoin de se charger dans le noyau de Windows (Kernel) installent un pilote.
Par exemple, un antivirus installe un pilote afin notamment de détourner certains fonctions de Windows.
Un logiciel VPN peut installer un pilote pour créer une interface réseau virtuelle TAP.

Base de données de pilotes

Windows possède une base de données de pilotes.
Ainsi lors de l’installation, l’OS peut installer des périphériques afin de les rendre fonctionnels.
Cette base de données dépend de la version de Windows.

Par exemple Windows 10 possède une base de données plus importantes en particulier pour les ordinateurs récents.
Windows 7 ne supporte pas l’USB 3 mais on peut modifier le fichier ISO pour l’intégrer : Installer Windows 7 avec USB 3.1

Certains choix sont économiques.
Ainsi les constructeurs ne veulent pas dépenser de l’argent pour développer des pilotes pour d’anciennes versions de Windows.
De même Microsoft peut bloquer certains matériels pour forcer à installer le dernier OS et ainsi acheter une licence.
Parfois ce sont des choix techniques car Windows ne possède pas certains composantes techniques utilisés pour le matériel récent.

Comment Windows stockent les pilotes ?

Pour installer un pilote dans le système, ce dernier contient les informations suivantes :

  • Le nom et le numéro de version de chaque système d’exploitation sur lequel le périphérique ou les pilotes sont pris en charge
  • Classe d’installation du GUID et de la classe d’installation du périphérique
  • Informations sur la version du pilote
  • Les noms des fichiers du pilote avec leurs emplacements source et destination
  • Informations spécifiques à l’appareil, y compris l’ID matériel et les ID compatibles
  • Le nom d’un fichier catalogue (.cat)
  • Informations sur le où charger les services fournis par chaque pilote (Windows 2000 et versions ultérieures de Windows)

Les drivers s’installent dans le dossier C:\Windows\system32\drivers
Il s’agit d’une norme mais on peut très bien l’installer dans un autre emplacement du disque.
Le fichier INF indique ces dernières.

Le fichier INF d'un drivers sur Windows

Voici un exemple de contenu d’un dossier drivers où on trouve des pilotes Microsoft internes à Windows.
Ensuite divers autres pilotes avec Nvidia pour la carte graphique et Acronis des pilotes d’applications.

Les pilotes dans C:\Windows\system32\drivers

Les services Windows

Ensuite vous vous demandez comment les pilotes se chargent dans Windows ?
Pour commencer, les pilotes se lancent dans Windows avec un service Windows.
Ainsi, tout périphériques doit créer un service pour exécuter le fichier .sys lors du démarrage de Windows.
Par exemple, ci-dessous le service nvdimm exécute le fichier C:\Windows\System32\drivers\nvdimm.sys

Les pilotes en services Windows pour se charger au démarrage de Windows

Driver Store

Ensuite Windows stocke tous les pilotes installés dans le DriverStore.
Son emplacement sur le disque : C:\Windows\System32\DriverStore

Driver Store la base de données de pilotes de Windows

On trouve ensuite les pilotes pour chaque périphériques et logiciels.
Par exemple ci-dessous les pilotes Nvidia dans le DriverStore.

Driver Store la base de données de pilotes de Windows

Le logiciel Driver Store Explorer permet de naviguer dans la liste et effectuer du nettoyage.
En effet, quand vous mettez à jour un pilote, l’ancien ne se supprime pas.
Ainsi le dossier DriverStore peut gonfler avec le temps.

Se reporter alors aux liens suivants :

Lister les pilotes et versions

Avec le gestionnaire de périphériques, vous pouvez lister et gérer votre matériel.
Ce dernier permet aussi de visualiser les pilotes installés pour chaque périphérique.

La page suivante vous explique comment ouvrir le gestionnaire de périphériques : Le gestionnaire de périphériques de Windows
Ensuite on double-clic sur le matériel puis onglet pilotes afin d’obtenir les informations.

Vérifier les pilotes dans le gestionnaire de périphériques de Windows

Enfin l’article suivant donne plus d’informations : Connaître la version d’un pilote installé sur Windows

Drivers et BSOD

Les pilotes peuvent fonctionner à différents niveaux de Windows.
Soit en User mode, soit en Kernel mode (mode noyau).
Les pilotes en User mode n’ont pas accès à la partie système alors que les pilotes en Kernel mode ont accès aux deux modes.

source tech Microsoft

Tout le code exécuté en mode noyau partage un seul espace d’adressage virtuel.
Cela signifie qu’un pilote en mode noyau n’est pas isolé des autres pilotes et du système d’exploitation lui-même.
Si un pilote en mode noyau écrit accidentellement sur la mauvaise adresse virtuelle, les données appartenant au système d’exploitation ou à un autre pilote pourraient être compromises.
Enfin si un pilote en mode noyau se bloque, tout le système d’exploitation se bloque.

Ainsi les pilotes qui buguent sont souvent la source de BSOD.
C’est à dire de plantage sévère de Windows qui ne peut continuer de fonctionner.
Il affiche alors un écran bleu et le PC redémarre.

Mettre à jour les pilotes

La mise à jour de pilotes peut régler des problèmes qui provoque des crashs de type BSOD.
Parfois cela permet d’améliorer les performances. En particulier pour les cartes graphiques où les dernières pilotes corrigent des problèmes.
Ainsi il peut s’avérer utile de mettre à jour les pilotes.

Cependant, il ne faut pas non plus tomber dans la paranoïa des mises à jour comme le nettoyage de Windows.
Des logiciels de mises à jour de pilotes comme Driver Booster, Avast! Driver Updater existent.
Le discours tend à faire croire qu’il faut tout le temps mettre à jour ces derniers.
Le but est surtout de vous faire acheter ces logiciels.
Parfois ces logiciels installent de mauvais pilotes et causent des problèmes.
Enfin il existe des logiciels de mises à jour de pilotes peu fiables plus proches des arnaques.
L’article suivant tend à vous sensibiliser sur ces aspects : Logiciels de mise à jour de pilotes : Arnaque et danger

Enfin pour mettre à jour ses pilotes, vous pouvez suivre notre article complet : Comment mettre à jour ses pilotes (drivers)

Comment mettre à jour ses pilotes (drivers)

Liens

Enfin retrouvez toutes les articles autour des pilotes et drivers sur le site, sur le menu : mettre à jour les pilotes

image_pdfimage_print
(Visité 2 044 fois, 1 visites ce jour)

Partager l'article