Le message « Un pilote (service) pour ce périphérique a été désactivé. Un autre pilote fournit peut-être cette fonctionnalité (Code 32) » ne parle pas du périphérique lui-même, mais du service qui porte son pilote. Ce service a un type de démarrage réglé sur « désactivé », et Windows refuse donc de charger le pilote.
Points clés
- Le nom interne du code 32 est CM_PROB_SERVICE_DISABLED, défini dans le fichier d’en-tête Cfg.h.
- Chaque pilote de périphérique est enregistré comme un service, avec un type de démarrage : 0x0 au démarrage du système, 0x3 à la demande, 0x4 désactivé.
- Microsoft décrit la valeur 0x4 (SERVICE_DISABLED) comme un service qui ne peut pas être démarré, utilisable pour désactiver temporairement un pilote.
- Un pilote ou un périphérique ne peut pas être installé si son fichier INF déclare cette valeur dans sa section d’installation de service.
- Pour les pilotes Plug and Play non nécessaires au démarrage, la valeur normale est 0x3 (SERVICE_DEMAND_START).
Ce que le code 32 dit du système
Le gestionnaire Plug and Play a énuméré le périphérique et trouvé quel pilote lui correspond. Au moment de charger ce pilote, il consulte le service associé et lit son type de démarrage. Sur la valeur 0x4, la séquence s’arrête et le Gestionnaire de périphériques marque le périphérique en code 32.
La seconde phrase du message compte autant que la première. Quand Windows évoque un autre pilote qui fournit peut-être la fonctionnalité, il décrit une situation réelle : un pilote générique du système a pu prendre la relève d’un pilote constructeur désactivé. Un contrôleur de stockage ou une carte réseau peut donc fonctionner en mode dégradé tout en affichant le code.

Pourquoi un service de pilote se retrouve désactivé
- Une désinstallation incomplète de logiciel constructeur, qui laisse le service en place mais coupé.
- Un outil de nettoyage ou d’optimisation qui bascule des services en désactivé pour gagner de la mémoire.
- Un conflit entre deux paquets de pilotes pour le même matériel, l’installateur du second désactivant le service du premier.
- Une modification manuelle du type de démarrage, effectuée dans les services ou en ligne de commande.
- Un pilote de filtre désactivé, alors que le périphérique dépend de lui pour se charger complètement.
Dans tous les cas, la réparation ne consiste pas à remplacer le matériel mais à remettre le service dans son état de démarrage attendu, puis à réénumérer le périphérique.
Solution 1 : identifier le service du pilote
Avant de modifier quoi que ce soit, il faut le nom exact du service. Le Gestionnaire de périphériques le donne.
- Windows + X, puis Gestionnaire de périphériques.
- Clic droit sur le périphérique marqué, Propriétés, onglet Détails.
- Dans la liste déroulante, choisissez Nom du service. La valeur affichée est le nom à utiliser dans les commandes qui suivent.
- Notez aussi Chemin d’accès de l’instance du périphérique, utile pour la réactivation avec PnPUtil.
Solution 2 : lire et corriger le type de démarrage du service
La commande sc interroge et modifie les services, sans passer par l’éditeur du registre.
- Ouvrez une invite de commandes en tant qu’administrateur.
- Lisez l’état actuel :
sc query NOMDUSERVICE, puissc qc NOMDUSERVICEpour voir le type de démarrage. - Repassez le service à la demande, valeur normale des pilotes Plug and Play :
sc config NOMDUSERVICE start= demand. L’espace après le signe égal fait partie de la syntaxe. - Pour un pilote nécessaire dès le démarrage du système, la valeur attendue est
start= bootoustart= systemselon ce que prévoit le paquet du constructeur. Ne devinez pas : réinstallez plutôt le paquet, qui pose la bonne valeur. - Redémarrez le poste, puis vérifiez l’état du périphérique.
Un service supprimé, et non désactivé, renvoie une erreur sur sc query. Dans ce cas, la solution passe par la réinstallation du pilote plutôt que par une correction de valeur.
Solution 3 : réinstaller le paquet de pilotes
C’est la voie la plus sûre, parce que le fichier INF du paquet redéclare le service avec son type de démarrage correct.
- Téléchargez le pilote sur le site du constructeur de la machine ou du composant.
- Dans le Gestionnaire de périphériques, clic droit sur le périphérique, Désinstaller l’appareil, en cochant la suppression du pilote.
- Installez le paquet téléchargé, puis redémarrez.
- En ligne de commande, l’ajout se fait avec
pnputil /add-driver fichier.inf /install, disponible depuis Windows 10 version 1607.
Notre guide sur la façon de mettre à jour les pilotes sous Windows 11 détaille la comparaison entre pilote Windows Update et paquet constructeur.

Solution 4 : quand le périphérique dépend d’un pilote de filtre
Certains périphériques chargent, en plus de leur pilote principal, des pilotes de filtre supérieurs ou inférieurs déclarés par classe d’installation. Si l’un de ces services est désactivé, le périphérique reste bloqué même après réinstallation de son pilote principal.
Le test utile consiste à comparer les filtres déclarés pour la classe du périphérique avec ceux réellement présents, puis à réinstaller le logiciel qui a posé le filtre manquant. Sur un poste géré en entreprise, cette étape appartient à l’administrateur du parc, car les filtres viennent souvent de l’agent de sécurité ou de la solution de chiffrement.
Vérifier après correction
- Redémarrez l’ordinateur, puis rouvrez le Gestionnaire de périphériques pour afficher l’état du périphérique.
- Relancez
sc qc NOMDUSERVICE: le type de démarrage doit avoir gardé la nouvelle valeur. - Si le code revient après chaque redémarrage, un logiciel repose la valeur désactivée. Cherchez du côté des utilitaires d’optimisation et des suites de sécurité installées sur le système d’exploitation.
Le périphérique marche encore : le cas de la carte réseau
Sur une carte réseau, le pilote générique du système prend souvent le relais et la connexion reste debout. Le débit plafonne, les options avancées disparaissent des paramètres de la carte, et le code 32 reste affiché. Il faut alors désinstaller le paquet constructeur en entier, redémarrer, puis réinstaller la version téléchargée sur le site du fabricant, plutôt que corriger la valeur du service à la main.
Un code de périphérique n’est pas un code d’arrêt
Beaucoup de recherches mélangent les codes du Gestionnaire de périphériques et les codes d’arrêt des écrans bleus. Ce ne sont pas les mêmes objets. Un code 32 est un état de configuration, lisible à froid dans Windows. Un code d’arrêt apparaît quand le noyau interrompt l’exécution pour éviter une corruption de la mémoire, et son message parle de thread, de pool ou de violation d’accès.
- Une erreur qui affiche BAD_POOL_CALLER ou une violation d’accès relève du diagnostic d’écran bleu, pas du Gestionnaire de périphériques : voir notre méthode de diagnostic d’un écran bleu aléatoire.
- Un pilote défaillant peut produire les deux symptômes à des moments différents : code 32 quand son service est coupé, écran bleu quand il est chargé et instable.
- Les messages en anglais du type driver failed to load ou invalid data correspondent à d’autres codes de la même table, notamment 39 et 19.
Quand ce n’est pas un code 32
Le Gestionnaire de périphériques distingue précisément l’étape qui a échoué. Les voisins immédiats :
- Code 22 : le périphérique lui-même est désactivé, pas le service de son pilote.
- Code 10 : le pilote est chargé, mais le démarrage du périphérique échoue.
- Code 31 : Windows n’a pas pu ajouter le périphérique.
- Code 39 : le chargement du pilote a échoué, le fichier est absent ou corrompu.
- Code 43 : le périphérique a signalé un problème après son démarrage.
Un code 19 pointe de son côté vers une configuration de registre corrompue pour ce périphérique, ce qui appelle une autre méthode.
FAQ
Peut-on modifier le type de démarrage directement dans le registre ?
C’est techniquement la même valeur que celle exposée par la commande sc. Passer par sc config reste préférable, parce que la commande valide la syntaxe et évite une faute de frappe dans une clé système.
Le périphérique fonctionne malgré le code 32, faut-il intervenir ?
Oui, parce qu’un pilote générique de remplacement n’expose pas toutes les fonctions du matériel. Sur une carte réseau ou une carte graphique, cela se traduit par des performances et des options réduites.
Une restauration du système corrige-t-elle un code 32 ?
Elle peut le faire quand la désactivation date d’une installation logicielle récente, puisque les points de restauration incluent la configuration des services. Elle ne corrige rien si le service a été désactivé avant le point choisi.
Le code 32 touche-t-il surtout un type de matériel ?
Il se voit le plus souvent sur les composants dont le pilote est fourni avec une suite logicielle : cartes réseau et adaptateurs virtuels, contrôleurs de stockage, périphériques audio, lecteurs optiques.
Photo d’en-tête : carte réseau Gigabit PCI Express, photo Dsimic, licence CC BY-SA 3.0, via Wikimedia Commons. La photo montre une carte réseau PCI Express, un exemple de matériel fréquemment concerné par un code 32, et non une capture du message d’erreur.
Sources : Microsoft Learn, Messages d’erreur du Gestionnaire de périphériques ; Microsoft Learn, directive INF AddService et valeurs de StartType ; Microsoft Learn, commande sc config ; Microsoft Learn, commande sc query ; Microsoft Learn, syntaxe de commande PnPUtil.

Michel, dirigeant d’une PME informatique et formateur, expert en logiciels professionnels tels que CRM et ERP. Sa connaissance approfondie des outils de gestion d’entreprise lui permettant de conseiller et former efficacement d’autres sociétés à leur utilisation.





