Windows 7 come identificare un driver difettoso. Utilizzo di Driver Verifier per correggere una schermata blu della morte. Controllo dei driver non firmati

Un driver è un programma necessario per sistema operativo e varie applicazioni software per l'interazione con i dispositivi hardware ad esso collegati. Componenti hardware come audio, schede video, stampanti, scanner e tutti necessitano di un driver compatibile per funzionare correttamente.

Tutti i driver di dispositivo sono progettati per sistemi operativi specifici. Ad esempio, i driver di Windows XP saranno diversi dai driver di Windows Vista, pertanto è necessario prendere ulteriori precauzioni durante l'installazione e l'aggiornamento dei driver del dispositivo, poiché l'installazione di driver errati o incompatibili potrebbe non solo danneggiare il dispositivo, ma anche il sistema.

Cause comuni di errori del driver

Di seguito sono elencate alcune cause comuni di errori del driver:

  • Stai tentando di utilizzare un dispositivo hardware che non è collegato correttamente al tuo computer.
  • Due o più driver sul sistema sono incompatibili tra loro.
  • Sono installati il ​​driver o i driver che non sono compatibili con il sistema.
  • Sul tuo PC sono presenti driver non necessari o obsoleti.

Passaggi per correggere gli errori del driver
Il primo passo per identificare un errore del driver è assicurarsi che il dispositivo sia collegato correttamente al sistema. Molti dispositivi danno errori di connessione, quindi controlla che il tuo dispositivo sia collegato correttamente al tuo sistema. Successivamente, devi assicurarti che non ci siano problemi con i driver, puoi farlo utilizzando l'utilità Gestione dispositivi fornita con il computer Sistema Windows. È possibile aprire Gestione dispositivi eseguendo direttamente devmgmt. msc da riga di comando Inizio>FattoEsso. Quando apri Gestione dispositivi, vedrai un elenco di tutti i dispositivi collegati al tuo sistema. Puoi identificare facilmente il file difettoso perché sarà contrassegnato da un triangolo giallo con punto esclamativo dentro. Fare clic con il tasto destro su un dispositivo per aprire la finestra di dialogo delle proprietà. Nella finestra di dialogo delle proprietà, controlla la sezione Stato del dispositivo sulla scheda Sono comuni. I driver vengono visualizzati nella scheda Driver della finestra delle proprietà. Qui, completa una delle seguenti attività:

  • Controlla e installa gli aggiornamenti dei driver: Driver obsoleti uno dei motivi principali associati agli errori del driver. Per risolvere questo problema, fare clic sul pulsante Aggiorna driver.Si aprirà l'aggiornamento guidato dell'hardware. È possibile utilizzare la procedura guidata per aggiornare il driver. Si consiglia di scaricare prima l'aggiornamento del driver e salvarlo in una posizione comoda sul disco rigido, quindi avviare il processo di aggiornamento poiché la procedura guidata di aggiornamento ti chiederà di specificare una posizione in cui installare l'aggiornamento.
  • Ripristino del driver: Se inizi a ricevere un messaggio di errore subito dopo l'installazione di un nuovo aggiornamento, è probabile che il nuovo aggiornamento sia difettoso. Per risolvere questo problema, fare clic sul pulsante Ripristino del driver per tornare al tuo versione precedente autisti.
  • Disinstallazione del driver: Se si verificano problemi con i driver attuali (file mancanti o danneggiati), la cosa migliore che puoi fare è fare clic su Eliminare per disinstallare il driver corrente, quindi reinstallare nuovamente il driver.

Nel caso in cui non sei sicuro di quello che stai facendo e trovi le soluzioni di cui sopra un po' difficili, allora ti consigliamo di scegliere uno strumento affidabile per la scansione dei driver. Gli strumenti di scansione dei driver sono progettati per controllare tutti i driver del dispositivo e assicurarsi che non siano aggiornati. Ogni volta che sono disponibili nuovi aggiornamenti, lo scanner dei driver scarica e installa automaticamente i migliori aggiornamenti sul tuo computer.

Utilizzando l'utilità di sistema inclusa in Windows Vista/7 Verificatore di conducenti Manager, puoi condurre una diagnosi completa dei driver installati nel sistema e trovare componenti problematici che interferiscono con il funzionamento stabile del computer e delle apparecchiature ad esso collegate.

Per eseguire lo strumento menzionato, è necessario accedere a Windows con diritti di amministratore, quindi nella barra degli indirizzi del menu "Start -> Esegui", inserire il comando verifier.exe e fare clic su OK. Di conseguenza, si aprirà la finestra Driver Verification Manager, in cui dovrai grattarti la testa e decidere l'opzione appropriata per avviare l'utilità. È possibile eseguire test sia selettivi che completi di tutti i driver senza eccezioni.

Dopo aver impostato la modalità operativa del programma e premuto il pulsante "Fine", sarà necessario riavviare il computer e attendere il caricamento del sistema operativo. Se viene rilevato un driver difettoso, Windows cadrà nella cosiddetta "schermata blu della morte" (BSOD - Blue Screen Of Death) e segnalerà un errore critico contenente informazioni sul componente problematico, di cui bisogna tenere conto.

Il passo successivo è eliminare i file del driver difettoso. Per fare ciò, è necessario tenere premuto il tasto F8 all'avvio del computer, avviare il sistema in modalità provvisoria e poi standard utilizzando Windows eliminare il componente difettoso. Quindi dovrai aprire nuovamente la console e inserire l'istruzione verifier.exe /reset per disattivare l'applicazione Driver Verifier Manager. È importante notare che è necessario inserire l'ultimo comando anche se il computer si avvia correttamente, indicando l'assenza di driver problematici.

Ulteriori informazioni di riferimento su questa edizione Consulta l'articolo "Utilizzare Driver Verifier per identificare i problemi dei driver Windows (avanzato)" sul sito del supporto Microsoft.

Indica un driver di sistema che probabilmente non causa il problema (ad esempio, win32k.sys). In questo caso sarà necessaria un'analisi seria della discarica, che richiede una conoscenza ed esperienza molto approfondita in questo settore. Tuttavia, puoi controllare tu stesso i tuoi driver utilizzando il controllo dei driver integrato nel sistema operativo. Verifier.exe. Sebbene sia trattato in dettaglio nell'articolo della Knowledge Base di Microsoft Utilizzo di Driver Verifier per risolvere i problemi dei driver di Windows, il materiale presentato è presentato a un livello tecnico abbastanza avanzato. Sotto è breve descrizione azioni da intraprendere per controllare i conducenti.

Su questa pagina

Iniziare con Driver Verifier

Sul menu InizioEseguire(O InizioRicerca) accedere verificatore e premere Invio. Verrà avviato il controllo dei driver. seleziona un oggetto Creare parametri non standard (per il codice del programma) e premere il pulsante Ulteriore.

Seleziona le singole opzioni da lista completa e premere il pulsante Ulteriore.

Nel passaggio successivo, seleziona tutte le caselle tranne Simulare la carenza di risorse e premere il pulsante Ulteriore.

Nel passaggio successivo, seleziona Seleziona automaticamente i driver non firmati e premere il pulsante Ulteriore. Se non vengono trovati driver non firmati, vai a .

Driver non firmati

Se vengono rilevati driver non firmati, ne verrà visualizzato un elenco.

I driver possono appartenere sia a dispositivi che ad applicazioni. Non chiudere la finestra Driver Verifier né fare clic su Ulteriore Ora.

Cerca driver aggiornati

Devi controllare se ci sono driver aggiornati.

  1. Se vedi elencato il driver di un'applicazione, visita il sito web del produttore per vedere se l'applicazione è stata aggiornata. Se non è disponibile una versione aggiornata, puoi provare a disinstallare l'app (puoi sempre reinstallarla in seguito). Se gli errori critici si fermano, quella è stata la causa.
  2. Se vedi un driver di dispositivo nell'elenco e utilizzi Windows Vista, utilizza il centro Aggiornamenti di Windows per cercare nuovi driver. Questo metodo funziona bene per Windows Vista perché molti produttori di dispositivi collaborano con Microsoft per rendere i propri driver disponibili per il download tramite Windows Update. Nel Pannello di controllo, seleziona aggiornamento Windows e controlla gli aggiornamenti per il driver del tuo dispositivo. Se viene trovato il driver, installarlo.
  3. Se Windows Update non ti offre nuovi driver, visita il sito Web del produttore del dispositivo. Forse sono disponibili nuovi driver lì. Se riscontri problemi nel trovare i driver, visita il forum Trova driver, firmware e manuali su OSzone.net.

Dopo aver aggiornato un'applicazione o un driver, chiudere la finestra Driver Verifier. premendo un pulsante Annulla(ma no Ulteriore) . Riavvia il computer e continua a utilizzare il sistema operativo. Se l'errore critico non si verifica più, lo hai risolto aggiornando il driver.

Rimozione dei driver

Se non è possibile trovare nuovi driver, provare a disinstallare il driver.

Attenzione! La rimozione dei driver comporta l'inoperabilità del dispositivo. Dopo il riavvio, nel migliore dei casi, il sistema operativo installerà il driver appropriato dal proprio archivio driver. Se non sei sicuro di rimuovere un particolare driver, non rimuoverlo.

In Gestione dispositivi ( InizioCerca/Eseguidevmgmt.mscOK) trova il dispositivo, fai clic con il pulsante destro del mouse su di esso e seleziona da menù contestuale paragrafo Proprietà. Quindi vai alla scheda Autista e premere il pulsante Eliminare.

Controllo dei driver non firmati

Attenzione! Dopo aver controllato i driver non firmati, il sistema potrebbe non avviarsi (di seguito viene descritto come agire in una situazione del genere).

Se non desideri rimuovere il driver e/o desideri verificare la presenza di driver non firmati, nella finestra Driver Verifier, fai clic su Ulteriore. Ti verrà richiesto di selezionare un disco fisico.

Pronto, quindi riavvia il computer. Se dopo il riavvio viene visualizzata una schermata blu con un errore, il driver problematico è stato identificato e il suo nome verrà incluso nel messaggio di errore. Accedi alla modalità provvisoria e reimposta tutte le opzioni di verifica del driver inserendo InizioCerca/Esegui squadra verificatore.exe/reset.

Se il sistema si avvia in modalità normale, il controllo dei driver non firmati è stato completato con successo: non sono loro la fonte del problema. Puoi visualizzare un elenco di driver testati eseguendo verificatore.exe .

Poiché i driver non firmati non sono la causa di un errore fatale, è necessario controllare altri driver.

Controllo driver personalizzato

Se non vengono trovati driver non firmati o il loro controllo non rivela alcun problema, dovrai eseguire un controllo del driver personalizzato. In questo caso, nella finestra mostrata di seguito, seleziona Seleziona il nome del conducente dall'elenco.

Nel passaggio successivo, ti verrà chiesto di selezionare i driver da scansionare. Non selezionare tutti i driver contemporaneamente, poiché controllarli richiederà molto tempo e risorse di sistema.

Pertanto la verifica potrebbe dover essere effettuata in più fasi. La sequenza passo passo per la selezione dei driver potrebbe essere la seguente:

  1. Driver aggiornati di recente o che in genere causano problemi (driver programmi antivirus, firewall, dischi virtuali).
  2. Driver non forniti da Microsoft.
  3. Gruppo di 10-15 autisti alla volta.

Selezionare l'unità su cui è installato il sistema operativo e fare clic Pronto, quindi riavvia il computer.

Attenzione! Dopo aver controllato i driver, il sistema potrebbe non avviarsi (di seguito viene descritto come agire in una situazione del genere).

Se dopo il riavvio viene visualizzata una schermata blu con un errore, il driver problematico è stato identificato e il suo nome verrà incluso nel messaggio di errore. Riavvia il computer e accedi modalità sicura premendo F8 durante il caricamento. Dopo aver effettuato l'accesso, reimposta tutte le impostazioni di verifica del conducente inserendo InizioCerca/Esegui squadra verificatore.exe/reset.

Se il sistema si avvia in modalità normale, il controllo dei driver selezionati è stato completato con successo: non sono loro la causa del problema. Puoi visualizzare un elenco di driver testati eseguendo verificatore.exe e selezionando l'elemento nel primo passaggio Visualizza informazioni sui driver attualmente verificati.

Ora seleziona il gruppo di driver successivo e controlla di nuovo.

Tutti i conducenti sono stati controllati: cosa accadrà dopo?

Se il controllo di tutti i conducenti ha avuto esito positivo, devo togliermi il cappello per la vostra pazienza e perseveranza. Molto probabilmente, i driver non sono la causa dell'errore critico che si verifica sul tuo sistema. È possibile che il problema risieda nell'hardware del tuo computer, ad esempio in un disco rigido difettoso o memoria ad accesso casuale, o l'alimentatore ha potenza insufficiente per garantire il funzionamento di tutti i dispositivi. Potrebbero esserci altri problemi hardware che non possono essere identificati controllando i driver.

L'utility che descriveremo oggi si chiama Driver Verifier ed è inclusa in tutti i sistemi operativi, compreso Windows XP. Questo programma consente di verificare e identificare quelli problematici che possono danneggiare gravemente il sistema. Il problema più famoso è la schermata blu della morte.

I dati su tali driver vengono registrati in un dump della memoria in modo che le analisi possano essere eseguite successivamente. Pertanto, l'utilità sottopone i conducenti alle cosiddette situazioni di stress (test), creando condizioni visive estreme, ad esempio mancanza di memoria, vari blocchi, IRQL, controlli IRP, DMA, ecc., Controllo I/O. In altre parole, vengono simulate situazioni estreme che non dovrebbero verificarsi durante il normale lavoro con Windows o che non si verificano spesso. Pertanto, l'utilità consente di identificare i driver che possono causare un arresto anomalo del sistema.

Come ho già detto, l'utilità è integrata in ogni cosa Versioni di Windows ed è in arrivo %windir%\system32. L'utilità può essere utilizzata anche in due versioni: riga di comando e interfaccia grafica.

Quindi, per eseguire l'utilità di controllo dei driver, è necessario aprire la finestra "Correre" digitare il seguente comando:

verificatore

Si apre una finestra con le impostazioni necessarie, in cui selezioniamo la seconda voce: "Crea parametri personalizzati" O "Crea impostazioni personalizzate".

Ora dobbiamo ordinare i contenuti; per fare ciò, clicchiamo sulla parola in alto nella tabella Fornitore. Ora puoi selezionare tutti i driver. A proposito, non devi scegliere i driver di Microsoft.

Ora puoi premere il pulsante Fine, dopodiché ti verrà chiesto di riavviare il sistema.

Quindi, il riavvio è stato completato e ora il sistema si avvierà in modalità di verifica del driver. L'utilità verrà eseguita in background, eseguendo vari test. Puoi lavorare tranquillamente al computer fino al termine dell'utilità. Dopo il lavoro, il file di informazioni verrà salvato in un dump della memoria. Tale file si trova solitamente lungo il percorso: C:\Windows\Minidump\*.dmp. Ora può essere analizzato, ad esempio, utilizzando Windbg o un altro programma simile.

Se nel giro di pochi giorni risulta che il problema non si è ripresentato, allora possiamo dire che il problema non è affatto nei driver e bisognerà cercare la causa altrove. Nel frattempo puoi già disattivare la modalità di verifica del conducente. Voglio dire subito che questa modalità rallenta notevolmente il sistema, quindi non è consigliabile lavorarci spesso.

Puoi disabilitare l'utilità in questo modo: nella riga di comando, inserisci il seguente comando:

È tutto. Spero che questo articolo ti abbia aiutato a risolvere i tuoi problemi.

Ti avvertiamo che eventuali esperimenti con i driver sono pericolosi e possono danneggiare il sistema. È meglio fare un backup del sistema in anticipo e poi non incrociare le dita rimuovendo un altro driver sospetto da Windows.

E non appena non rimproverano finestre da Microsoft, definendo la poverina allo stesso tempo lenta, glitch e persino instabile. Ma nessuno ha fretta di rinunciarvi, e in generale è improbabile che si arrendano mai. Pertanto, invece di rimproverare i poveri sviluppatori e accendere inutili fiammate, sarebbe bene capire perché, in effetti, il sistema è difettoso? Ti svelo un piccolo segreto. Nei famigerati schermi della morte e del lavoro instabile finestre nella stragrande maggioranza dei casi la colpa è dei driver di terze parti e il sistema operativo in sé non ha assolutamente nulla a che fare con ciò. Ora ti diremo come rilevare tali driver e rimuoverli dal sistema.

I difetti di progettazione del driver possono variare dagli arresti anomali alla schermata blu della morte ( BSOD– Blue Screen of Death) e al rallentamento del computer e allo strano comportamento di alcune applicazioni applicative del tutto estranee al driver.

Il Blue Screen of Death è notevole (senza alcuna ironia!) in quanto segnala chiaramente la presenza di un problema serio e dà un suggerimento su dove scavare. Spesso (ma non sempre) il nome del conducente “incriminato” viene visualizzato direttamente nell'angolo in alto a destra della schermata blu della morte. Potrebbe però non esserci o, peggio ancora, potrebbe esserci il nome di un pilota del tutto estraneo.

Ad esempio, un driver della scheda video abbastanza comune Matrox G450 tende a distruggere le strutture di base del sottosistema grafico finestre 2000 , facendo sì che il BSOD visualizzi il nome del driver di sistema win32k.sys, che implementa una parte significativa delle funzioni USER e GDI e che, naturalmente, non ha nulla a che fare con essa. Quindi interpretare la schermata blu delle letture della morte è magia, intuizione, scienza e arte: un po' di tutto.

Oltre ai difetti del driver, le schermate blu mortali possono essere causate anche da guasti hardware, ad esempio un processore overcloccato, una RAM difettosa o un controller storto. disco rigido, una scheda PCI non completamente inserita nello slot, un contatto allentato in uno dei connettori, una cattiva alimentazione, un condensatore elettrolitico gonfio scheda madre. E gli ultimi sono imbronciati ragioni varie: a causa del surriscaldamento del processore vicino, della mancanza di condensatori ceramici "non segnalati" dal produttore (per cui il componente RF attraversa l'elettrolita e lo riscalda notevolmente) e, infine, a causa della perdita dei transistor chiave nel gruppo stabilizzatore. Pertanto, prima di tagliare la legna, dobbiamo assicurarci che il ferro su cui siamo seduti sia perfettamente funzionante. Come si può fare?

Resa dei conti con il ferro

Le schermate blu di morte causate da guasti hardware sono spontanee, appaiono in modo imprevedibile e indipendentemente da qualsiasi azione specifica dell'utente. Anche le applicazioni applicative iniziano a produrre errori critici in una varietà di luoghi e i codici di errore, gli indirizzi e le altre informazioni emesse dal sistema saranno diversi in tutti i casi! A proposito, ad esempio i driver che gestiscono richieste asincrone dai dispositivi I/O reti wireless, si comportano quasi esattamente allo stesso modo. Le schermate blu di morte causate da conducenti difettosi si verificano in genere quando si esegue una serie specifica di azioni e contengono informazioni più o meno costanti.

Per togliere ogni sospetto dall'hardware è sufficiente collegarne un altro al sistema HDD, installa su di esso un prodotto vergine pulito finestre e lavorarci sopra per un po'. Se le schermate blu della morte non scompaiono significa che la colpa è davvero dell’hardware ed è ora di cambiarlo. La ricerca di componenti difettosi è un argomento per una discussione separata, che lasceremo per la prossima volta, ma per ora rimbocchiamoci le maniche e affrontiamo questi insidiosi driver.

La legna da ardere senza certificato va direttamente nel focolare

L'intero set di strumenti necessari per lo sviluppo dei driver ( DDK– Driver Development Kit), Microsoft lo distribuisce gratuitamente insieme alla documentazione allegata. Driver, a volte molto difettosi e instabili.

Per evitare che si verifichi un simile caos, Microsoft già nell'antichità è stata introdotta una procedura per certificare il rispetto dei requisiti imposti agli autisti, al termine della quale all'autista viene rilasciata una firma digitale. Oppure... non è stato rilasciato ed è stato inviato per la revisione. E sebbene la certificazione sia solo una procedura formale che non garantisce l'assenza di errori fatali e difetti di sviluppo, elimina comunque alcuni dei driver francamente "pionieristici".

Idealmente, nel sistema dovrebbero essere mantenuti solo i driver con firma digitale. E sebbene la firma digitale non sia una polizza assicurativa, la sua presenza indica già un certo livello di cultura dello sviluppo. Autisti senza firma digitale- questo è peggio di un maiale in un pugno e dovrebbe essere eliminato, se possibile (soprattutto perché molti di loro sono programmi dannosi installati da rootkit o meccanismi di difesa aggressivi che penetrano in profondità nel sistema e ne causano l'instabilità). Insomma, non indulgeremo alla demagogia, ma proviamo a rispondere ad una semplice domanda: come creare un elenco di conducenti senza firma digitale?

L'utilità ci aiuterà in questo sigverif.exe, compreso nella fornitura standard del sistema operativo e situato nella directory WINNT\System32. Lo lanciamo e vediamo una finestra di dialogo. Fare clic sul pulsante “Avanzate” e nella scheda “Cerca” impostare i criteri di selezione spostando il pulsante di opzione dalla posizione “Notifica cancellazione iscrizione” file di sistema"(dove languiva per impostazione predefinita) nella posizione "Cerca altri file che non sono firmati digitalmente." Successivamente, nelle “Opzioni di ricerca”, aprire la casella “Cerca file del seguente tipo” e selezionare “*.sys”, e di seguito indicare la cartella di ricerca “C:\WINNT”, avendo cura di selezionare la casella “Inclusi sottocartelle”.

In realtà, a rigor di termini, i driver non devono necessariamente avere l'estensione sys e non sono sempre limitati alla directory WINNT, trovandosi nelle directory delle “loro” applicazioni, e alcune applicazioni memorizzano addirittura i driver... dentro di sé! Immediatamente dopo l'avvio (o in qualsiasi altro momento), salvano il file su disco nella directory corrente o temporanea, caricano il driver in memoria e... lo cancellano immediatamente dal disco! Ciò viene fatto non solo da virus dannosi, ma anche da programmi di tutto rispetto, come alcune utilità del famoso ricercatore del sottosuolo di Windows Mark Russinovich.

Pertanto, per la purezza dell’esperimento, non ci farebbe male ottenere un elenco dei driver ubicati in questo momento in memoria e confrontarli con i driver presenti sul disco. Le parole "attualmente" sono fondamentali, poiché i driver possono essere scaricati/scaricati gratuitamente senza riavviare il sistema operativo. Si consiglia di eseguire più volte questa operazione eseguendo l'utility a riga di comando drivers.exe, che fa parte del DDK, scaricabile dal server Microsoft. Lanciato senza alcuna opzione utilizzando un comando di riga, l'utility drive.exe scarica tutte le informazioni sullo schermo, il che non va bene, poiché di solito ci sono molti driver nel sistema e non si adattano allo schermo. Tuttavia, la religione ci consente di reindirizzare il flusso di output verso file di testo(drivers.exe >nome-file.txt), apribile da chiunque editor di testo- sia con Word che con un blocco note. Quindi non resta che selezionare il blocco verticale (che Blocco note non consente) e ottenere un elenco di driver. Direttamente dal kernel del sistema operativo!

Se almeno uno di questi driver non si trova nella directory C:\WINNT\, la sua firma digitale non verrà verificata! Naturalmente, un simile conducente attira immediatamente l'attenzione e sorge una domanda ragionevole: da dove viene? Innanzitutto, eseguiamo la scansione di tutte le directory sul disco; se non è presente, imposta un punto di interruzione sulla funzione CreateFileW in Soft-Ice e guarda gli argomenti passati ad essa. Prima o poi incontreremo il nostro driver bacato, dopodiché potremo solo guardare l'angolo in basso a destra dello schermo di Soft-Ice, dove viene visualizzato il nome del processo che lo ha generato. Per maggiori dettagli, consultare il libro "Tecniche per il debug di programmi senza testi sorgente", una copia elettronica del quale può essere trovata sul server ftp o http nezumi.org.ru, nonché sul nostro disco. E continuiamo a tormentare l'utilità sigverif.exe.

Dopo aver fatto clic su "OK", "Avvia", sullo schermo apparirà un "termometro" che mostrerà l'avanzamento e il disco rigido inizierà a frusciare con tutte le sue teste. Al termine del lavoro, verrà compilato e visualizzato sullo schermo un elenco di conducenti senza firma digitale.

Alcune teste calde suggeriscono, per ripulire il sistema dall'eresia, di rimuovere tutti i driver non firmati - così, dicono, tutti i problemi scompariranno. Come si può fare? La soluzione più approssimativa è semplicemente rimuoverli dal disco tramite FAR o Explorer (con diritti di amministratore, ovviamente!). Ma le conseguenze di un'operazione del genere possono essere molto disastrose, ed è meglio fare clic con il tasto destro sull'icona del driver in Explorer, trovare in "Proprietà" il nome del produttore, in base al quale è possibile determinare quale tipo di applicazione/hardware installato questo driver e disinstallarlo in modo civile. È vero, qui c'è un "ma".

Il driver è evidenziato nella figura seguente. g400m.sys, che viene fornito con la scheda Matrox G450, e sebbene Matrox non sia affatto un'azienda debole, non ha ricevuto una firma digitale (o Microsoft non l'ha data, o la stessa Matrox non ha voluto preoccuparsi). Naturalmente, dopo averlo rimosso dal sistema, dovrai dimenticarti della modalità SVGA. Puoi comunque andare sul sito web di Matrox e scaricare la versione più recente del driver (è già firmato digitalmente). Solo qui... sia le versioni firmate che quelle non firmate contengono molti errori fatali, in particolare, a seguito di determinate circostanze, quando si tenta di passare alla modalità overlay, il sistema si blocca in BSOD, poiché il driver tenta di liberare la memoria già liberata.

Quindi la presenza/assenza di una firma digitale di per sé non significa nulla e, anche se utilizziamo solo driver firmati, ciò non ci dà alcuna garanzia di stabilità.

È qui che passiamo alla seconda parte dell'articolo, ovvero testare i conducenti in condizioni prossime al combattimento.

Diamo alla legna da ardere un vero test

Il DDK include un'utilità meravigliosa Autista Verificatore, che crea le condizioni più severe per i conducenti, al limite dell'estremo e del suicidio, in cui la probabilità di fallimento è massima e il nome del conducente difettoso è determinato con la massima precisione (anche se non soffre a causa di difetti di sviluppo, ma distrugge la struttura dei dati dei conducenti di altre persone).

È importante notarlo Autista Verificatore- Questo non è un medicinale, ma solo uno strumento diagnostico. Non ti salverà comunque dai fallimenti (al contrario, ne aumenterà l'intensità di un paio di ordini di grandezza), ma aiuterà a identificare il conducente “subdolo” con un grado sufficiente di affidabilità.

Quindi, lanciamo verifier.exe, vediamo la finestra Autista Verificatore Manager, vai alla scheda Impostazioni e sposta il pulsante di opzione sulla posizione Verifica tutti i conducenti, dopodiché premiamo il pulsante "Impostazioni preferite", che imposta i seguenti tipi di verifica:

  • Speciale piscina– Ai driver testati verrà assegnata un'area di memoria speciale per l'allocazione, che non funziona molto rapidamente, ma è in grado di rilevare la maggior parte dei tipi di distruzione dei propri dati e di quelli di altre persone.
  • Forza IRQL controllo. IRQL è il livello di richiesta di interruzione. L'errore più comune commesso dagli sviluppatori di driver è provare ad accedere alla memoria a un livello IRQL in cui il gestore di paging non funziona. E se la pagina richiesta viene improvvisamente sfrattata su disco, il sistema si trasformerà in una schermata blu con la scritta "IRQL_LESS_OR_EQULAR". Forzare questa modalità forza lo scaricamento delle pagine del driver su disco in modo che il difetto di progettazione venga visualizzato il 100% delle volte.
  • Basso risorsa simulazioneÈ utile installarlo per vedere come si comporterà il driver in caso di catastrofica mancanza di risorse di sistema, ma non è necessario farlo, ma è meglio lasciare la casella di controllo Pool tracking (monitoraggio della corretta gestione della memoria piscina). Gli errori di input/output (verifica I/O) costituiscono una parte insignificante di tutti gli errori, quindi la posizione di questa casella di controllo è, in generale, del tutto acritica.

Dopo aver terminato la selezione delle impostazioni, fare clic sul pulsante “Applica” e, come suggerito, riavviare.

Subito dopo l'avvio, il sistema rallenterà notevolmente, come dovrebbe essere, poiché il kernel esegue molti più controlli del solito. Quando vengono rilevati errori, lampeggia una schermata blu mortale con il nome del driver e alcune altre informazioni utili per gli sviluppatori, ma inutili per noi. Tutto quello che possiamo fare è aggiornare il driver al massimo ultima versione o rifiutarsi di utilizzare il programma (hardware) che lo utilizza. In realtà, abbiamo un po' più di opzioni per accendere il legno bagnato, ma ne parleremo più avanti.

Puoi scoprire lo stato della verifica in qualsiasi momento eseguendo verifier.exe. La scheda Stato conducente elenca gli stati di tutti i conducenti rilevati con una spiegazione della situazione attuale. Lo stato Caricato significa che questo driver è stato caricato e testato almeno una volta (ma forse non completamente, cioè non tutte le parti del driver sono state testate). Lo stato Unloaded significa che il driver è stato caricato, verificato (eventualmente parzialmente) e scaricato dal sistema/programma utilizzandolo o su sua richiesta. Quest'ultimo è particolarmente tipico per i driver rimasti da apparecchiature che sono state rimosse estraendo barbaramente la scheda di espansione dallo slot, cioè senza eseguire la disinstallazione. Il driver sopravvissuto esegue la scansione del bus, cercando di trovare il "suo" hardware, fallisce la ricerca e quindi si scarica dalla memoria, rallentando l'avvio del sistema (a volte in modo molto significativo) ed entrando in conflitto con altri driver. Morale: le apparecchiature devono essere rimosse dall'impianto rispettando tutte le regole! Tuttavia, non tutti gli stati Scaricati sono un segno di una situazione anomala e prima di eliminare un conducente con tale stato, è necessario innanzitutto capire che tipo di renna è e da dove proviene.

Lo stato Mai caricato indica che questo driver non è stato ancora caricato, il che significa che non è stato controllato, quindi è necessario attendere prima di avviarlo vari programmi che potrebbe essere associato ad esso. Tuttavia, alcuni driver (soprattutto quelli disinstallati in modo errato) non vengono caricati e, di conseguenza, non vengono mai controllati.

Dopo aver lavorato per un po 'di tempo (da diverse ore a diversi giorni) con il sistema in modalità di controllo rigido, identificheremo quasi tutti i driver difettosi di cui abbiamo sofferto in precedenza e annoteremo i loro nomi su un pezzo di carta.

È possibile riportare il sistema in modalità normale (ovvero senza controlli aggiuntivi che riducono le prestazioni) utilizzando lo stesso verificatore. Ritorniamo alla scheda Impostazioni, spostiamo il pulsante di opzione sulla posizione Verifica i driver selezionati (nessun driver deve essere selezionato), facciamo clic su "Ripristina tutto", quindi su "Applica" e riavviamo. Tutto! Il sistema ora funziona a velocità normale, ma senza controlli.

Cosa fare con la legna da ardere umida?

Ma davvero, cosa puoi fare con un driver difettoso? Gli hacker che sanno tenere in mano un debugger, se hanno abbastanza tempo libero, possono smontarlo (fortunatamente i driver sono solitamente di piccole dimensioni), trovare un errore e trovare un modo per risolverlo, ma... ...questo richiede troppo tempo.

Anche buttare via il driver (insieme all'hardware/programma che lo utilizza) non è un'opzione. Anche se è noto che la colpa è delle schermate blu della morte scheda audio da un produttore cinese sconosciuto che costa $ 20, allora abbiamo una forte motivazione a sostituirlo con qualcosa di più degno. Ma questo, in senso stretto, è già chiaro a tutti e non necessita di ulteriori commenti.

Ma non tutti sanno che un gran numero di arresti anomali e schermate blu sono dovuti al fatto che un driver sviluppato (e testato) in un ambiente a processore singolo è installato su una macchina a doppio processore. Per “doppio processore” qui intendiamo sia una vera e propria piattaforma con due pietre che processori Hyper-Threading/multi-core. È noto (e confermato da un gran numero di test) che computer di casa due processori sono assolutamente inutili, poiché nella stragrande maggioranza delle applicazioni non si riscontra praticamente alcun aumento delle prestazioni.

Pertanto, se il sistema è instabile e per un motivo o per l'altro non è possibile eliminare il driver difettoso, è possibile provare ad accedere Impostazioni del BIOS, trasformando la tua macchina “virtuale a doppio processore” in una macchina a processore singolo. Un effetto simile può essere ottenuto aprendo il file boot.ini (sui computer con WindowsNT/2000/XP si trova nella directory principale dell'unità logica su cui è installato il sistema) e aggiungendovi l'opzione /ONECPU, quindi riavviare nella speranza che gli errori scompaiano.

Elenco 1

Esempio di un tipico file boot.ini


scadenza=30

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

Elenco 2

Configuriamo il sistema per utilizzare un solo processore tra tutti disponibili


scadenza=30
default=multi(0)disco(0)rdisk(0)partizione(1)\WINNT
multi(0)disco(0)rdisk(0)partizione(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS /ONECPU

Ma avanti finestre Vista non esiste un file boot.ini e sebbene sia possibile (temporaneamente) configurarne le impostazioni di avvio utilizzando utilità speciale, Microsoft prevede di abbandonare completamente questa scappatoia, in modo che rimanga solo la configurazione del BIOS. Tuttavia, per quanto riguarda Vista, quindi quando passeranno ad esso, gli sviluppatori di driver avranno probabilmente acquisito macchine multiprocessore (poiché semplicemente non ce ne saranno altre in vendita) e testeranno le loro creazioni in un ambiente multiprocessore.

Un altro punto sottile. Ricorda, abbiamo detto sopra che l'errore più comune commesso dagli sviluppatori di driver è l'accesso alla memoria prerilasciabile a livello IRQL al quale il gestore di paging non funziona e se la pagina richiesta non è in memoria, si verifica un arresto anomalo? La soluzione ovvia in questo caso sarebbe aumentare la RAM a un volume in cui praticamente nessuna pagina viene spostata sul disco. Agli attuali prezzi delle memorie, quasi tutti possono permettersi di acquistare un paio di nuove memory stick. Ma esiste una soluzione più accessibile (e più elegante) al problema. Se il parametro DisabilitarePagingExecutive, situato nel ramo successivo del registro HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement, uguale a uno(zero per impostazione predefinita), i componenti nucleari non verranno anticipati. Pertanto, lanciamo semplicemente l '"Editor del Registro di sistema", modifichiamo questo caro parametro e riavviamo (le modifiche diventano effettive solo dopo il riavvio), sperando che ciò aiuti a risolvere il problema degli errori.




Superiore