Windows 7 comment identifier un pilote buggé. Utilisation de Driver Verifier pour corriger un écran bleu de la mort. Vérification des pilotes non signés

Un pilote est un programme nécessaire pour système opérateur et diverses applications logicielles pour interagir avec les périphériques matériels qui y sont connectés. Les composants matériels tels que le son, les cartes vidéo, les imprimantes, les scanners ont tous besoin d'un pilote compatible pour fonctionner correctement.

Tous les pilotes de périphériques sont conçus pour des systèmes d'exploitation spécifiques. Par exemple, les pilotes Windows XP seront différents des pilotes Windows Vista. Par conséquent, il est nécessaire de prendre des précautions supplémentaires lors de l'installation et de la mise à jour des pilotes de périphérique, car l'installation de pilotes incorrects ou incompatibles peut non seulement endommager le périphérique, mais également votre système.

Causes courantes des erreurs de pilote

Certaines causes courantes d’erreurs de pilote sont répertoriées ci-dessous :

  • Vous essayez d'utiliser un périphérique matériel qui n'est pas correctement connecté à votre ordinateur.
  • Deux ou plusieurs pilotes du système sont incompatibles les uns avec les autres.
  • Le ou les pilotes installés ne sont pas compatibles avec votre système.
  • Il y a des pilotes inutiles ou obsolètes sur votre PC.

Étapes pour corriger les erreurs de pilote
La première étape pour identifier une erreur de pilote consiste à s'assurer que le périphérique est correctement connecté à votre système. De nombreux appareils génèrent des erreurs de connexion, alors vérifiez que votre appareil est correctement connecté à votre système. Ensuite, vous devez vous assurer qu'il n'y a aucun problème avec les pilotes. Vous pouvez le faire à l'aide de l'utilitaire Gestionnaire de périphériques fourni avec votre ordinateur. Système Windows. Vous pouvez ouvrir le Gestionnaire de périphériques en exécutant directement gestion du développement. msc depuis ligne de commande Commencer>Terminéil. Lorsque vous ouvrez le Gestionnaire de périphériques, vous verrez une liste de tous les appareils connectés à votre système. Vous pourrez facilement identifier le fichier défectueux car il sera marqué d'un triangle jaune avec point d'exclamationà l'intérieur. Cliquez avec le bouton droit sur un périphérique pour ouvrir sa boîte de dialogue de propriétés. Dans la boîte de dialogue des propriétés, vérifiez la section Statut du périphérique sur l'onglet Sont communs. Les pilotes sont affichés dans l'onglet Pilotes de la fenêtre des propriétés. Ici, effectuez l'une des tâches suivantes :

  • Vérifiez et installez les mises à jour des pilotes : Pilotes obsolètes l'une des principales raisons associées aux erreurs de pilote. Pour résoudre ce problème, cliquez sur le bouton Mettre à jour le pilote.L'assistant de mise à jour du matériel s'ouvrira. Vous pouvez utiliser l'assistant pour mettre à jour le pilote. Il est recommandé de télécharger d'abord la mise à jour du pilote et de l'enregistrer dans un emplacement pratique sur votre disque dur, puis de démarrer le processus de mise à jour car l'assistant de mise à jour vous demandera de spécifier un emplacement d'installation. la mise à jour.
  • Restauration du pilote : Si vous commencez à recevoir un message d'erreur peu de temps après l'installation d'une nouvelle mise à jour, il est probable que la nouvelle mise à jour soit boguée. Pour résoudre ce problème, cliquez sur le bouton Restauration du pilote pour revenir au vôtre la version précédente Conducteurs.
  • Désinstallation du pilote : S'il y a des problèmes avec vos pilotes actuels (fichiers manquants ou corrompus), la meilleure chose à faire est de cliquer sur Supprimer pour désinstaller le pilote actuel, puis réinstallez-le à nouveau.

Si vous n'êtes pas sûr de ce que vous faites et si vous trouvez les correctifs ci-dessus un peu difficiles, il est recommandé de choisir un outil d'analyse de pilotes fiable. Les outils d'analyse des pilotes sont conçus pour vérifier tous les pilotes de périphériques et s'assurer qu'ils ne sont pas à jour. Chaque fois que de nouvelles mises à jour sont disponibles, le scanner de pilotes télécharge et installe automatiquement les meilleures mises à jour sur votre ordinateur.

Utilisation de l'utilitaire système inclus avec Windows Vista/7 Vérificateur de pilote Manager, vous pouvez effectuer un diagnostic complet des pilotes installés dans le système et trouver les composants problématiques qui interfèrent avec le fonctionnement stable de l'ordinateur et des équipements qui y sont connectés.

Pour exécuter l'outil mentionné, vous devez vous connecter à Windows avec les droits d'administrateur, puis dans la barre d'adresse du menu « Démarrer -> Exécuter », entrez la commande verifier.exe et cliquez sur OK. En conséquence, la fenêtre Driver Verification Manager s'ouvrira, dans laquelle vous devrez vous gratter la tête et décider de l'option appropriée pour lancer l'utilitaire. Vous pouvez effectuer des tests à la fois sélectifs et complets de tous les pilotes sans exception.

Après avoir défini le mode de fonctionnement du programme et appuyé sur le bouton « Terminer », vous devrez redémarrer l'ordinateur et attendre que le système d'exploitation se charge. Si un pilote défectueux est détecté, Windows tombera dans ce que l'on appelle « l'écran bleu de la mort » (BSOD - Blue Screen Of Death) et signalera une erreur critique contenant des informations sur le composant problématique, qui doivent être prises en compte.

L'étape suivante consiste à supprimer les fichiers de pilote défectueux. Pour ce faire, vous devez maintenir la touche F8 enfoncée lors du démarrage de l'ordinateur, démarrer le système en mode sans échec puis en standard en utilisant Windowséliminer le composant défectueux. Ensuite, vous devrez ouvrir à nouveau la console et entrer l'instruction verifier.exe /reset pour désactiver l'application Driver Verifier Manager. Il est important de noter que la saisie de la dernière commande est également requise si l'ordinateur démarre correctement, indiquant l'absence de pilotes problématiques.

Informations de référence supplémentaires sur ce problème Consultez l'article « Utiliser le vérificateur de pilotes pour identifier les problèmes de pilote Windows (avancé) » sur le site de support Microsoft.

Indique un pilote système qui est peu susceptible d'être à l'origine du problème (par exemple, win32k.sys). Dans ce cas, une analyse sérieuse de la décharge sera nécessaire, nécessitant des connaissances et une expérience très approfondies dans ce domaine. Cependant, vous pouvez vérifier vous-même vos pilotes à l'aide du vérificateur de pilotes intégré au système d'exploitation. Verifier.exe. Bien qu'il soit traité en détail dans l'article de la base de connaissances Microsoft Utilisation du vérificateur de pilotes pour résoudre les problèmes de pilote Windows, le matériel qui y est présenté est présenté à un niveau technique assez avancé. Ci-dessous se trouve brève description actions qui doivent être prises pour vérifier les conducteurs.

Sur cette page

Premiers pas avec le vérificateur de pilotes

au menu CommencerExécuter(ou CommencerRecherche) entrer vérificateur et appuyez sur Entrée. Le vérificateur de pilotes se lancera. Sélectionnez un élément Créer des paramètres non standard (pour le code du programme) et appuyez sur le bouton Plus loin.

Sélectionnez des options individuelles parmi liste complète et appuyez sur le bouton Plus loin.

À l'étape suivante, cochez toutes les cases sauf Simulation de pénurie de ressources et appuyez sur le bouton Plus loin.

À l'étape suivante, sélectionnez Sélectionnez automatiquement les pilotes non signés et appuyez sur le bouton Plus loin. Si aucun pilote non signé n'est trouvé, accédez à .

Pilotes non signés

Si des pilotes non signés sont détectés, vous en verrez une liste.

Les pilotes peuvent appartenir à la fois aux appareils et aux applications. Ne fermez pas la fenêtre Driver Verifier et ne cliquez pas sur le bouton Plus loin Maintenant.

Rechercher des pilotes mis à jour

Vous devez vérifier s'il existe des pilotes mis à jour.

  1. Si un pilote d'application est répertorié, visitez le site Web du fabricant pour voir si l'application a été mise à jour. S'il n'y a pas de version mise à jour, vous pouvez essayer de désinstaller l'application (vous pourrez toujours la réinstaller plus tard). Si les erreurs critiques s’arrêtent, c’est la cause.
  2. Si vous voyez un pilote de périphérique dans la liste et que vous exécutez Windows Vista, utilisez le centre Mises à jour Windows pour rechercher de nouveaux pilotes. Cette méthode fonctionne bien pour Windows Vista, car de nombreux fabricants de périphériques travaillent avec Microsoft pour rendre leurs pilotes disponibles au téléchargement via Windows Update. Dans le Panneau de configuration, sélectionnez Windows Update et vérifiez les mises à jour du pilote de votre périphérique. Si le pilote est trouvé, installez-le.
  3. Si Windows Update ne vous propose pas de nouveaux pilotes, visitez le site Web du fabricant de l'appareil. Peut-être que de nouveaux pilotes y sont disponibles. Si vous rencontrez des problèmes pour trouver des pilotes, veuillez visiter le forum Rechercher des pilotes, des micrologiciels et des manuels sur OSzone.net.

Après avoir mis à jour une application ou un pilote, fermez la fenêtre Driver Verifier. appuyer sur un bouton Annuler(mais non Plus loin) . Redémarrez votre ordinateur et continuez à utiliser le système d'exploitation. Si l'erreur critique ne se produit plus, vous l'avez résolue en mettant à jour le pilote.

Suppression des pilotes

Si de nouveaux pilotes ne sont pas trouvés, essayez de désinstaller le pilote.

Attention! La suppression des pilotes entraîne l'inopérabilité du périphérique. Après un redémarrage, dans le meilleur des cas, le système d'exploitation installera le pilote approprié à partir de son propre magasin de pilotes. Si vous ne savez pas s'il faut supprimer un pilote particulier, ne le supprimez pas.

Dans le Gestionnaire de périphériques ( CommencerRechercher / Exécuterdevmgmt.mscD'ACCORD) recherchez l'appareil, faites un clic droit dessus et sélectionnez-le menu contextuel paragraphe Propriétés. Allez ensuite dans l'onglet Conducteur et appuyez sur le bouton Supprimer.

Vérification des pilotes non signés

Attention! Après avoir vérifié les pilotes non signés, le système peut ne pas démarrer (la procédure à suivre dans une telle situation est décrite ci-dessous).

Si vous ne souhaitez pas supprimer le pilote et/ou rechercher des pilotes non signés, dans la fenêtre Driver Verifier, cliquez sur Plus loin. Vous serez invité à sélectionner un disque physique.

Prêt, puis redémarrez votre ordinateur. Si après le redémarrage, vous voyez un écran bleu avec une erreur, le pilote problématique a été identifié et son nom sera inclus dans le message d'erreur. Entrez en mode sans échec et réinitialisez toutes les options de vérification du pilote en entrant CommencerRechercher / Exécuteréquipe vérificateur.exe /reset.

Si le système démarre en mode normal, la vérification des pilotes non signés s'est terminée avec succès : ils ne sont pas la source du problème. Vous pouvez voir une liste des pilotes testés en exécutant vérificateur.exe .

Étant donné que les pilotes non signés ne sont pas à l'origine d'une erreur fatale, vous devez vérifier les autres pilotes.

Vérification du pilote personnalisé

Si aucun pilote non signé n'est trouvé ou si leur vérification ne révèle aucun problème, vous devrez effectuer une vérification personnalisée des pilotes. Dans ce cas, dans la fenêtre ci-dessous, sélectionnez Sélectionnez le nom du pilote dans la liste.

À l'étape suivante, il vous sera demandé de sélectionner les pilotes à analyser. Ne sélectionnez pas tous les pilotes à la fois, car leur vérification prendra beaucoup de temps et de ressources système.

La vérification peut donc devoir être effectuée en plusieurs étapes. La séquence étape par étape de sélection des pilotes pourrait être la suivante :

  1. Pilotes récemment mis à jour ou ceux qui posent généralement des problèmes (pilotes programmes antivirus, pare-feu, disques virtuels).
  2. Pilotes non fournis par Microsoft.
  3. Groupe de 10 à 15 chauffeurs à la fois.

Sélectionnez le lecteur sur lequel le système d'exploitation est installé et cliquez sur Prêt, puis redémarrez votre ordinateur.

Attention! Après avoir vérifié les pilotes, le système peut ne pas démarrer (décrite ci-dessous comment agir dans une telle situation).

Si après le redémarrage, vous voyez un écran bleu avec une erreur, le pilote problématique a été identifié et son nom sera inclus dans le message d'erreur. Redémarrez votre ordinateur et connectez-vous mode sans échec en appuyant F8 pendant le chargement. Après vous être connecté, réinitialisez tous les paramètres de vérification du pilote en entrant CommencerRechercher / Exécuteréquipe vérificateur.exe /reset.

Si le système démarre en mode normal, la vérification des pilotes sélectionnés a été effectuée avec succès : ils ne sont pas à l'origine du problème. Vous pouvez voir une liste des pilotes testés en exécutant vérificateur.exe et sélection de l'élément dans la première étape Afficher des informations sur les pilotes actuellement vérifiés.

Sélectionnez maintenant le groupe de pilotes suivant et vérifiez à nouveau.

Tous les conducteurs ont été contrôlés – et ensuite ?

Si le contrôle de tous les conducteurs a réussi, je dois tirer mon chapeau pour votre patience et votre persévérance. Très probablement, les pilotes ne sont pas à l'origine de l'erreur critique survenant sur votre système. Il est possible que le problème réside dans le matériel de votre ordinateur - par exemple, un disque dur défectueux ou mémoire vive, ou l'alimentation électrique est puissance insuffisante pour assurer le fonctionnement de tous les appareils. Il peut y avoir d'autres problèmes matériels qui ne peuvent pas non plus être identifiés en vérifiant les pilotes.

L'utilitaire que nous allons décrire aujourd'hui s'appelle Driver Verifier et est inclus dans tous les systèmes d'exploitation, y compris Windows XP. Ce programme vous permet de vérifier et d'identifier les problèmes qui peuvent grandement nuire au système. Le problème le plus connu est l’écran bleu de la mort.

Les données sur ces pilotes sont enregistrées dans un vidage mémoire afin que des analyses puissent être effectuées ultérieurement. Ainsi, l'utilitaire soumet les conducteurs à des situations dites de stress (tests), créant des conditions visuelles extrêmes, par exemple manque de mémoire, verrouillages divers, IRQL, contrôles IRP, DMA, etc., contrôle des E/S. En d'autres termes, des situations extrêmes sont simulées qui ne devraient pas se produire lors d'un travail normal avec Windows, ou qui ne se produisent pas souvent. Ainsi, l'utilitaire vous permet d'identifier les pilotes pouvant entraîner un crash du système.

Comme je l'ai déjà dit, l'utilitaire est intégré à tout Versions Windows et est en route %windir%\system32. L'utilitaire peut également être utilisé en deux versions : ligne de commande et interface graphique.

Ainsi, pour exécuter l'utilitaire de vérification des pilotes, vous devez ouvrir la fenêtre "Courir" tapez la commande suivante :

vérificateur

Une fenêtre s'ouvre avec les paramètres nécessaires, dans laquelle nous sélectionnons le deuxième élément - "Créer des paramètres personnalisés" ou "Créer des paramètres personnalisés".

Il faut maintenant trier le contenu ; pour ce faire, cliquez sur le mot en haut du tableau Fournisseur. Vous pouvez maintenant sélectionner tous les pilotes. À propos, vous n’êtes pas obligé de choisir des pilotes Microsoft.

Maintenant vous pouvez appuyer sur le bouton Finition, après quoi il vous sera demandé de redémarrer le système.

Ainsi, le redémarrage est terminé et le système va maintenant démarrer en mode de vérification du pilote. L'utilitaire s'exécutera en arrière-plan et effectuera divers tests. Vous pouvez travailler calmement sur l'ordinateur jusqu'à ce que l'utilitaire soit terminé. Après le travail, le fichier d'informations sera enregistré dans un vidage mémoire. Un tel fichier se trouve généralement le long du chemin : C:\Windows\Minidump\*.dmp. Il peut désormais être analysé, par exemple, à l'aide de Windbg ou d'un autre programme similaire.

Si au bout de quelques jours il s'avère que le problème ne s'est pas reproduit, alors on peut dire que le problème ne vient pas du tout des pilotes et il faudra chercher la cause ailleurs. En attendant, vous pouvez déjà désactiver le mode de vérification du pilote. Je tiens à dire tout de suite que ce mode ralentit considérablement le système, il n'est donc pas recommandé de travailler souvent avec lui.

Vous pouvez désactiver l'utilitaire comme ceci : dans la ligne de commande, saisissez la commande suivante :

C'est tout. J'espère que cet article vous a aidé à résoudre vos problèmes.

Nous vous prévenons que toute expérience avec les pilotes est dangereuse et peut endommager le système. Il est préférable de faire une sauvegarde du système à l'avance et de ne pas croiser les doigts en supprimant un autre pilote suspect de Windows.

Et dès qu'ils ne grondent pas les fenêtres depuis Microsoft, qualifiant la pauvre chose à la fois de lente, de pépin et même d'instable. Mais personne n’est pressé d’y renoncer, et en général, il est peu probable qu’ils y renoncent un jour. Par conséquent, au lieu de gronder les mauvais développeurs et de déclencher des flammes inutiles, il serait bon de comprendre pourquoi, en fait, le système est bogué ? Je vais vous dire un petit secret. Sur les fameux écrans de la mort et du travail instable les fenêtres dans la grande majorité des cas, les pilotes tiers sont à blâmer et le système d'exploitation lui-même n'a absolument rien à voir avec cela. Nous allons maintenant vous expliquer comment détecter ces pilotes et les supprimer du système.

Les défauts de conception des pilotes peuvent aller des crashs à l'écran bleu de la mort ( BSOD– Blue Screen of Death) et au ralentissement de l’ordinateur et au comportement étrange de certaines applications qui n’ont aucun rapport avec le pilote.

L'écran bleu de la mort est remarquable (sans aucune ironie !) dans le sens où il signale clairement la présence d'un problème grave et donne une astuce sur où creuser. Souvent (mais pas toujours) le nom du conducteur « fautif » s’affiche directement dans le coin supérieur droit de l’écran bleu de la mort. Cependant, il se peut qu'il ne soit pas là ou, pire encore, que le nom d'un conducteur totalement indépendant puisse y être.

Par exemple, un pilote de carte vidéo assez courant Matrox G450 a tendance à détruire les structures de base du sous-système graphique les fenêtres 2000 , ce qui fait que le BSOD affiche le nom du pilote système win32k.sys, qui implémente une partie importante des fonctions USER et GDI et qui, bien entendu, n'a rien à voir avec cela. Ainsi, interpréter l’écran bleu des lectures de la mort relève de la magie, de l’intuition, de la science et de l’art – un peu de tout.

En plus des défauts du pilote, les écrans bleus de la mort peuvent également être causés par des pannes matérielles, par exemple un processeur overclocké, une RAM défectueuse ou un contrôleur tordu. disque dur, une carte PCI mal insérée dans le slot, un contact desserré dans l'un des connecteurs, une mauvaise alimentation, un condensateur électrolytique gonflé carte mère. Et les derniers boudent raisons diverses: en raison d'une surchauffe d'un processeur à proximité, d'un manque de condensateurs céramiques « non signalés » par le constructeur (à la suite de quoi le composant RF traverse l'électrolyte et le chauffe fortement), et enfin, en raison d'une fuite des transistors clés dans l'ensemble stabilisateur. Par conséquent, avant de couper du bois, nous devons nous assurer que le fer sur lequel nous sommes assis est en parfait état de fonctionnement. Comment cela peut-il être fait?

Affrontement avec du fer

Les écrans bleus de la mort provoqués par des pannes matérielles sont spontanés, apparaissant de manière imprévisible et indépendamment des actions spécifiques de l'utilisateur. Les applications d'application commencent également à produire des erreurs critiques à divers endroits, et les codes d'erreur, adresses et autres informations émises par le système seront différents dans tous les cas ! À propos, les pilotes qui gèrent les requêtes asynchrones des périphériques d'E/S, par exemple réseaux sans fil, se comportent presque exactement de la même manière. Les écrans bleus de la mort causés par des pilotes défectueux se produisent généralement lors de l'exécution d'un ensemble spécifique d'actions et contiennent des informations plus ou moins constantes.

Pour dissiper tous soupçons sur le matériel, il suffit d'en connecter un autre au système Disque dur, installez dessus un virgin clean les fenêtres et j'y travaille pendant un moment. Si les écrans bleus de la mort ne disparaissent pas, cela signifie que le matériel est vraiment en cause et qu’il est temps de le changer. La recherche de composants défectueux fait l'objet d'une discussion distincte, que nous laisserons pour la prochaine fois, mais pour l'instant, retroussons nos manches et abordons ces conducteurs insidieux.

Le bois de chauffage sans certificat va directement dans le foyer

L'ensemble des outils nécessaires au développement des pilotes ( DDK– Driver Development Kit), Microsoft le distribue gratuitement avec la documentation qui l'accompagne. Pilotes, parfois très buggés et instables.

Pour éviter qu’un tel chaos ne se produise, Microsoft dès l'Antiquité, il a introduit une procédure de certification des conducteurs pour le respect des exigences qui leur sont imposées, après quoi le conducteur reçoit une signature numérique. Ou... il n'a pas été publié et il a été envoyé pour révision. Et bien que la certification ne soit qu'une procédure formelle qui ne garantit pas l'absence d'erreurs fatales et de défauts de développement, elle élimine néanmoins certains des pilotes franchement « pionniers ».

Idéalement, seuls les pilotes signés numériquement devraient être conservés sur le système. Et bien qu’une signature numérique ne soit pas une police d’assurance, sa présence indique déjà un certain niveau de culture de développement. Pilotes sans signature numérique- c'est pire qu'un cochon dans un sac, et il faut s'en débarrasser si possible (d'autant plus que beaucoup d'entre eux sont des programmes malveillants installés par des rootkits ou des mécanismes de défense agressifs qui pénètrent profondément dans le système et provoquent son instabilité). Bref, ne nous livrons pas à la démagogie, mais essayons de répondre à une question simple : comment créer une liste de conducteurs sans signature numérique ?

L'utilitaire nous aidera avec cela sigverif.exe, inclus dans la livraison standard du système d'exploitation et situé dans le répertoire WINNT\System32. Nous le lançons et voyons une boîte de dialogue. Cliquez sur le bouton "Avancé" et dans l'onglet "Recherche", configurez les critères de sélection en déplaçant le bouton radio de la position "Notifier en cas de désabonnement". fichiers système"(où il traînait par défaut) à la position "Rechercher d'autres fichiers qui ne sont pas signés numériquement". Après cela, dans les « Options de recherche », ouvrez la case « Rechercher les fichiers du type suivant » et sélectionnez « *.sys », et ci-dessous indiquez le dossier de recherche « C:\WINNT », en veillant à cocher la case « Y compris sous-dossiers ».

En fait, à proprement parler, les pilotes n'ont pas besoin d'avoir l'extension sys et ne sont pas toujours limités au répertoire WINNT, étant dans les répertoires de « leurs » applications, et certaines applications stockent même les pilotes... en elles-mêmes ! Immédiatement après le lancement (ou à tout autre moment), ils enregistrent le fichier sur le disque dans le répertoire actuel ou temporaire, chargent le pilote en mémoire et... le suppriment immédiatement du disque ! Cela est fait non seulement par des virus malveillants, mais aussi par des programmes tout à fait respectables, tels que certains utilitaires du célèbre chercheur souterrain de Windows, Mark Russinovich.

Par conséquent, pour la pureté de l’expérience, cela ne nous ferait pas de mal d’obtenir une liste des conducteurs situés dans ce moment en mémoire et comparez-les avec les pilotes situés sur le disque. Les mots « actuellement » sont essentiels, car les pilotes peuvent être téléchargés/déchargés gratuitement sans redémarrer le système d'exploitation. Il est conseillé d'effectuer cette opération plusieurs fois en exécutant l'utilitaire de ligne de commande drivers.exe, qui fait partie du DDK, téléchargeable depuis le serveur Microsoft. Lancé sans aucun commutateur à l'aide d'une commande en ligne, l'utilitaire lecteurs.exe affiche toutes les informations sur l'écran, ce qui n'est pas bon, car il y a généralement beaucoup de pilotes dans le système et ils ne tiennent pas sur l'écran. Cependant, la religion nous permet de rediriger le flux de sortie vers fichier texte(drivers.exe >file-name.txt), ouvrable par n'importe qui éditeur de texte- soit avec Word, soit avec un bloc-notes. Il ne reste ensuite plus qu'à sélectionner le bloc vertical (ce que le Bloc-notes ne permet pas) et à obtenir une liste de pilotes. Directement depuis le noyau du système d'exploitation !

Si au moins un de ces pilotes n'est pas dans le répertoire C:\WINNT\, alors sa signature numérique ne sera pas vérifiée ! Naturellement, un tel conducteur attire immédiatement l'attention, et nous nous posons une question raisonnable : d'où vient-il ? Tout d’abord, nous analysons tous les répertoires du disque ; s'il n'y est pas, définissez un point d'arrêt sur la fonction CreateFileW dans Soft-Ice et regardez les arguments qui lui sont transmis. Tôt ou tard, nous rencontrerons notre pilote buggy, après quoi nous ne pourrons regarder que le coin inférieur droit de l'écran Soft-Ice, où est affiché le nom du processus qui l'a généré. Pour plus de détails, consultez le livre « Techniques de débogage de programmes sans textes sources », dont une copie électronique peut être trouvée sur le serveur ftp ou http nezumi.org.ru, ainsi que sur notre disque. Et nous continuons à tourmenter l'utilitaire sigverif.exe.

Après avoir cliqué sur "OK", "Démarrer", un "thermomètre" apparaîtra à l'écran, affichant la progression, et le disque dur commencera à bruisser de toutes ses têtes. Une fois les travaux terminés, une liste des conducteurs sans signature numérique sera établie et affichée à l'écran.

Certaines têtes brûlées suggèrent, afin de nettoyer le système de l'hérésie, de supprimer tous les pilotes non signés - alors, disent-ils, tous les problèmes disparaîtront. Comment cela peut-il être fait? La solution la plus simple consiste simplement à les supprimer du disque via FAR ou Explorer (avec les droits d'administrateur, bien sûr !). Mais les conséquences d'une telle opération peuvent être très désastreuses, et il est préférable de faire un clic droit sur l'icône du pilote dans l'Explorateur, de rechercher dans « Propriétés » le nom du fabricant, grâce auquel vous pourrez déterminer quel type d'application/matériel installé ce pilote et désinstallez-le de manière civilisée. C'est vrai qu'il y a un « mais » ici.

Le conducteur est mis en évidence dans la figure ci-dessous. g400m.sys, qui est fourni avec la carte Matrox G450, et bien que Matrox ne soit pas du tout une entreprise faible, elle n'a pas reçu de signature numérique (soit Microsoft ne l'a pas donnée, soit Matrox elle-même n'a pas voulu s'en soucier). Naturellement, après l'avoir supprimé du système, vous devrez oublier le mode SVGA. Vous pouvez cependant vous rendre sur le site Web de Matrox et télécharger la dernière version du pilote (il est déjà signé numériquement). Seulement ici... les versions signées et non signées contiennent de nombreuses erreurs fatales, en particulier, en raison de certaines circonstances, lors de la tentative de passage en mode superposition, le système plante en BSOD, car le pilote tente de libérer de la mémoire déjà libérée.

Ainsi, la présence/absence d'une signature numérique en soi ne veut rien dire, et même si l'on utilise uniquement des pilotes signés, cela ne nous donne aucune garantie de stabilité.

C'est là que nous passons à la deuxième partie de l'article, à savoir tester les pilotes dans des conditions proches du combat.

Nous testons réellement le bois de chauffage

Le DDK comprend un merveilleux utilitaire Conducteur Vérificateur, ce qui crée les conditions les plus sévères pour les conducteurs, à la limite de l'extrême et du suicide, dans lesquelles la probabilité d'échec est maximale, et le nom du conducteur défectueux est déterminé avec la plus grande précision (même s'il ne souffre pas de défauts de développement, mais détruit la structure des données des conducteurs d'autres personnes).

Il est important de noter que Conducteur Vérificateur- Ce n'est pas un médicament, mais seulement un outil de diagnostic. Cela ne vous épargnera toujours pas des échecs (au contraire, cela augmentera leur intensité de quelques ordres de grandeur), mais cela aidera à identifier le pilote « sournois » avec un degré de fiabilité suffisant.

Alors, on lance verifier.exe, on voit la fenêtre Conducteur Vérificateur Directeur, allez dans l'onglet Paramètres et déplacez le bouton radio sur la position Vérifier tous les pilotes, après quoi nous appuyons sur le bouton « Paramètres préférés », qui définit les types de vérification suivants :

  • Spécial piscine– les pilotes testés se verront attribuer une zone de mémoire spéciale pour l'attribution, qui ne fonctionne pas très rapidement, mais est capable de détecter la plupart des types de destruction de ses propres données et de celles d'autrui.
  • Forcer IRQL vérification. IRQL est le niveau de demande d'interruption. L'erreur la plus courante commise par les développeurs de pilotes est d'essayer d'accéder à la mémoire à un niveau IRQL auquel le gestionnaire de pagination ne fonctionne pas. Et si la page requise s'avère soudainement expulsée du disque, le système se transformera en un écran bleu avec l'inscription « IRQL_LESS_OR_EQULAR ». Forcer ce mode force les pages du pilote à être vidées sur le disque afin que le défaut de conception apparaisse 100 % du temps.
  • Faible Ressource simulation Il est utile de l'installer pour voir comment le pilote se comportera en cas de manque catastrophique de ressources système, mais vous n'êtes pas obligé de le faire, mais il vaut mieux laisser la case à cocher Pool tracking (surveillance de la bonne gestion de la mémoire piscine). Les erreurs d'entrée/sortie (vérification d'E/S) représentent une part insignifiante de toutes les erreurs, donc la position de cette case à cocher est, en général, totalement non critique.

Après avoir terminé de sélectionner les paramètres, cliquez sur le bouton « Appliquer » et, comme nous l'avons suggéré, redémarrez.

Immédiatement après le démarrage, le système ralentira sensiblement, ce qui est normal, puisque le noyau effectue beaucoup plus de vérifications que d'habitude. Lorsque des erreurs sont détectées, un écran bleu de la mort clignote avec le nom du pilote et quelques autres informations utiles pour les développeurs, mais inutiles pour nous. Tout ce que nous pouvons faire est de mettre à jour le pilote au maximum dernière version ou refuser d'utiliser le programme (matériel) qui l'utilise. En fait, nous avons un peu plus d'options pour allumer du bois humide, mais nous y reviendrons plus tard.

Vous pouvez connaître l'état de la vérification à tout moment en exécutant verifier.exe. L'onglet Statut du conducteur répertorie les statuts de tous les conducteurs détectés avec une explication de la situation actuelle. L'état Chargé signifie que ce pilote a été chargé et testé au moins une fois (mais peut-être pas complètement, c'est-à-dire que toutes les parties du pilote n'ont pas été testées). L'état Déchargé signifie que le pilote a été chargé, vérifié (éventuellement partiellement) et déchargé par le système/programme qui l'utilise ou à sa propre demande. Ce dernier cas est particulièrement typique des pilotes restants d'un équipement qui a été retiré en retirant barbarement la carte d'extension de l'emplacement, c'est-à-dire sans effectuer de désinstallation. Le pilote survivant analyse le bus, essayant de trouver « son » matériel, échoue dans la recherche, puis se décharge de la mémoire, ralentissant d'ailleurs le démarrage du système (parfois de manière très significative) et entrant en conflit avec d'autres pilotes. Moralité : les équipements doivent être retirés du système selon toutes les règles ! Cependant, tous les statuts Déchargé ne sont pas le signe d'une situation anormale, et avant de supprimer un conducteur avec un tel statut, vous devez déterminer de quel type de renne il s'agit et d'où il vient en premier lieu.

L'état Jamais chargé indique que ce pilote n'a pas encore été chargé, ce qui signifie qu'il n'a pas été vérifié, il faut donc attendre avant de lancer divers programmes qui peut y être associé. Cependant, certains pilotes (notamment mal désinstallés) ne sont pas chargés et, par conséquent, ne sont jamais vérifiés.

Après avoir travaillé avec le système en mode vérification approfondie pendant un certain temps (de plusieurs heures à plusieurs jours), nous identifierons presque tous les pilotes défectueux dont nous avons déjà souffert et notons leurs noms sur un morceau de papier.

Vous pouvez remettre le système en mode normal (c'est-à-dire sans vérifications supplémentaires qui consomment des performances) en utilisant le même vérificateur. Nous revenons à l'onglet Paramètres, déplaçons le bouton radio sur la position Vérifier les pilotes sélectionnés (aucun pilote ne doit être sélectionné), cliquez sur « Réinitialiser tout », puis sur « Appliquer » et redémarrez. Tous! Le système fonctionne désormais à vitesse normale, mais sans contrôle.

Que faire du bois de chauffage humide ?

Mais concrètement, que faire avec un driver défectueux ? Les pirates qui savent tenir un débogueur entre leurs mains, s'ils ont suffisamment de temps libre, peuvent le démonter (heureusement, les pilotes sont généralement de petite taille), trouver une erreur et trouver un moyen de la corriger, mais... ... cela prend trop de temps.

Jeter le pilote (ainsi que le matériel/programme qui l'utilise) n'est pas non plus une option. Bien que si l'on sait que les écrans bleus de la mort sont à blâmer carte son d'un fabricant chinois inconnu qui coûte 20 $, nous avons alors une très forte motivation pour le remplacer par quelque chose de plus digne. Mais cela, à proprement parler, est déjà clair pour tout le monde et ne nécessite pas de commentaires supplémentaires.

Mais tout le monde ne sait pas qu'un grand nombre de crashs et d'écrans bleus de la mort sont dus au fait qu'un pilote développé (et testé) dans un environnement monoprocesseur est installé sur une machine biprocesseur. Par « bi-processeur », nous entendons ici à la fois une véritable plateforme à deux pierres et des processeurs Hyper-Threading/multi-core. Il est connu (et confirmé par de nombreux tests) que ordinateur de famille deux processeurs sont absolument inutiles, car dans la grande majorité des applications, il n'y a pratiquement aucune augmentation des performances.

Par conséquent, si le système est instable et que, pour une raison ou une autre, il n'est pas possible de se débarrasser du pilote défectueux, vous pouvez essayer d'accéder à Configuration du BIOS, transformant votre machine « virtuelle à double processeur » en une machine à processeur unique. Un effet similaire peut être obtenu en ouvrant le fichier boot.ini (sur les ordinateurs avec Windows NT/2000/XP il se trouve dans le répertoire racine du lecteur logique sur lequel le système est installé) et en y ajoutant le commutateur /ONECPU, puis redémarrez en espérant que les erreurs disparaissent.

Liste 1

Exemple de fichier boot.ini typique


délai d'attente = 30

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS

Liste 2

Nous configurons le système pour utiliser un seul processeur parmi tous ceux disponibles


délai d'attente = 30
par défaut = multi (0) disque (0) rdisk (0) partition (1) \ WINNT
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS /ONECPU

Mais sur les fenêtres Vue il n'y a pas de fichier boot.ini, et bien qu'il soit possible (temporairement) de configurer ses paramètres de démarrage en utilisant utilitaire spécial, Microsoft prévoit d'abandonner complètement cette faille, afin que seule la configuration du BIOS subsiste. Cependant, quant à Vue, puis au moment où ils y passeront, les développeurs de pilotes auront probablement acquis des machines multiprocesseurs (puisqu'il n'en restera tout simplement plus d'autres à vendre) et testeront leurs créations dans un environnement multiprocesseur.

Autre point subtil. N'oubliez pas que nous avons dit plus haut que l'erreur la plus courante commise par les développeurs de pilotes est d'accéder à la mémoire préemptive au niveau IRQL, auquel le gestionnaire de pagination ne fonctionne pas, et si la page demandée n'est pas en mémoire, un crash se produit ? La solution évidente ici serait d'augmenter la RAM jusqu'à un volume auquel pratiquement aucune page n'est expulsée du disque. Aux prix actuels des mémoires, presque tout le monde peut se permettre d’acheter quelques nouvelles clés USB. Mais il existe une solution plus accessible (et plus élégante) au problème. Si le paramètre DésactiverPagingExecutive, situé dans la branche de registre suivante HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement, égal à un(zéro par défaut), les composants nucléaires ne seront pas préemptés. Par conséquent, nous lançons simplement «l'éditeur de registre», modifions ce paramètre précieux et redémarrons (les modifications ne prennent effet qu'après un redémarrage), en espérant que cela aidera à résoudre le problème des échecs.




Haut