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 può danneggiare non solo 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.
  • Il driver o i driver installati non sono compatibili con il tuo sistema.
  • Sul PC sono presenti driver non necessari o obsoleti.

Passaggi per correggere gli errori del driver
Il primo passo per correggere un errore del driver è assicurarsi che il dispositivo sia collegato correttamente al sistema. Molti dispositivi forniscono errori relativi alla connessione, quindi assicurati che il dispositivo sia collegato correttamente al sistema. Successivamente, devi assicurarti che non ci siano problemi con i driver. Puoi farlo utilizzando l'utilità Gestione dispositivi fornita con il tuo computer. Sistema Windows. È possibile aprire Gestione dispositivi eseguendo direttamente devmgmt. msc da riga di comando Inizio>CompletatoEsso. Quando apri Gestione dispositivi, vedrai un elenco di tutti i dispositivi collegati al tuo sistema. Puoi facilmente identificare un file difettoso perché verrà contrassegnato con 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 scheda Sono comuni. I driver vengono visualizzati nella scheda Driver della finestra delle proprietà. Qui, esegui una delle seguenti attività:

  • Controlla e installa gli aggiornamenti dei driver: I driver obsoleti sono una delle principali cause di errori dei driver. Per risolvere questo problema, fare clic sul pulsante Aggiorna driver.Si apre l'Aggiornamento guidato 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 hai iniziato a ricevere un errore subito dopo l'installazione di un nuovo aggiornamento, è probabile che il nuovo aggiornamento sia difettoso. Per risolvere questo problema, fare clic sul pulsante Rollback del conducente 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 cosa stai facendo e se ritieni che le soluzioni di cui sopra siano un po' complicate, 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, Driver Scanner scarica e installa automaticamente i migliori aggiornamenti per il tuo computer.

Utilizzando l'utilità di sistema Driver Verifier Manager fornita con Windows Vista/7, è possibile condurre una diagnosi completa dei driver installati nel sistema e trovare componenti problematici che interrompono 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à una finestra di gestione del controllo dei driver, 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 aver 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 “Blue Screen of Death” (BSOD – Blue Screen Of Death) e segnalerà un errore critico contenente informazioni sul componente problematico, che deve essere preso a matita.

Il passo successivo è rimuovere i file del driver difettosi. Per fare ciò, tenere premuto il tasto F8 all'avvio del computer, avviare il sistema in modalità provvisoria (Modalità provvisoria) e poi standard Strumenti di Windows rimuovere il componente guasto. 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, il che indica che non ci sono driver problematici.

Per ulteriori informazioni di base su questo argomento, vedere l'articolo "Utilizzo di Driver Verifier per diagnosticare problemi con i 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, avrai bisogno di un'analisi seria della discarica, che richiede una conoscenza ed esperienza molto approfondita in questo settore. Tuttavia, puoi controllare tu stesso i driver utilizzando il controllo integrato nel sistema operativo. Verifier.exe. Sebbene sia trattato in dettaglio nell'articolo della Microsoft Knowledge Base Utilizzo di Driver Verifier per risolvere i problemi dei driver Windows, il materiale presentato è presentato a un livello abbastanza tecnico. Quello che segue è breve descrizione passaggi da seguire per verificare i driver.

Su questa pagina

Iniziare con Driver Verifier

Sul menu InizioCorrere(O InizioRicerca) accedere verificatore e premere Invio. Verrà avviato Driver Verifier. seleziona un oggetto Creare parametri personalizzati (per il codice del programma) e premere il pulsante Ulteriore.

Seleziona le singole opzioni da elenco completo e premere il pulsante Ulteriore.

Nel passaggio successivo, seleziona tutte le caselle tranne Simulazione di una mancanza 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 trovati driver non firmati, ne vedrai un elenco.

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

Cerca driver aggiornati

Devi controllare se ci sono driver aggiornati.

  1. Se vedi il driver di un'applicazione nell'elenco, visita il sito Web del produttore: l'applicazione potrebbe essere 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, è stata la causa.
  2. Se viene visualizzato un driver di dispositivo nell'elenco e utilizzi Windows Vista, utilizza il file 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 hai problemi a trovare i driver, visita il forum Trova driver, firmware e manuali su OSzone.net.

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

Disinstallazione dei driver

Se non vengono trovati nuovi driver, provare a disinstallare il driver.

Attenzione! La rimozione dei driver rende i dispositivi inutilizzabili. Dopo un riavvio, nella migliore delle ipotesi, il sistema operativo installerà il driver appropriato dal proprio archivio driver. Se non sei sicuro se disinstallare un particolare driver, non disinstallarlo.

In Gestione dispositivi ( InizioCerca/Eseguidevmgmt.mscOK) trova il dispositivo, fai clic con il tasto destro 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 verificato la presenza di driver non firmati, il sistema potrebbe non avviarsi (vedere di seguito come procedere in una situazione del genere).

Se non desideri disinstallare 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 vedi una schermata blu con un errore, conducente problematico definito: il suo nome verrà incluso nel messaggio di errore. Accedi alla modalità provvisoria e reimposta tutte le opzioni di verifica del driver digitando InizioCerca/Esegui comando verificatore.exe/reset.

Se il sistema si è avviato normalmente, il controllo dei driver non firmati ha avuto esito positivo: non sono loro la fonte del problema. Puoi visualizzare un elenco di driver verificati eseguendo verificatore.exe .

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

Controllo driver personalizzato

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

Nel passaggio successivo, ti verrà richiesto di selezionare i driver da controllare. 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 può 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. Un gruppo di 10-15 autisti alla volta.

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

Attenzione! Dopo aver controllato i driver, il sistema potrebbe non avviarsi (vedi sotto come procedere in una situazione del genere).

Se dopo il riavvio viene visualizzata una schermata blu con un errore, il driver problematico è stato identificato: 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 opzioni di verifica del driver digitando InizioCerca/Esegui comando verificatore.exe/reset.

Se il sistema si è avviato normalmente, i driver selezionati sono stati controllati correttamente: non sono la causa del problema. Puoi visualizzare un elenco di driver verificati eseguendo verificatore.exe e scegliendo al primo passaggio l'articolo Visualizza informazioni sugli attuali driver testati.

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

Tutti i conducenti hanno controllato: cosa c'è dopo?

Se la verifica di tutti i conducenti ha avuto esito positivo, devo tanto congratularmi con la tua 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 rilevati nemmeno 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 da poter eseguire analisi successive. Pertanto, l'utilità espone i driver alle cosiddette situazioni stressanti (test), creando condizioni visive estreme, ad esempio mancanza di memoria, vari blocchi, IRQL, controlli IRP, DMA, ecc., Controllo I / O. In altre parole, si verifica un'imitazione di situazioni così estreme che, durante il normale lavoro con Windows, non dovrebbero verificarsi o non si verificano spesso. Pertanto, l'utilità consente di identificare tali driver che possono portare a un arresto di emergenza del sistema.

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

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

verificatore

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

Ora dobbiamo ordinare il contenuto, per questo, nella parte superiore della tabella, fare clic sulla parola Fornitore. Ora puoi selezionare tutti i driver. A proposito, i driver di Microsoft non possono essere selezionati.

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

Quindi, il riavvio è passato, ora il sistema si avvierà in modalità di controllo del driver. L'utilità verrà eseguita in background, eseguendo vari test. Puoi lavorare in sicurezza al computer fino alla fine dell'utilità. Dopo il lavoro, il file di informazioni verrà salvato nel 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 risultasse che il problema non si è ripresentato, allora possiamo dire che il problema non è affatto nei driver e bisognerà cercare la causa altrove. Nel frattempo possiamo già disattivare la modalità di controllo del driver. 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 poveretta lenta, bacata e persino instabile. Solo che ora nessuno ha fretta di rifiutarlo, e in generale è improbabile che lo rifiuteranno mai. Pertanto, invece di rimproverare i poveri sviluppatori e diffondere una fiamma senza senso, 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 essere di natura molto diversa: dal cadere nella schermata blu della morte ( BSOD- Blue Screen of Death) e al rallentamento del computer e allo strano comportamento di alcune applicazioni applicative che non sono affatto legate al driver.

La schermata blu della morte è notevole (senza alcuna ironia!) in quanto segnala chiaramente la presenza di un problema serio e dà un suggerimento dove scavare. Spesso (ma non sempre) il nome del conducente "colpevole" 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 completamente straniero.

Quindi, ad esempio, un driver della scheda video abbastanza comune Matrox G450 tende a distruggere le strutture sottostanti del sottosistema grafico finestre 2000 , con il risultato che il BSOD mostra il nome del driver di sistema win32k.sys, che implementa una parte significativa delle funzioni USER e GDI e che, ovviamente, non ha nulla a che fare con esso. Quindi l'interpretazione della testimonianza dello schermo blu 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, come un processore overcloccato, una RAM difettosa, un controller storto disco rigido, una scheda PCI non completamente inserita nello slot, un mancato contatto in uno dei connettori, una cattiva alimentazione, un condensatore elettrolitico gonfio scheda madre. E gli ultimi fanno il broncio motivi diversi: a causa del surriscaldamento del processore vicino, mancanza di condensatori ceramici, "non segnalati" dal produttore (a seguito dei quali il componente HF attraversa l'elettrolito e lo riscalda), infine, a causa della perdita di transistor chiave nello stabilizzatore unità. Pertanto, prima di tagliare la legna, è necessario accertarsi che il ferro su cui sediamo sia perfettamente funzionante. E come è possibile farlo?

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 emettere errori critici in una varietà di luoghi e i codici di errore, gli indirizzi e altre informazioni emesse dal sistema saranno diversi in tutti i casi! A proposito, ad esempio i driver che elaborano richieste asincrone dai dispositivi I/O reti wireless, si comportano quasi esattamente allo stesso modo. Le schermate blu di morte causate da conducenti difettosi tendono a verificarsi quando si eseguono determinate azioni e contengono informazioni più o meno permanenti.

Per togliere ogni sospetto dal ferro è sufficiente collegarne un altro al sistema. HDD, installalo intatto finestre e lavorarci sopra per un po'. Se le schermate blu della morte non scompaiono, allora, in effetti, la colpa è dell'hardware ed è ora di cambiarlo. La ricerca di componenti difettosi è un argomento per un discorso a parte, che tralasceremo per un'altra volta, ma per ora, rimboccandoci le maniche, affronteremo questi insidiosi driver.

Legna da ardere senza certificato immediatamente nel forno

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 fin dall'antichità, ha introdotto una procedura per certificare i conducenti per il rispetto dei requisiti per loro, dopodiché al conducente viene rilasciata una firma digitale. Oppure ... non rilasciato, e andò a fare 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 "pionieri".

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 sono peggio di un maiale in un colpo e dovrebbero essere eliminati se possibile (soprattutto perché molti di loro sono malware installati da rootkit o meccanismi di difesa aggressivi che penetrano in profondità nel sistema e lo rendono instabile). Insomma, non si creerà demagogia, ma proviamo a rispondere ad una semplice domanda: come fare un elenco degli automobilisti senza firma digitale?

L'utilità ci aiuterà in questo. sigverif.exe, compreso nella fornitura standard del sistema operativo e situato nella directory WINNT\System32. Eseguilo e visualizza la finestra di dialogo. Premiamo il pulsante “Avanzate” e nella scheda “Cerca” impostiamo i criteri di selezione spostando il pulsante di opzione dalla posizione “Notifica file di sistema non firmati” (dove vegeta per impostazione predefinita) alla posizione “Cerca altri file non firmato con firma digitale”. Successivamente, nelle “Opzioni di ricerca” apri la casella “Cerca file del seguente tipo” e seleziona “*.sys”, e di seguito specifichiamo la cartella in cui cercare “C: \ WINNT”, assicurati di controllare il casella “Includi sottocartelle”.

Infatti, a rigor di termini, i driver non devono necessariamente avere un'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! Questo non lo fanno solo i virus dannosi, ma anche programmi di tutto rispetto, come alcune utilità di Mark Russinovich, un noto ricercatore di Windows.

Pertanto, per la purezza dell'esperimento, non ci fa affatto male ottenere un elenco dei driver che si trovano in questo momento in memoria e confrontarli con i driver su disco. Le parole "al momento" sono fondamentali, poiché il caricamento/scaricamento dei driver può avvenire 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 della riga di comando, 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 >file-name.txt ) aperto da qualsiasi editor di testo- anche con Word, anche con un blocco note. Quindi resta solo da selezionare un blocco verticale (che il Blocco note non consente) e ottenere un elenco di driver. Direttamente dal kernel del sistema operativo!

Se nella directory C:\WINNT\ manca almeno uno di questi driver, 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 è lì, imposta un punto di interruzione sulla funzione CreateFileW di Soft-Ice e guarda gli argomenti passati ad essa. Prima o poi incontreremo il nostro buggy driver, dopodiché non resta che guardare l'angolo in basso a destra dello schermo di Soft-Ice, dove viene visualizzato il nome del processo che lo ha creato. Per maggiori dettagli, consultare il libro "Tecniche per il debug di programmi senza codici 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 cliccato 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 - quindi, dicono, tutti i problemi verranno rimossi come una coda. E come è possibile farlo? La soluzione più scortese è semplicemente prenderli ed eliminarli dal disco tramite FAR o Explorer (ovviamente con diritti di amministratore!). Ma le conseguenze di un'operazione del genere possono rivelarsi molto deplorevoli, ed è meglio, facendo clic con il tasto destro sull'icona del driver in Explorer, trovare il nome del produttore nelle "Proprietà", grazie al quale è possibile determinare quale l'applicazione/pezzo di hardware ha installato questo driver e disinstallarlo in modo civile. È vero, ce n'è uno "ma".

La figura seguente evidenzia il driver 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 scaricando la versione più recente del driver (è già firmato digitalmente). Solo che ora... sia la versione firmata che quella non firmata contengono molti errori fatali, in particolare, come risultato di una combinazione di determinate circostanze quando si tenta di passare alla modalità overlay, il sistema si blocca in un BSOD, mentre il conducente tenta di liberarsi memoria già liberata.

Pertanto, 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.

Organizziamo un vero test per la legna da ardere

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 di altri driver).

È importante notarlo autista Verificatore Non è una cura, ma solo uno strumento diagnostico. Ciò non ti salverà comunque dai fallimenti (al contrario, ne aumenterà l’intensità di un paio di ordini di grandezza), ma aiuterà a identificare il driver “cattivo” con un sufficiente grado di certezza.

Quindi, esegui verifier.exe, guarda la finestra autista Verificatore manager, andiamo alla scheda Impostazioni e spostiamo il pulsante di opzione sulla posizione Verifica tutti i conducenti, dopodiché premiamo il pulsante “Impostazioni preferite”, che imposta i seguenti tipi di controlli (tipo di verifica):

  • Speciale piscina- Ai driver controllati verrà assegnata un'area di memoria speciale per l'allocazione, che non è molto veloce, 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 sta per Livello di richiesta di interruzione. L'errore più comune commesso dagli sviluppatori di driver è provare ad accedere alla memoria su un IRQL su cui il gestore di swap non funziona. E se la pagina richiesta viene improvvisamente forzata su disco, il sistema si trasformerà in una schermata blu con la scritta "IRQL_LESS_OR_EQULAR". Forzando questa modalità si forzano le pagine del driver su disco, per cui il difetto di sviluppo si manifesta nel 100% dei casi.
  • Basso risorsa simulazioneè utile installarlo per vedere come si comporterà il driver in caso di catastrofica mancanza di risorse di sistema, ma questo non può essere fatto, ma è meglio lasciare la casella di controllo Pool tracking (monitoraggio della correttezza della gestione del pool di memoria ). 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 scelta delle impostazioni, premiamo il pulsante "Applica" (applica) e, come ci viene offerto, riavviamo.

Non appena si avvia l'avvio, il sistema rallenterà notevolmente, come dovrebbe, poiché il kernel esegue molti più controlli del solito. Quando vengono rilevati errori, lampeggia una schermata blu della morte 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 la legna grezza, ma ne parleremo più avanti.

Puoi scoprire lo stato della verifica in qualsiasi momento eseguendo verifier.exe. La scheda Stato conducente elenca lo stato 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, ovvero non tutte le sezioni del driver sono state elaborate). Lo stato Unloaded significa che il driver è stato caricato, controllato (possibilmente parzialmente) e scaricato dal sistema/programma utilizzandolo o per propria volontà. Quest'ultimo è particolarmente vero per i driver rimasti da apparecchiature rimosse estraendo barbaramente le schede di espansione dallo slot, cioè senza eseguire una disinstallazione. L'autista sopravvissuto scansiona l'autobus, cercando di trovare il "suo" equipaggiamento, interrompe la ricerca e poi si scarica dalla memoria, rallentando, tra l'altro, l'avvio del sistema (a volte in modo molto significativo) ed entrando in conflitto con altri conducenti. Morale: le apparecchiature dall'impianto devono essere rimosse 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 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 eseguendo 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 con il sistema in modalità di test duro per un po' di tempo (da alcune ore a diversi giorni), 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 (in questo caso non deve essere selezionato alcun driver), clicchiamo su “Reimposta tutto”, quindi su “Applica” e riavviamo. Tutto! Il sistema ora funziona a velocità normale, ma non vengono effettuati controlli.

Cosa fare con la legna da ardere grezza?

Ma in realtà, cosa si può fare con un driver difettoso? Gli hacker che sanno tenere in mano un debugger, con abbastanza tempo libero, possono smontarlo (grazie, i driver sono solitamente di piccole dimensioni), trovare un errore e trovare un modo per risolverlo, ma... questo è troppo laborioso.

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 produttore cinese sconosciuto del valore di $ 20, allora abbiamo una motivazione piuttosto forte per sostituirlo con qualcosa di più degno. Ma questo, in effetti, è chiaro a tutti e non necessita di ulteriori commenti.

Ma non tutti sanno che un numero enorme di arresti anomali e schermate blu è dovuto 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 piattaforma con due pietre, sia 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 sua macchina "virtuale a due processori" 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 la chiave /ONECPU, quindi riavviare nella speranza che gli errori scompaiano.

Elenco 1

Un 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 esista un'opzione (temporanea) con cui configurare le impostazioni di avvio utilità speciale, Microsoft prevede di eliminare completamente questa lacuna, in modo che rimanga solo la configurazione del BIOS. Tuttavia, per quanto riguarda Vista, quindi quando passeranno ad esso, gli sviluppatori di driver molto probabilmente acquisteranno macchine multiprocessore (poiché semplicemente non ce ne saranno altre in vendita) e testeranno le loro creazioni in un ambiente multiprocessore.

Un altro punto sottile. Ricordate, abbiamo detto sopra che l'errore più comune commesso dagli sviluppatori di driver è l'accesso alla memoria con prelazione a un livello IRQL in cui il gestore di swap non funziona e se la pagina richiesta non è in memoria, si verifica un arresto anomalo? La soluzione ovvia in questo caso sarebbe quella di aumentare la RAM fino al punto in cui praticamente non avviene lo spostamento delle pagine sul disco. Ai prezzi attuali della memoria, quasi tutti possono permettersi di acquistare un paio di nuovi "dadi". Ma esiste una soluzione più accessibile (e più elegante) al problema. Se il parametro DisabilitarePagingExecutive, situato nel seguente ramo 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 prezioso parametro e riavviamo (le modifiche diventano effettive solo dopo il riavvio), sperando che ciò aiuti a risolvere il problema degli errori.




Superiore