Comment supprimer les pilotes Windows 10 inutilisés Téléchargez Driver Sweeper – un programme pour supprimer les pilotes du système d'exploitation Windows.

Sous Windows, lors de l'installation ou de la mise à jour des pilotes de périphériques, les anciennes versions des pilotes sont enregistrées dans le système. Ainsi, l'utilisateur a la possibilité de restituer l'ancienne version du pilote à tout moment si le nouveau pilote est instable (une fonctionnalité utile, comme le montre le cas où elle était nécessaire). Cependant, Windows ne nettoie ni ne supprime automatiquement les anciennes versions des pilotes. Ainsi, avec le temps, la quantité d'espace occupée par les pilotes sur le disque système devient assez importante. Dans cet article, nous parlerons des moyens de supprimer les anciennes versions de pilotes (doublons) à l'aide des outils système internes (sans utiliser de logiciel tiers).

Windows stocke tous les fichiers de pilotes dans son référentiel de pilotes (), situé dans le répertoire %WINDIR%\System32\DriverStore\FileRepository.

Dans mon cas, sur un ordinateur portable domestique équipé de Windows 7 (le système a été installé il y a presque 8 ans), le répertoire FileRepository occupe environ 11 Go et contient >5 000 fichiers. Beaucoup! Ce répertoire stocke notamment plus de 20 versions différentes du pilote vidéo Nvidia.

Important!

  1. En aucun cas vous ne devez supprimer manuellement les fichiers de pilote du répertoire DriverStore.
  2. Avant de nettoyer les pilotes, il est fortement recommandé de créer un point de restauration système (Checkpoint-Computer -Description "BeforeDriversDelete") ou .
  3. Après avoir effacé le stockage, lors de la connexion de nouveaux appareils, vous devrez peut-être télécharger et installer les pilotes manuellement.

Recherche et suppression des anciennes versions de pilotes dans Windows 7

Examinons un moyen de rechercher et de supprimer les pilotes obsolètes pour Windows 7 (Windows 8 et Windows 10 ont des méthodes plus simples pour supprimer les anciens pilotes, décrites ci-dessous).

Obtenons une liste de tous les pilotes tiers disponibles dans le système et téléchargeons-les dans un fichier texte. Pour cela, dans la ligne de commande avec les droits d'administrateur, exécutez la commande :

dism /online /get-drivers /format:table > c:\tmp\drivers.txt

Nous importons le fichier résultant dans Excel et supprimons toutes les données inutiles afin qu'il ne reste qu'un tableau avec les listes de pilotes du référentiel au format : numéro de pilote dans le système ( oemXXX.inf), nom du fichier inf d'origine, classe de périphérique, fabricant, date d'installation et version du pilote.

Nous trions le tableau résultant par colonne B (contient le nom du fichier inf d'origine) et colonne F (date d'installation du pilote). Parmi les groupes de pilotes du même nom, nous marquons toutes les versions de pilotes à l'exception de la dernière pour suppression. Dans mon cas, on constate que la plupart des anciennes versions de pilotes appartiennent à NVIDIA.

Pour supprimer le pilote, vous pouvez utiliser la commande pnputil :

pnputil.exe -d oemxxx.inf

Note. Dans certains cas, vous pouvez supprimer le pilote uniquement avec la clé –f: pnputil -f -d oemxxx.inf

Pour plus de commodité, nous formerons des commandes dans une colonne vide pour supprimer chaque pilote en utilisant la formule =CONCATENATE("pnputil.exe -d ";A21)

Il ne reste plus qu'à copier les commandes générées et à les exécuter dans la ligne de commande ou dans le fichier bat.

Ainsi, j'ai supprimé du système environ 40 anciennes versions de pilotes, libérant ainsi environ 8 Go d'espace (principalement grâce aux pilotes vidéo NVIDEA).

Suppression des anciens pilotes sous Windows 10/8 à l'aide de l'utilitaire de nettoyage de disque

Windows 10 / 8.1 dispose d'un outil plus pratique pour supprimer les anciennes versions de pilotes - l'utilitaire de nettoyage de disque familier cleanmgr.exe, qui vous permet également de nettoyer le disque de .

Note. Sous Windows 10 et Windows 8 Upd 1, une option est disponible dans le système dans un répertoire séparé.

L'utilitaire cleanmgr supprimera toutes les anciennes versions de pilotes inutilisées. Cependant, en même temps, vous devez comprendre que dans les propriétés du pilote du gestionnaire de périphériques, le bouton « Restaurer le pilote » deviendra inactif.

Nous continuons à nettoyer le système des déchets accumulés. Aujourd'hui, nous aborderons le sujet des conducteurs. Dans l'article, je n'ai montré qu'un peu à la fin comment supprimer les pilotes. Mais dans l’article il était question de « bois de chauffage » et il fallait l’enlever. Je l'ai décrit plus en détail ici.
Par conséquent, si vous souhaitez supprimer ou restaurer des pilotes, lisez l'un des articles ci-dessus. Ou mieux encore, les deux.

Maintenant, plus près du sujet. La méthode décrite ci-dessous vous aidera à voir et à supprimer tous les pilotes présents sur le système et non utilisés. De quel type de bois de chauffage s'agit-il ? Oui, de toutes sortes. Ce sont également ceux qui ont été installés lorsque vous avez « bloqué » la clé USB d’une autre personne une fois. Cela inclut le bois de chauffage installé avec un programme de traitement vidéo ou sonore, ainsi que des antivirus, etc. logiciel. Par la suite, vous avez déjà supprimé ces programmes, mais les queues sous forme de pilotes peuvent rester. De plus, ces déchets peuvent persister après une réinstallation incorrecte de Windows.

Nous allons maintenant les supprimer en utilisant la méthode Windows standard.

Ouverture Propriétés du système. Cela peut être fait de trois manières :

1) Gagner + Pause/Pause

2) RMB sur l'icône Mon ordinateur et dans le menu contextuel sélectionnez Propriétés

3) Démarrer -> Panneau de configuration -> Système

Sous Windows 7 et 8, vous devez également sélectionner à gauche Paramètres système avancés


Dans cette fenêtre, cliquez sur le bouton Créer dans le champ « Variables système »


Maintenant, dans cette nouvelle petite fenêtre, nous entrons Nom de la variable Comment devmgr_show_nonpresent_devices, UN Signification il y en aura 1


Cliquez ensuite sur OK partout jusqu'à la fenêtre Propriétés système.

Il ne reste plus qu'à ouvrir ce même Manager.
Ou dans cette même fenêtre Propriétés système, sélectionnez l'onglet Équipement:


Ou appelez et entrez Devmgmt.msc ou démarrez devmgmt.msc dedans


Tous. Vous pouvez maintenant ouvrir les listes et vous verrez qu'il y a des éléments translucides ou avec un point d'exclamation. Voici ce dont nous avons besoin :


Faites un clic droit dessus et supprimez :

Vous pouvez également simplifier toutes ces actions (avant d'ouvrir le Manager) en saisissant en ligne de commande Définir devmgr_show_nonpresent_devices=1
Ensuite, vous pouvez ouvrir le gestionnaire, afficher ceux masqués et les supprimer.
La chose à garder à l’esprit ici est qu’après un redémarrage, cette option disparaîtra.

C'est tout. Et en conclusion, je voudrais donner quelques notes :

1) Si cela ne fonctionne pas, essayez de le faire en tant qu'administrateur

2) S'il n'est pas affiché, cliquez sur le bouton "Mettre à jour la configuration matérielle" ou redémarrez le Manager

3) Surveillez attentivement ce que vous supprimez. Si quelque chose ne démarre pas plus tard, ce n’est pas de ma faute.

4) La liste ne montre pas toujours ceux qui sont inutiles. Tout ce qui a été installé peut y être présent. Par conséquent, réfléchissez à nouveau à la nécessité de le supprimer et s’il ne sera définitivement plus utilisé. Bien que le bois de chauffage soit ensuite réinstallé, mais pas pour tous les appareils.

Créé sur la base de

Vous savez bien sûr que lorsque vous connectez un périphérique à un ordinateur, le système d'exploitation installe un pilote pour celui-ci. Ce processus dans Windows 10 est entièrement automatisé et se déroule sans intervention de l'utilisateur. Le pilote installé sera présent dans le système d'exploitation même si le périphérique n'est plus jamais utilisé sur cet ordinateur. N'oubliez pas maintenant : combien d'appareils différents avez-vous connectés à votre PC et, par conséquent, combien de pilotes supplémentaires votre système d'exploitation charge-t-il ? Voyons comment résoudre facilement ce problème.

Driver Store Explorer – un programme pour travailler avec les pilotes

Un programme petit et simple peut aider à simplifier le travail avec les pilotes. Téléchargez-le depuis le site Web du développeur et décompressez-le dans un dossier sur votre disque dur (l'utilitaire fonctionne en version portable, aucune installation n'est requise). Nous lançons le fichier programme et attendons le lancement de l'application et effectuons une première vérification. Une fois terminé, nous verrons la fenêtre principale avec une liste des pilotes installés dans notre système d'exploitation.

Dans la liste présentée, les pilotes sont regroupés par type d'équipement. Ainsi, avec un peu d'expérience, vous pouvez facilement déterminer lequel des périphériques précédemment connectés correspond au pilote installé. Cela ne sera pas difficile à faire, puisque toutes les informations supplémentaires sont affichées sur chaque pilote :

  • nom du fichier inf ;
  • Type de conducteur ;
  • Version actuelle ;
  • Date de sortie ;
  • Quantité d'espace occupé.

La gestion des pilotes installés est très simple. Cliquez avec le bouton droit sur l'une des listes et utilisez le menu contextuel pour effectuer les actions suivantes :

  • Sélectionnez un pilote ou tous les pilotes ;
  • Sélectionnez les anciens pilotes ;
  • Supprimer;
  • Exportez les données du pilote vers un fichier CSV.

Les fonctions suivantes sont disponibles à l'aide des boutons situés à droite de l'application :

  • Rafraîchir – réanalyser la base de données des pilotes présents dans le système d'exploitation ;
  • Ajouter Emballer – installez le pilote à l'aide du fichier inf ;
  • Supprimer Emballer – supprimez le pilote à l'aide du fichier inf ;
  • Sélectionner Vieux Pilotes – marquez les anciennes versions du pilote.

Au lieu d'une postface

À l'aide de l'utilitaire Driver Store Explorer, vous pouvez visualiser visuellement les pilotes installés sur le système, ainsi que rechercher et supprimer ceux inutilisés. Et enfin, la chose la plus importante - avant de commencer à supprimer les pilotes, faites-les au cas où

Un beau (ou triste, selon qui vous choisissez) jour, j'en avais marre de manquer périodiquement d'espace sur mon ordinateur portable. Oui, je suis conscient que les disques durs sont bon marché maintenant, mais ce n'est pas une option pour moi car :

  • J'ai un SSD, mais il sera toujours plus cher que les disques durs classiques (la capacité de mon SSD actuel est de 120 Go)
  • L’ordinateur portable fonctionne, donc les données qu’il contient doivent également être cryptées et tout ça, vous ne devez donc pas brancher un appareil fait maison qui n’est pas approuvé par votre employeur.
  • je suis gourmande :)
Ce sujet est probablement destiné et peut être utile à ceux qui s'inquiètent de l'espace libre sur le disque système, les moyens de nettoyage habituels ont déjà été essayés, mais qui souhaitent en extraire un peu plus (comme dans la vieille blague - le premier lien à la blague apparue sur Google, si le site est mauvais - désolé).

En général, je nettoie parfois l'espace disque. Procédures standard - nettoyage de %TEMP%, nettoyage de disque (efface toutes sortes de rapports d'erreurs enfouis par le système à chaque urgence, toutes sortes d'vidages de mémoire de processus tombés en panne, etc.), démolition des programmes qui ne sont plus nécessaires.
Cependant, comme je l'ai découvert, il y a des dossiers qu'il ne nettoie pas personne(du mot complètement). Eh bien, au sens de moyens standards. Et maintenant, je veux parler du dossier %WINDIR%\System32\DriverStore.

Si ce dossier prend beaucoup de place pour vous et que vous n'avez pas envie de lire l'intégralité du message, allez jusqu'à la toute fin, il y a des liens vers github, où vous pouvez prendre le résultat final de mes recherches et essayer de presser (ou extraire) un peu d'espace de Windows.

Introduction au problème - de quel type de dossier s'agit-il, pourquoi est-il nécessaire, qui est à blâmer, que faire

Si vous parcourez Internet, vous constaterez que c'est l'endroit où le système stocke en réserve tous les pilotes qu'il a rencontrés en cours de route. Oui, oui, et ceux qui ont été installés pour votre carte vidéo il y a trois ans sont également là, malgré le fait que vous les ayez mis à jour de nombreuses fois.

Laissez-moi vous donner une petite théorie tirée de ce même MSDN :

À partir de Windows Vista, le magasin de pilotes est un ensemble fiable de packages de pilotes de boîte de réception et tiers. Le système d'exploitation conserve cette collection dans un emplacement sécurisé sur le disque dur local. Seuls les packages de pilotes du magasin de pilotes peuvent être installés pour un périphérique.

Lorsqu'un package de pilotes est copié dans le magasin de pilotes, tous ses fichiers sont copiés. Cela inclut le fichier INF et tous les fichiers référencés par le fichier INF. Tous les fichiers contenus dans le package de pilotes sont considérés comme essentiels à l'installation du périphérique. Le fichier INF doit référencer tous les fichiers requis pour l'installation du périphérique afin qu'ils soient présents dans le magasin de pilotes. Si le fichier INF fait référence à un fichier qui n'est pas inclus dans le package de pilotes, le package de pilotes n'est pas copié dans le magasin.

Le processus de copie d'un package de pilotes vers le magasin de pilotes est appelé transfert. Un package de pilotes doit être transféré vers le magasin de pilotes avant que le package puisse être utilisé pour installer des périphériques. Par conséquent, la préparation du pilote et l’installation du périphérique sont des opérations distinctes.

Un package de pilotes est transféré vers le magasin de pilotes après avoir été vérifié et validé.

Dans ma traduction libre, cela donnerait quelque chose comme :

Dans Windows Vista et versions ultérieures, le magasin de pilotes est utilisé comme un ensemble de pilotes tiers et préinstallés fiables. Le système d'exploitation conserve cette collection dans un emplacement sécurisé sur le disque local. Seuls les pilotes présents dans le référentiel peuvent être installés.

Lorsqu'un pilote est copié dans le référentiel, tous ses fichiers y sont placés, y compris le fichier .INF et tous les fichiers auxquels ce .INF fait référence. Tous les fichiers qui composent le pilote sont considérés comme nécessaires au fonctionnement de l'appareil. Le fichier INF doit référencer tous les fichiers nécessaires au fonctionnement de l'appareil pour qu'ils finissent tous en stockage. Si le fichier .INF fait référence à un fichier qui n'est pas inclus dans le pilote, ce pilote n'est pas copié dans le magasin.

Le processus de copie d'un pilote vers le stockage est appelé transfert ( n'a pas essayé d'inventer un terme, a laissé le mot anglais - env.). Pour qu'un pilote puisse être utilisé pour un périphérique, il doit passer par un processus de préparation, donc l'installation du périphérique et la préparation du pilote sont des opérations distinctes.

Avant d'entrer dans le stockage, le conducteur est vérifié pour la validité de la signature et l'intégrité des fichiers.

Est-ce vraiment si grave et personne ne veut vous aider ?

Ça a l'air un peu effrayant d'y entrer avec ses mains sales, n'est-ce pas ? Il existe cependant une petite paille (et pas très pratique) de chez Microsoft, elle s'appelle pnputil.exe et peut :
  • Lister les pilotes qui sont en staging (mais non inclus dans la distribution standard de votre Windows, c'est à dire non intégrés à la distribution d'installation)
  • Ajouter un pilote au référentiel
  • Supprimer le pilote du stockage
De plus, lors de la suppression, il vérifie si le pilote en cours de suppression est actuellement utilisé pour un périphérique connecté, et sans l'option /f (c'est-à-dire /force - force), il refuse de supprimer ces pilotes.
J'ai utilisé cet utilitaire.

Ici, il convient de mentionner que je ne suis pas la première personne intelligente à réfléchir à ce problème ; sur codeplex, il existe un projet pour l'application GUI DriverStore Explorer, mais il ne s'agit en fait que d'un wrapper graphique autour de pnputil et n'analyse les pilotes en aucun cas. manière, donnant une totale liberté à son utilisateur.
Premièrement, je ne voulais pas vraiment rechercher manuellement les versions obsolètes des pilotes, et deuxièmement, je voulais comprendre ce que je gagnerais à supprimer un pilote particulier (en termes d'espace disque). Il y avait donc ici un véritable syndrome.
J'ai donc pris Python et c'est parti.

Hourra, construisons notre propre vélo !

En regardant de plus près, j'ai découvert que pour trouver la version la plus récente, il y avait suffisamment de données de pnputil, mais pour déterminer la taille - pas, car pnputil dit à propos du pilote ce qui suit - qui l'a créé, quand, la version et nom du fichier INF. Il ne dit pas lequel des dossiers du DriverStore appartient à ce pilote.
Après avoir regardé de plus près le dossier %WINDIR%\Inf, j'y ai trouvé les mêmes fichiers .INF (par nom) que pnputil répertorie, et en regardant les dossiers dans le DriverStore, j'y ai trouvé... les mêmes fichiers .INF , mais avec des noms différents - chacun dans un dossier provenant de son propre pilote.
Il existe sûrement un moyen plus simple, mais je suis allé directement de l'avant - j'ai construit un mappage à partir du nom du fichier .INF dans la sortie pnputil vers le dossier du DriverStore, qui contient le même contenu du fichier .INF (avec un nom différent) . Et j'ai pris la taille de ce dossier comme taille du pilote.

Il ne restait plus qu'à envelopper le tout dans des scripts pour une exécution facile.
En cours de route, cependant, il y a eu une configuration sous la forme d'UAC - pnputil ne fonctionnait qu'avec les droits d'administrateur, ce qui signifie qu'il était nécessaire d'augmenter les privilèges de Python. Une recherche rapide sur Google a donné plusieurs recettes qui disaient quelque chose comme "vous pouvez le faire de cette façon, mais il n'y aura pas de sortie (et encore moins d'entrée), je n'ai aucune idée de comment vous allez le déboguer", et cela ne me convenait pas, alors Je l'ai modifié un peu par des exemples.
Certes, mon implémentation n'est actuellement pas idéale - elle plantera lorsque vous tenterez de rediriger stdout ou stderr, car en interne j'utilise le concept de console Windows, et cela ne fonctionne pas pour les flux redirigés...
Mais j'ai fermé les yeux sur cela pour l'instant, car pour résoudre ce problème, vous devez installer un mécanisme légèrement plus complexe que l'appel de FreeConsole/AttachConsole, c'est-à-dire rediriger manuellement tous les flux.

Essayons ce qui est écrit en pratique

Et maintenant, en fait, ce qui est le plus savoureux, ce sont les résultats de tout ce tissu de texte. Vous pouvez le prendre et l'utiliser à vos risques et périls, vous pouvez essayer de faire du bien et de nuire au code source (licence MIT, oui). Vous pouvez même me remercier dans les commentaires si ces scripts aident quelqu'un :)

Si vous téléchargez une version binaire (l'interpréteur est câblé à l'intérieur) - prenez celle qui correspond à la profondeur de bits du système d'exploitation (la version 32 bits sur un système d'exploitation 64 bits ne trouvera pas pnputil et, par conséquent, ne fonctionnera pas ... si vous en avez vraiment besoin - écrivez, vous pouvez essayer de le contourner).
Si vous prenez la version script, c'est pareil, vous devez l'exécuter avec un interpréteur avec la capacité en bits du système d'exploitation.

J'ai personnellement testé cela sur deux ordinateurs avec Windows 7, en théorie cela devrait fonctionner sous Vista et 8. Sous WinXP, cela devrait être (en quelque sorte) inutile.
Le script analysera le stockage des pilotes, tentera de trouver les versions de pilotes obsolètes (c'est-à-dire celles pour lesquelles une version plus récente est simultanément en préparation) et proposera de les supprimer, donnant une estimation de l'espace occupé par les pilotes (et une estimation des gains , bien sûr aussi).

Résultat sur mon ordinateur portable
Personnellement, j'ai réussi à extraire environ 6 gigaoctets (!), principalement en supprimant les anciennes versions des pilotes de la carte vidéo NVidia.
Sur un autre ordinateur portable, tout s'est avéré moins rose, nous n'avons réussi à effacer que 200 (à mon avis) mégaoctets, mais là, le système a vécu beaucoup moins que le mien et n'a tout simplement pas eu le temps d'accumuler de nombreux pilotes.

Depuis lors, les deux ordinateurs portables ont vécu une vie bien remplie, dans le sens où je n’ai remarqué aucun problème de nettoyage.

Si vous avez lu jusqu'ici, merci de votre attention !

Épilogue

Comme prévu, il s'est avéré que les scripts de nettoyage ne fonctionnent pas toujours, le principal problème est que Windows n'est pas anglophone (d'une manière ou d'une autre, je ne pensais pas que les utilitaires seraient localisés). C'est ce que je vais corriger. La plupart des problèmes devraient être résolus, voir

Souvent, lors du déplacement de Windows d'une machine à l'autre (machine virtuelle), de nombreux pilotes matériels restent dans le système d'exploitation, qui ne sont plus réellement impliqués dans le travail, mais peuvent servir d'interférence. Voyons comment identifier les équipements inutilisés et comment supprimer ces périphériques et leurs pilotes ?

Comment identifier le matériel inutilisé ?

Par défaut, sous Windows, l'option chargée d'afficher les appareils inutilisés dans le Gestionnaire des tâches est désactivée. Il existe 2 manières d'activer l'affichage des équipements cachés. Lequel choisir dépend de vous.

Note. Toutes les actions ci-dessus doivent être effectuées avec les droits d'administrateur. Il convient également de noter que dans ce cas, l'essentiel est de ne pas supprimer les éléments inutiles. Sinon, le système risque tout simplement de ne pas démarrer. Cela s'applique particulièrement aux pilotes et aux contrôleurs de disque dur.

Activer l'affichage du matériel Windows inutilisé via l'interface graphique

  1. Appuyez sur les touches Windows + Pause/Pause. (Soit dans " Panneaux de contrôle" sélectionnez l'élément " Système")
  2. Dans la fenêtre qui s'ouvre " Système"sélectionner un article" Propriétés système supplémentaires".
  3. Dans la fenêtre qui s'ouvre " Propriétés du système"sur l'onglet" En plus" tout en bas, cliquez sur le bouton " "Variables d'environnement".
  4. Dans la fenêtre qui s'ouvre " Variables d'environnement"dans le champ" Variables système" Pour créer une nouvelle variable, vous devez appuyer sur le bouton " Créer…"
  5. Dans la fenêtre supplémentaire qui apparaît " Nouvelle variable système" fournissez le nom et la valeur de la variable .
  6. Ok-ok-ok.)))

Activation de l'affichage du matériel Windows inutilisé via la ligne de commande

  1. démarrer -> exécuter (ou appuyer sur les touches Windows + R) -> cmd -> OK
  2. Entrez Définir devmgr_show_nonpresent_devices=1 , appuyez sur Entrée

Note. Dans ce cas, après un redémarrage, cette option sera désactivée. Contrairement à la définition d'une variable via l'interface graphique.

Comment supprimer les pilotes du matériel inutilisé ?

L'option permettant d'afficher les appareils cachés a été activée, examinons maintenant les appareils eux-mêmes et supprimons ceux qui sont inutiles. Pour ce faire, ouvrez le Gestionnaire de périphériques Démarrer -> Exécuter -> Devmgmt.msc -> OK. Pour que les appareils apparaissent dans le "Gestionnaire de périphériques", vous devez vous rendre dans l'onglet " Voir"sélectionner un article" Afficher les appareils cachés". Désormais, si vous ouvrez un élément de l'arborescence (qui contient censément des appareils inutilisés), ils auront des icônes ombrées ou des icônes avec un point d'exclamation jaune. En sélectionnant l'appareil avec le bouton droit de la souris, vous pouvez sélectionner l'élément " Supprimer". Après avoir confirmé avec le bouton OK, un redémarrage peut être nécessaire.

Article original de Microsoft : http://support.microsoft.com/kb/315539/ru

Cordialement, McSim!



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :