Bsod jaké ovladače jsou potřeba pro počítač. Použití Driver Verifier k identifikaci problematického ovladače. Čtení souboru výpisu

Existuje mnoho důvodů pro BSOD, ale v tomto článku se budeme zabývat problémem, který vzniká kvůli konfliktu nainstalovaných ovladačů. Mohlo by to být nainstalovaný ovladač nebo poškozené. Oprava problému BSOD může být docela jednoduchá, pokud se jedná pouze o problém s ovladačem a víte, který to je. Ovladač můžete přeinstalovat nebo aktualizovat, vrátit se zpět stará verze nebo se zbavte aplikace, která ovladač na váš počítač nainstalovala, jejím fyzickým odebráním. Problém je v tom, že ne vždy je možné zjistit, který řidič je „viníkem“, a to ani po prostudování všech údajů z modrá obrazovka. Ale existuje cesta ven. Pokud nemáte mnoho znalostí a zkušeností, ale je potřeba zkontrolovat ovladače, můžete pro takové případy použít speciální ověřovací nástroj Verifier.exe zabudovaný v OS. Stávající popis ve znalostní bázi Microsoft je prezentován pomocí složitých technických termínů, které ne vždy znají ani zkušení uživatelé. Proto tento článek představuje krátký seznam manipulací nezbytných k dokončení úkolu. Spuštění ověřovače ovladačů Po otevření nabídky „Start“ zadejte do vyhledávacího pole dotaz „Spustit“ a klikněte na výsledek, který se zobrazí nahoře. V okně, které se objeví, musíte zadat příkaz „ ověřovatel“ (bez uvozovek) a potvrďte kliknutím na „OK“.
Zobrazí se dialogové okno Správce ověřování souborů. V prvním dialogu je třeba vybrat položku „Vytvořit nestandardní parametry (pro programový kód)“. Klikněte na „Další“.
Dalším krokem je výběr jednotlivých parametrů pro testování ovladače. Za tímto účelem provedeme následující manipulace: „Vyberte jednotlivé parametry z úplný seznam" - "Dále".
Po dokončení těchto kroků byste měli obdržet dialogové okno se seznamem parametrů testování. Zaškrtněte všechna políčka kromě položky „Simulovat nedostatek zdrojů“. Klepněte na tlačítko Další.
Posledním krokem v této části je dát dispečerovi příkaz automatický výběr nepodepsané ovladače. Vyberte „Automaticky vybrat nepodepsané ovladače“. Klepněte na tlačítko Další.
Stává se, že manažer nezjistil nepodepsané ovladače. Poté použijte funkci selektivní kontroly ovladače, o které bude řeč později. Práce s nepodepsanými ovladači Pokud jsou detekovány nepodepsané ovladače, manažer je zobrazí ve formě seznamu.
Mohou to být ovladače zařízení nebo ovladače aplikací. Jakmile jsou detekovány nepodepsané ovladače, není třeba zavírat správce a klikat na tlačítko „Dokončit“. Nejprve zkontrolujeme aktualizované ovladače. Vyhledejte aktualizované ovladače Chcete-li zkontrolovat, musíte provést následující kroky: 1. Ovladač aplikace je v seznamu. V takovém případě musíte navštívit web výrobce aplikace a zkontrolovat aktualizované ovladače. V případě aktualizovaná verze chybí ovladač, zkuste aplikaci odinstalovat. Nebojte se, vždy jej můžete později nainstalovat znovu. Bude to však vynikající kontrola: pokud se již nevyskytují kritické chyby, důvod byl tato aplikace. 2. Seznam obsahuje ovladač zařízení. V tomto případě (pokud máte Windows Vista), spusťte centrum aktualizací a povolte vyhledávání nové funkce ovladače. Pokud je nalezen nový ovladač, spusťte jeho instalaci. 3. Pokud centrum aktualizací nenašlo nový ovladač, podívejte se na web výrobce, je pravděpodobné, že tam nový ovladač bude. Po aktualizaci ovladače nebo aplikace zavřete správce skenování (tlačítko Storno), restartujte počítač a počkejte, až se načte OS. Li kritické chyby zastaveno - aktualizace ovladačů nebo aplikací je odstranila. Odebrání ovladačů Pokud nové ovladače nelze najít, můžete zkusit ovladač odebrat. POZORNOST! Pokud ovladač odeberete, zařízení přestane fungovat. Po restartu se operační systém pokusí nainstalovat ovladač z úložiště, ale není pravda, že standardní ovladač to udělá. Pokud si nejste jisti nutností odebrat jakýkoli ovladač, neodstraňujte jej. Spusťte Správce zařízení následujícím způsobem: Start – Spustit – devmgmt.msc– Vstupte. Po nalezení požadované zařízení, klikněte na něj pravým tlačítkem a vyberte Vlastnosti – Ovladač – Odinstalovat. Kontrola nepodepsaných ovladačů POZORNOST! Po kontrole nepodepsaných ovladačů se může stát, že systém nenaběhne. Níže je uveden popis opatření přijatých v této situaci. Pokud si nejste jisti, že chcete ovladač odebrat a přesto pokračovat ve skenování, klikněte ve správci skenování na tlačítko Dokončit. Až budete požádáni o výběr fyzického disku, vyberte ten, na kterém je nainstalován operační systém, a poté znovu klikněte na Dokončit. Zobrazí se zpráva s textem: "Aby se změny projevily, musíte restartovat počítač." Tiše ukončete všechny aplikace a restartujte. Pokud se systém nespustí a objeví se modrá obrazovka s popisem chyby, znamená to ovladač namáhavý nalezeno. Po opětovném restartování počítače před načtením operačního systému klikněte na F8 verifier.exe/resetověřovatel.exe
Vlastní kontrola řidiče Znovu spusťte Driver Verifier Manager a proveďte předchozí kroky až do bodu uvedeného níže.
Vyberte "Vybrat název ovladače ze seznamu". Dalším krokem bude okno pro výběr ovladačů ke kontrole. Neměli byste vybírat všechny ovladače najednou, protože OS si pro skenování vyhradí poměrně velké množství prostředků a stráví na něm spoustu času. Je lepší opakovat postup ověření několikrát, ale s malým počtem řidičů. To vám ušetří čas a zdroje. Nejprve zkontrolujte ovladače, které byly nedávno aktualizovány nebo jednoduše problematické ovladače (ovladač antivirový program, firewall, virtuální disk nebo auta). Dalším krokem je kontrola ovladačů, které nevyrábí společnost Microsoft. Zkontrolujte zbývající ovladače 10-15 najednou.
Vybrat potřebné ovladače a klikněte na tlačítko "Hotovo". Až budete požádáni o výběr fyzického disku, vyberte ten, na kterém je nainstalován operační systém, a poté znovu klikněte na Dokončit. Zobrazí se zpráva s výzvou k restartování. Restartovat váš počítač. Pokud se po restartu objeví modrá obrazovka s chybovou zprávou, znamená to, že byl nalezen ovladač způsobující problém. Po opětovném restartování počítače před načtením operačního systému klikněte na F8 a vyberte „Spustit bezpečný režim" Po přihlášení klikněte na tlačítko Start a zadejte Run/Search verifier.exe/reset. Pokud nenastaly žádné problémy a systém se spustil ve standardním režimu, pak nepodepsané ovladače nezpůsobují problémy a je třeba zkontrolovat ostatní ovladače. Spusťte znovu Driver Verifier Manager ( ověřovatel.exe) a vyberte „Zobrazit informace o aktuálně ověřených ovladačích“.
Opakujte skenování pro všechny zbývající ovladače. Dokončení ověření ovladače Pokud kontrola všech ovladačů neodhalí příčiny kritických chyb, problém s největší pravděpodobností není v ovladačích. Problém nemusí být v softwaru, ale v hardwaru vašeho počítače. S největší pravděpodobností se jedná o problémy s pevným diskem nebo RAM. Může se také stát, že napájecí zdroj nemá dostatek energie k zajištění provozu všech zařízení nebo jiný problém v hardwaru, který nelze zjistit kontrolou ovladačů. Diagnostikujte RAM a HDD.

Vadný ovladač může způsobit mnoho problémů ve vašem počítači. Hlavním příznakem, že váš počítač má vadný ovladač, je modrá obrazovka smrti, která je často způsobena deaktivací ovladače.

V tomto článku vám řekneme, jak můžete najít vadný ovladač a poté jej aktualizovat nebo úplně odstranit.

Někdy systém Windows upozorní uživatele, že některý z ovladačů selhal. Stává se však, že systém nedokáže zjistit, v čem je problém, a proto nezobrazuje chybové zprávy, a proto funguje pomaleji nebo ne podle potřeby. V tomto případě Správce ověřování ovladačů(Driver Verifier) ​​​​vytváří dodatečné zatížení systémových ovladačů, čímž se snaží způsobit selhání. Pokud jeden z ovladačů selže, pak Správce ověřování ovladačů ohlásí problém pomocí modré obrazovky.

Varování

Před použitím Správce ověřování ovladačů, mějte na paměti, že nástroj vás může omezit v používání vašeho vlastní počítač. Protože Správce ověřování ovladačů spouští modrou obrazovku smrti, když detekuje vadný ovladač, to může způsobit velké problémy při načítání Windows.

Pokud nemáte možnost dostat se do Windows a zakázat testování ovladačů, počítač poběží ve smyčce „boot -> zatížení -> havárie“, ze které je docela obtížné se dostat. Funkce Automatic Repair je jednou z mála možností, jak získat přístup k Windows, ale je lepší se této situaci vyhnout.

Před použitím Driver Verifier se ujistěte, že máte alespoň jeden z následujících nouzových východů:

  • Můžete přejít do nouzového režimu. Před spuštěním přejděte do nouzového režimu Spouštění systému Windows obvykle se provádí opakovaným stisknutím klávesy F8 při spouštění počítače. Nové počítače však startují tak rychle, že zkrátka nestihnete stisknout F8 ve správný čas.
  • Vytvořili jste před použitím bod obnovení systému? Správce ověřování ovladačů. Je také vhodné mít instalaci disk Windows abyste mohli obnovit počítač do továrního nastavení.

Jak spustit Driver Verifier Manager

Než začnete návod k použití Správce ověřování ovladačů, přečtěte si část „Upozornění“ výše. Říká, jak se vyhnout nekonečné načítání Okna.

Až si budete stoprocentně jisti, že máte plán nouzového východu, klikněte na „ Klávesa Windows + R“ a vstupte cmd v dialogovém okně Vykonat“, poté klikněte na „ OK».

V příkazovém okně zadejte:

ověřovatel

Ve vyskakovacím okně vyberte " Vytvořte nestandardní parametry (pro kód programu)“, poté klikněte na „ Dále».

Zobrazí se seznam všech testů, které můžete spustit, abyste zkontrolovali své ovladače. Vyberte všechny testy ze seznamu, až na„Simulovat náhodný nedostatek zdrojů“ a „Další kontrola shody DDI“, poté klikněte na „ Dále».

Na další obrazovce vyberte " Vybratjména ovladačů ze seznamu"a stiskněte" Dále».

Zde si můžete vybrat ovladače, které chcete otestovat. Pokud nevíte, který ovladač je vadný, vyberte všechny kromě Microsoftu, protože většinou fungují bez chyb.

Když stisknete " Připraveno", Windows vás vyzve k restartování počítače. Po zapnutí počítače pokračujte v používání jako obvykle. Pokud se zobrazí modrá obrazovka, věnujte pozornost chybové zprávě a restartujte počítač.

Jakmile identifikujete vadný ovladač, můžete jej deaktivovat Správce ověřování ovladačů jedním ze dvou způsobů. Můžete znovu otevřít příkazový řádek, zadejte příkaz ověřovatel a vyberte " Odstraňte stávající nastavení».

Můžete také otevřít příkazový řádek a zadat:

Verifier /bootmode resetonbootfail

Po deaktivaci Driver Verifier Manager restartujte počítač. Pokud se počítač nezapne, použijte jeden z nouzových východů, které jsme probrali v části „Upozornění“.

Závěr

Pokud si myslíte, že jeden z ovladačů je vadný, ale nemůžete zjistit, který z nich, pak Správce ověřování ovladačů bude velkou pomocí.

Měli byste se však připravit na možnost, že se počítač po otestování ovladačů nebude moci zapnout, proto zvažte záložní ukončení pomocí Nouzová situace, například přejděte do nouzového režimu nebo spusťte bod obnovení systému Windows.

Měli jste někdy problémy s ovladači v počítači? Jak se vám podařilo najít vadný ovladač? Řekněte nám to v komentářích níže!

Nástroj Driver Verifier (verifier.exe) je navržen tak, aby analyzoval problematické ovladače, když analýza výpisů paměti po BSOD neumožňuje najít problematický ovladač. Driver Verifier je „zachráncem“ v nejproblematičtějších situacích.

S Driver Verifier můžete:

    zátěžový test řidiče (simulují se podmínky nedostatku zdrojů);

    kontrola přetečení vyrovnávací paměti;

    kontrola nad chybami, ke kterým dochází v důsledku nesprávné operace při daném IRQL;

    analýza I/O chyb;

    detekce zablokovaných situací atd.

Nástroj Driver Verifier je velmi užitečný, když:

    administrátor (uživatel) má podezření, že tento konkrétní ovladač způsobuje pád systému a chce dále prověřit, zda tomu tak skutečně je;

    vývojáři ovladačů chtějí svůj ovladač otestovat;

    Při analýze výpisu paměti po BSOD není možné najít problematický ovladač.

Jedním z nejobtížnějších případů analýzy výpisů paměti je, když ovladač omylem přepíše data před nebo za koncem vyrovnávací paměti, kterou alokoval. V takových případech dochází k chybám v jádře OS (například analýza výpisu po BSOD ukazuje, že k chybě došlo v ntoskrnl.exe).

Uvidíme podobný případ na konkrétním příkladu. Pomocí utility NotMyfault způsobíme BSOD – „Přetečení vyrovnávací paměti“.

Výsledek analýzy skládky pomocí windbg je přiložen níže.

Podle analýzy skládky dostaneme:

1. Arg1: 00000007, Pokus o uvolnění fondu, který již byl uvolněn (byl učiněn pokus o uvolnění již uvolněného fondu)

2. IMAGE_NAME: ntkrpamp.exe (s tím má něco společného jádro systému samo o sobě)

Právě s takovými chybami přichází na pomoc ověřovatel.

Spusťte ověřovač.

Vyberte „Vytvořit nestandardní parametry“. Dále vyberte „Vybrat parametry ze seznamu“.

Vyberte vše kromě „Simulovat nedostatek zdrojů“.

Poté vyberte „Select unloaded drivers for this list“ a zadejte cestu k ovladači myfault.sys, který se nachází ve stejném adresáři jako program NotMyfault.exe.

Poté označte ovladač a klikněte na „Dokončit“. Poté musíme počítač restartovat.

Provádíme všechny stejné akce jako na začátku. Spusťte NotMyfault.exe, vyberte „Přetečení vyrovnávací paměti“ a klikněte na „Crash“. Jak jste si všimli, pád nemusí nastat okamžitě, protože kdo a kdy se pokusí s touto pamětí pracovat, není předem známo. Jak můžete vidět na obrázku níže, díky ověřovači dokáže systém identifikovat problematický ovladač.

Poskytnu analýzu pomocí!analyze –v ve windbg.exe výpisu paměti po BSOD.

Program verifikátoru to dělá tak, že testovaný ovladač namísto běžné paměti dostupné v jádře používá speciální fond určený k detekci takové chyby. Díky tomu můžete najít ovladač, který způsobuje BSOD.

Pokud se podíváme na výsledky analýzy, uvidíme následující.

1. DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION (d6) – toto je jedna z chyb, kterou generuje ověřovatel

2. IMAGE_NAME: myfault.sys – ovladač, který problém způsobil.

Pokud vám tedy analýza výpisu paměti po BSOD neumožní najít „vinný ovladač“, použijte program verifier.exe (nainstalujte všechny kontroly, kromě nedostatku paměti).

Nejjednodušší způsob, jak použít Driver Verifier (verifier.exe), je spustit jej s následujícími parametry:

ověřovatel /standardní / název souboru ovladače

Utility Řidič Ověřovatel zahrnuto ve všech Verze Windows, počínaje Windows XP a umožňuje kontrolovat ovladače, identifikovat problematické ovladače, které způsobují modrá obrazovka smrti (BSOD- Modrá obrazovka smrti) a záznam detailní informace o problematickém ovladači ve výpisu paměti pro další analýzu. Nástroj podrobuje kontrolované ovladače různým „ zátěžové testy“, simulující různé extrémní podmínky: nedostatek paměti, I/O řízení, IRQL, uváznutí, DMA kontroly, IRP atd. Tj. jsou simulovány situace, které se na produktivních systémech vyskytují zřídka, a je sledováno chování řidičů v nich. Účelem nástroje je identifikovat situace, ve kterých může řidič vést k selhání systému s BSOD.

Je volán spustitelný soubor nástroje Driver Verifier Ověřovatel.exe a je umístěn v adresáři %windir%\system32. Existují dvě možnosti použití nástroje: z příkazového řádku nebo pomocí GUI.

Chcete-li povolit režim ověření ovladače ve Windows 8, spusťte obslužný program Driver Verifier zadáním

Ověřovatel

V seznamu úkolů vyberte Vytvořte vlastní nastavení (pro vývojáře kódu) a stiskněte další.

Ujistěte se, že jsou vybrány možnosti Standardní nastavení, Vynutit čekající I/O požadavky A IRP protokolování. Klikněte další.

Dále vyberte .

Seřaďte obsah tabulky kliknutím na záhlaví sloupce "Poskytovatel" a ze seznamu ovladačů vyberte ty, které chcete otestovat. V našem příkladu spustíme kontrolu všech ovladačů, které nejsou vyvinuty společností MicrosoftKorporace. Vybrali jsme ovladače: e1g6032e.sys (Intel) a lsi_sas.sys (LSI).

Poznámka. Dostupnost řidiče digitální podpis Společnost Microsoft uvádí, že ovladač byl určitým způsobem testován na stabilitu a jeho kód nebyl od té doby upraven. Proto se nedoporučuje ani nepoužívá.

Jediné, co musíte udělat, je kliknout Dokončit a objeví se informační okno, že je třeba restartovat systém, aby se změny projevily.

Rada. Režim ověření řidiče lze také povolit z příkazový řádek. Například ke spuštění Driver Verifier s standardní nastavení pro ovladač myPCDriver.sys bude příkaz vypadat takto: verifier /standard /driver myPCDriver.sys

Po restartu se systém spustí do režimu ověření ovladače. Driver Verifier funguje v Pozadí, provádějící různé typy testování vybraných ovladačů k identifikaci chyb. Použijte svůj počítač jako obvykle a počkejte, až se objeví BSOD. Pokud víte, jaké akce dříve způsobily selhání systému, zopakujte je. Pokud se objeví BSOD, musíte zkopírovat soubor výpisu paměti (ve výchozím nastavení je uložen v adresáři C:\Windows\Minidump\*.dmp) a analyzovat jej pomocí Windbg nebo ekvivalentu.

Důležité! Po aktivaci režimu ladění ovladačů pomocí Driver Verifier bude tento režim fungovat, dokud nebude násilně deaktivován.

Pokud se problém během 1-2 dnů nezopakuje, můžeme s jistou mírou jistoty dojít k závěru, že testované ovladače nejsou příčinou zhroucení systému a režim kontroly pro ně lze zakázat.

Rada. Pomocí Validátoru Ovladače pro Windows výrazně zpomaluje Windows, proto se nedoporučuje neustále pracovat v tomto režimu.

Driver Verifier můžete zakázat z příkazového řádku:

Verifikátor / reset

Nebo z grafického rozhraní výběrem Smazat stávající nastavení.

Pokud se nemůžete přihlásit do systému v normálním režimu, můžete zakázat režim ladění z nouzového režimu.

Pokud se systém nespustí v nouzovém režimu, zkuste smazat následující klíče registru spuštěním ze spouštěcí diskety:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDriverLevel

Aktuální stav nástroje Driver Verifier můžete zkontrolovat takto.

Upozorňujeme, že jakékoli experimenty s ovladači jsou nebezpečné a mohou poškodit systém. Je lepší provést zálohu systému předem a pak nekřížit prsty odebráním dalšího podezřelého ovladače z Windows.

A jakmile nebudou nadávat Okna z Microsoft, který chudáka nazývá současně pomalým, závadným a dokonce nestabilním. Ale nikdo nespěchá, aby se toho vzdal, a obecně je nepravděpodobné, že by to někdy vzdal. Místo napomínání ubohých vývojářů a zakládání nesmyslných plamenů by proto bylo dobré zjistit, proč je vlastně systém zabugovaný? Prozradím ti malé tajemství. V notoricky známých obrazovkách smrti a nestabilní práce Okna v drtivé většině případů jsou na vině ovladače třetích stran a samotný operační systém s tím nemá absolutně nic společného. Nyní vám řekneme, jak takové ovladače odhalit a odstranit ze systému.

Konstrukční vady ovladače se mohou pohybovat od pádů až po modrou obrazovku smrti ( BSOD– Modrá obrazovka smrti) a ke zpomalení počítače a podivnému chování některých aplikačních aplikací, které s ovladačem zcela nesouvisí.

Modrá obrazovka smrti je pozoruhodná (bez jakékoli ironie!) v tom, že jasně signalizuje přítomnost vážného problému a dává tip, kam kopat. Často (ale ne vždy) se jméno „provinilého“ řidiče zobrazuje přímo v pravém horním rohu modré obrazovky smrti. Nemusí tam však být, nebo v horším případě tam může být jméno zcela nesouvisejícího řidiče.

Například jeden docela běžný ovladač grafické karty Matrox G450 má tendenci ničit základní struktury grafický subsystém Okna 2000 , což má za následek, že BSOD zobrazuje název systémového ovladače win32k.sys, který implementuje významnou část funkcí USER a GDI a který s tím samozřejmě nemá nic společného. Interpretace modré obrazovky smrtí je tedy magie, intuice, věda a umění – od všeho trochu.

Kromě závad ovladače mohou být modré obrazovky smrti způsobeny také selháním hardwaru, například přetaktovaným procesorem, vadnou RAM nebo křivým ovladačem. pevný disk, PCI karta není zcela zasunuta do slotu, uvolněný kontakt v jednom z konektorů, špatné napájení, oteklý elektrolytický kondenzátor zapnutý základní deska. A ten trucuje z různých důvodů: kvůli přehřátí z nedalekého procesoru, nedostatek keramických kondenzátorů „nenahlášený“ výrobcem (v důsledku čehož RF komponenta prochází elektrolytem a velmi jej zahřívá) a nakonec , kvůli netěsnosti klíčových tranzistorů ve stabilizátoru jednotky. Proto se před štípáním dřeva musíme ujistit, že žehlička, na které sedíme, je plně funkční. Jak to lze udělat?

Zúčtování se železem

Modré obrazovky smrti způsobené selháním hardwaru jsou spontánní, objevují se nepředvídatelně a bez ohledu na konkrétní akce uživatele. Aplikační aplikace také začínají produkovat kritické chyby na různých místech a chybové kódy, adresy a další informace vydávané systémem se budou ve všech případech lišit! Mimochodem, ovladače, které zpracovávají asynchronní požadavky z I/O zařízení, například bezdrátové sítě, chovají se téměř úplně stejně. Modré obrazovky smrti způsobené vadnými ovladači se obvykle objevují při provádění specifické sady akcí a obsahují víceméně konstantní informace.

Chcete-li odstranit všechna podezření z hardwaru, stačí k systému připojit další pevný disk a nainstalovat čistý Okna a chvíli na tom pracovat. Pokud modré obrazovky smrti nezmizí, znamená to, že za to může hardware a je čas to změnit. Hledání vadných součástek je téma na samostatnou diskuzi, kterou si necháme na příště, ale zatím si vyhrňte rukávy a dejte se těmto zákeřným ovladačům na kloub.

Palivové dřevo bez atestu jde rovnou do topeniště

Celá sada nástrojů nezbytných pro vývoj ovladačů ( DDK– Driver Development Kit), společnost Microsoft jej distribuuje zdarma spolu s doprovodnou dokumentací. Ovladače, někdy velmi zabugované a nestabilní.

Aby k takovému chaosu nedošlo, Microsoft již ve starověku zavedl postup pro certifikaci řidičů, zda splňují požadavky, které jsou na ně kladeny, a poté je řidiči vydán digitální podpis. Nebo... nebyl vydán a byl odeslán k revizi. A přestože je certifikace pouze formální procedura, která nezaručuje absenci fatálních chyb a vývojových defektů, stále odstraňuje některé upřímně „průkopnické“ ovladače.

V ideálním případě by v systému měly být uchovávány pouze digitálně podepsané ovladače. A přestože digitální podpis není pojistkou, jeho přítomnost již naznačuje určitou úroveň kultury rozvoje. Ovladače bez digitálního podpisu jsou horší než prase v žitě a je třeba se jich pokud možno zbavit (zejména proto, že mnoho z nich je malware nainstalovaný rootkity nebo agresivními obrannými mechanismy, které pronikají hluboko do systému a způsobují jeho nestabilitu ). Zkrátka, nepouštějme se do demagogie, ale zkusme si odpovědět na jednoduchou otázku: jak vytvořit seznam ovladačů bez digitálního podpisu?

S tím nám pomůže utilita sigverif.exe, která je součástí standardní dodávky operační systém a nachází se v adresáři WINNT\System32. Spustíme jej a zobrazí se dialogové okno. Klikněte na tlačítko „Upřesnit“ a na kartě „Hledat“ nastavte kritéria výběru přesunutím přepínače z pozice „Upozornit na odhlášené“ systémové soubory"(kde ve výchozím nastavení chřadlo) do pozice "Vyhledat další soubory, které nejsou digitálně podepsány." Poté v „Možnosti vyhledávání“ otevřete pole „Vyhledat soubory následujícího typu“ a vyberte „*.sys“ a níže označte složku hledání „C:\WINNT“, přičemž nezapomeňte zaškrtnout políčko „Včetně podsložky“.

Ve skutečnosti, přísně vzato, ovladače nemusí mít příponu sys a nejsou vždy omezeny na adresář WINNT, který je v adresářích „svých“ aplikací a některé aplikace dokonce ukládají ovladače... do sebe! Ihned po spuštění (nebo kdykoliv jindy) uloží soubor na disk do aktuálního nebo dočasného adresáře, načtou ovladač do paměti a... okamžitě ho smažou z disku! Dělají to nejen škodlivé viry, ale i docela úctyhodné programy, jako jsou některé utility slavného podpovrchového výzkumníka Windows Marka Russinoviče.

Z důvodu čistoty experimentu by nám neuškodilo získat seznam ovladačů umístěných v tento moment v paměti a porovnejte je s ovladači umístěnými na disku. Slova „aktuálně“ jsou klíčová, protože ovladače lze stáhnout/vyjmout zdarma bez restartování operačního systému. Tuto operaci je vhodné provést několikrát spuštěním nástroje příkazového řádku drivers.exe, který je součástí DDK, který lze stáhnout ze serveru Microsoft. Obslužný program byl spuštěn bez jakýchkoli přepínačů řádkovým příkazem drives.exe vysype všechny informace na obrazovku, což není dobré, protože v systému je obvykle hodně ovladačů a nevejdou se na obrazovku. Náboženství nám však umožňuje přesměrovat výstupní proud na textový soubor(drivers.exe >název-souboru.txt), který může otevřít kdokoli textový editor- buď pomocí Wordu, nebo pomocí poznámkového bloku. Pak už jen zbývá vybrat vertikální blok (což Notepad neumožňuje) a získat seznam ovladačů. Přímo z jádra operačního systému!

Pokud alespoň jeden z těchto ovladačů není v adresáři C:\WINNT\, jeho digitální podpis nebude ověřen! Takový řidič přirozeně okamžitě přitahuje pozornost a my máme rozumnou otázku: odkud pochází? Nejprve prohledáme všechny adresáře na disku; pokud tam není, nastavte zarážku na funkci CreateFileW v Soft-Ice a podívejte se na argumenty, které jsou jí předány. Dříve nebo později se setkáme s naším buggy ovladačem, načež nám nezbývá než se podívat do pravého dolního rohu obrazovky Soft-Ice, kde je zobrazen název procesu, který jej vygeneroval. Další podrobnosti naleznete v knize „Techniques for Debugging Programs Without Source Texts“, jejíž elektronickou kopii lze nalézt na ftp nebo http serveru nezumi.org.ru a také na našem disku. A pokračujeme v mučení užitku sigverif.exe.

Po kliknutí na „OK“, „Start“ se na obrazovce objeví „teploměr“ zobrazující průběh a pevný disk začne šustit všemi hlavami, které má. Po dokončení práce se sestaví seznam ovladačů bez digitálního podpisu a zobrazí se na obrazovce.

Některé horké hlavy navrhují, aby se systém vyčistil od kacířství, aby se odstranily všechny nepodepsané ovladače - pak prý všechny problémy zmizí. Jak to lze udělat? Nejdrsnějším řešením je jednoduše je odstranit z disku přes FAR nebo Průzkumníka (s administrátorskými právy, samozřejmě!). Důsledky takové operace však mohou být velmi katastrofální a je lepší kliknout pravým tlačítkem na ikonu ovladače v Průzkumníku, najít v „Vlastnosti“ jméno výrobce, podle kterého můžete určit, jaký druh aplikace/hardwaru je nainstalován. tento ovladač a odinstalujte jej civilizovaným způsobem. Pravda, je tu jedno „ale“.

Ovladač je zvýrazněn na obrázku níže. g400m.sys, který je dodáván s kartou Matrox G450, a přestože Matrox není vůbec slabá společnost, digitální podpis nedostal (buď jej nedal Microsoft, nebo se nechtěl obtěžovat samotný Matrox). Po vyjmutí ze systému samozřejmě budete muset na režim SVGA zapomenout. Můžete však přejít na webovou stránku Matrox a stáhnout si nejnovější verzi ovladače (je již digitálně podepsána). Pouze zde... podepsaná i nepodepsaná verze obsahují mnoho fatálních chyb, zejména v důsledku určitých okolností při pokusu o přepnutí do režimu překrytí systém spadne do BSOD, protože se ovladač snaží uvolnit již uvolněnou paměť.

Přítomnost/nepřítomnost digitálního podpisu tedy sama o sobě nic neznamená a i když používáme pouze podepsané ovladače, nedává nám to žádné záruky stability.

Zde se přesuneme k druhé části článku, konkrétně k testování řidičů v podmínkách blízkých boji.

Dáváme palivovému dříví skutečnou zkoušku

DDK obsahuje úžasný nástroj Řidič Ověřovatel, která vytváří pro řidiče nejpřísnější podmínky hraničící s extrémem a sebevraždou, ve kterých je pravděpodobnost selhání maximální a jméno závadného řidiče je určeno s nejvyšší přesností (i když netrpí vývojovými vadami, ale ničí datovou strukturu ovladačů jiných lidí).

Je důležité si to uvědomit Řidič Ověřovatel- Toto není lék, ale pouze diagnostický nástroj. Stále vás nezachrání před poruchami (naopak zvýší jejich intenzitu o několik řádů), ale pomůže identifikovat „záludného“ řidiče s dostatečnou mírou spolehlivosti.

Spustíme tedy verifier.exe, uvidíme okno Řidič Ověřovatel Manažer, přejděte na kartu Nastavení a přesuňte přepínač do polohy Ověřit všechny řidiče, poté stiskneme tlačítko „Preferované nastavení“, které nastaví následující typy ověření:

  • Speciální bazén– testovaným ovladačům bude přidělena speciální paměťová oblast pro přidělení, která nefunguje příliš rychle, ale je schopna detekovat většinu typů zničení vlastních i cizích dat.
  • Platnost IRQL kontrola. IRQL je úroveň požadavku na přerušení. Nejčastější chybou, kterou vývojáři ovladačů dělají, je pokus o přístup k paměti na úrovni IRQL, na které nefunguje správce stránkování. A pokud se požadovaná stránka náhle vystěhuje na disk, systém se změní na modrou obrazovku s nápisem „IRQL_LESS_OR_EQULAR“. Vynucení tohoto režimu vynutí vyprázdnění stránek ovladače na disk, aby se vada návrhu objevila ve 100 % případů.
  • Nízký zdroj simulace Je užitečné jej nainstalovat, abyste viděli, jak se bude ovladač chovat v případě katastrofálního nedostatku systémových prostředků, ale nemusíte to dělat, ale je lepší ponechat zaškrtávací políčko Pool tracking (sledování správného zacházení s pamětí bazén). Chyby vstupu/výstupu (ověření I/O) tvoří nepodstatnou část všech chyb, takže umístění tohoto zaškrtávacího políčka je obecně zcela nekritické.

Po dokončení výběru nastavení klikněte na tlačítko „Použít“ a podle doporučení restartujte počítač.

Ihned po zahájení bootování se systém znatelně zpomalí, což by mělo být, protože jádro provádí mnohem více kontrol než obvykle. Při detekci chyb bliká modrá obrazovka smrti s názvem ovladače a dalšími informacemi, které jsou užitečné pro vývojáře, ale pro nás zbytečné. Jediné, co můžeme udělat, je aktualizovat ovladač na maximum Nejnovější verze nebo odmítnout používat program (hardware), který jej používá. Vlastně máme trochu více možností, jak zapálit mokré dřevo, ale o tom později.

Stav ověření můžete kdykoli zjistit spuštěním verifier.exe. Na kartě Stav ovladače jsou uvedeny stavy všech zjištěných ovladačů s vysvětlením aktuální situace. Stav načtení to znamená tento řidič byl stažen a ověřen uživatelem alespoň, jednou (ale možná ne úplně, to znamená, že ne všechny úseky řidiče stihly vypracovat). Stav Unloaded znamená, že ovladač byl načten, ověřen (případně částečně) a uvolněn systémem/programem, který jej používá nebo na vlastní žádost. To druhé je typické zejména pro ovladače zbylé ze zařízení, které bylo odstraněno barbarským vytažením rozšiřující karty ze slotu, tedy bez provedení odinstalace. Přeživší ovladač prohledá sběrnici, snaží se najít „její“ hardware, selže s hledáním a pak se mimochodem uvolní z paměti, čímž zpomalí boot systému (někdy velmi výrazně) a dostane se do konfliktu s ostatními ovladači. Morálka: zařízení musí být ze systému odstraněno podle všech pravidel! Ne každý stav Vyložena je ale známkou abnormální situace a než smažete řidiče s takovým stavem, musíte nejprve zjistit, o jaký druh soba jde a odkud se vůbec vzal.

Stav Nikdy nenačteno znamená, že tento ovladač ještě nebyl načten, což znamená, že nebyl zkontrolován, takže před spuštěním musíte počkat různé programy která s tím může souviset. Některé ovladače (zejména nesprávně odinstalované) se však nenačtou, a proto nejsou nikdy kontrolovány.

Po nějaké době práce se systémem v režimu tvrdé kontroly (od několika hodin až po několik dní) identifikujeme téměř všechny vadné ovladače, kterými jsme dříve trpěli, a zapíšeme jejich jména na kus papíru.

Vraťte systém do normálního režimu (tj. bez dodatečné kontroly, který snižuje produktivitu), můžete použít stejný ověřovač. Vrátíme se na kartu Nastavení, přesuňte přepínač do pozice Ověřit vybrané ovladače (neměl by být vybrán žádný ovladač), klikněte na „Resetovat vše“, poté na „Použít“ a restartujte počítač. Všechno! Systém nyní funguje normální rychlostí, ale bez kontrol.

Co dělat s vlhkým palivovým dřevem?

Ale opravdu, co můžete dělat s vadným ovladačem? Hackeři, kteří vědí, jak držet debugger v ruce, pokud mají dostatek volného času, dokážou jej rozebrat (naštěstí jsou ovladače většinou malých rozměrů), najít chybu a vymyslet způsob, jak ji opravit, ale.. to je příliš časově náročné.

Vyhození ovladače (spolu s hardwarem/programem, který jej používá) také nepřipadá v úvahu. I když pokud je známo, že za to mohou modré obrazovky smrti zvuková karta cizinec Čínský výrobce v hodnotě 20 $, pak máme velmi silnou motivaci jej nahradit něčím hodnotnějším. Ale to už je, přísně vzato, každému jasné a Další komentáře nepotřebuje.

Ale ne každý ví, že obrovské množství pádů a modrých obrazovek smrti je způsobeno tím, že na dvouprocesorovém stroji je nainstalován ovladač vyvinutý (a testovaný) v jednoprocesorovém prostředí. „Dvouprocesorem“ zde rozumíme jak skutečnou platformu se dvěma kameny, tak procesory Hyper-Threading/multi-core. Známý (a potvrzený) velké množství testy), že domácí počítač dva procesory jsou naprosto k ničemu, jelikož v drtivé většině aplikací nedochází prakticky k žádnému nárůstu výkonu.

Pokud je tedy systém nestabilní a z toho či onoho důvodu není možné zbavit se vadného ovladače, můžete se pokusit dostat do nastavení systému BIOS a změnit váš „virtuální dvouprocesorový“ stroj na jednoprocesorový. . Podobného efektu lze dosáhnout otevřením souboru boot.ini (na počítačích s Windows NT/2000/XP je umístěn v kořenovém adresáři logický pohon, na kterém je systém nainstalován) a přidejte k němu přepínač /ONECPU, poté restartujte v naději, že chyby zmizí.

Výpis 1

Příklad typického souboru boot.ini


časový limit = 30

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

Výpis 2

Nakonfigurujeme systém tak, aby používal pouze jeden procesor ze všech dostupných


časový limit = 30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS /ONECPU

Ale dál Okna Průhled neexistuje žádný soubor boot.ini, a přestože existuje (dočasná) možnost jej nakonfigurovat nastavení spouštění používáním speciální utilita Microsoft plánuje tuto mezeru zcela opustit, takže zůstane pouze nastavení BIOSu. Nicméně, pokud jde o Průhled, pak v době, kdy na něj přejdou, vývojáři ovladačů pravděpodobně získají víceprocesorové stroje (protože žádné další na prodej prostě nezbudou) a budou testovat své výtvory v prostředí s více procesory.

Další jemný bod. Pamatujete si, že jsme řekli výše, že nejčastější chybou vývojářů ovladačů je přístup k preemptovatelné paměti na úrovni IRQL, na které nefunguje správce stránkování, a pokud požadovaná stránka není v paměti, dojde k selhání? Zřejmým řešením by zde bylo zvýšení paměť s náhodným přístupem na objem, při kterém nejsou na disk vysouvány prakticky žádné stránky. Při současných cenách pamětí si pár nových pamětí může dovolit koupit téměř každý. Existuje ale dostupnější (a elegantnější) řešení problému. Pokud je parametr DisablePagingExecutive, který se nachází v další větvi registru HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement, se rovná jedné (ve výchozím nastavení nula), jaderné komponenty nebudou vyřazeny. Proto jednoduše spustíme „Editor registru“, změníme tento oblíbený parametr a restartujeme (změny se projeví až po restartu) v naději, že to pomůže vyřešit problém selhání.