Cum de a găsi și de a neutraliza în sistem buggy devaysy și drivere

Avertizam ca orice experimente cu driverele sunt periculoase si pot dezactiva sistemul. Este mai bine să faceți o copie de rezervă în avans și apoi să nu traversați degetele, eliminând un alt driver suspect din Windows.

Și de îndată ce nu cercetează Windows de la Microsoft. numind lucru sărac simultan și inhibitor, și buggy și chiar instabil. Dar nimeni nu se grăbește să renunțe și este puțin probabil că va fi abandonat vreodată. Prin urmare, în loc să certați dezvoltatorii săraci și să construiți o flacără fără sens, este bine de înțeles: de ce, de fapt, sistemul este buggy? Îți spun un mic secret. În ecranele de moarte notorii și funcționarea instabilă a Windows în marea majoritate a cazurilor, driverele terților sunt de vină, iar sistemul de operare nu are absolut nimic de-a face cu acesta. Acum vă vom spune cum să detectați astfel de drivere și să le eliminați din sistem.

Defectele în proiectarea șoferilor pot avea o natură foarte diferită: de a cădea în ecranul albastru al morții (BSOD - Screen Blue Screen of Death) și de a încetini comportamentul comportamental și ciudat al unor persoane care nu au nicio legătură cu aplicațiile șoferului.

Ecranul albastru al morții este minunat (fără nici o ironie!) Prin faptul că semnalează în mod clar o problemă serioasă și dă un sfat, unde să săpăm. Adesea (dar nu întotdeauna) numele șoferului "defect" este afișat direct în colțul din dreapta sus al ecranului albastru al morții. Cu toate acestea, este posibil să nu fie sau, chiar mai rău, ar putea fi numele unui șofer complet străin.

În afară de drivere defecte, moarte ecrane albastre pot fi cauzate și de eșecuri de fier, procesor de exemplu distilat RAM defect, curbele controlerului de hard disk, nu este pe deplin blocat în slotul PCI-card de nekontaktom într-unul dintre conectorii, sursa de alimentare săraci, condensatorul electrolitic umflate în placa de baza. Un trecut sulky din diverse motive: din cauza supraîncălzirii procesorului adiacent, lipsa de condensatoare ceramice, „nedolozhennyh“ producător (rezultând într-o componentă de înaltă frecvență trece prin electrolit, și o mare parte din încălziri sale) În cele din urmă, ca urmare a scurgerii de tranzistori cheie în nodul stabilizator. Deci, înainte de a taie lemne, asigurați-vă că hardware-ul pe care noi stăm, complet corect. Și cum se poate face asta?

Dezasamblarea cu fier

Pentru a elimina toate suspiciunile de la hardware, este suficient să conectați încă o unitate de disc la sistem, să instalați un Windows curat pe el și să lucrați pentru o perioadă. Dacă ecranele albastre ale morții nu dispar, atunci, într-adevăr, defecțiunea este fierul și este momentul să-l schimbăm. Căutarea componentelor defecte este un subiect pentru o conversație separată, pe care o vom pleca pentru data viitoare, dar deocamdată, după ce ne-am rupt mâneci, vom aborda acești șoferi insidiosi.

Lemn de foc fără un certificat imediat în cuptor

Întregul set de instrumente necesare dezvoltării driverului (DDK - Driver Development Kit), Microsoft distribuie gratuit documentația însoțitoare. Conducătorii auto, uneori foarte bugabili și instabili.

Pentru a preveni astfel de indignare, Microsoft a introdus procedura de certificare pentru conducătorii auto în conformitate cu cerințele față de acestea în vremurile vechi, după care șoferului i se oferă o semnătură digitală. Sau ... nu a fost emis, și el a plecat spre revizuire. Și, deși certificarea este doar o procedură formală care nu garantează absența erorilor fatale și a defectelor de proiectare, aceasta elimină totuși unii dintre pionierii "pionier".

În mod ideal, sistemul ar trebui să păstreze doar driverele care sunt semnate digital. Și, deși semnătura digitală nu este o politică de asigurare, disponibilitatea acesteia indică deja un anumit nivel de cultură a dezvoltării. Conducătorii auto fără semnătură digitală - este mai rău decât o pisică cu o pisică într-o pungă, și de la ei cât posibil, ar trebui să scape de (mai ales că multe dintre ele sunt programe dăunătoare rootkit'ami instalate mecanisme agresive sau defensive, pătrunde adânc în sistem și poate cauza instabilitatea acestuia ). Pe scurt, nu se va ridica demagogia și să încerce să răspundă la o întrebare simplă: cum de a crea o listă de drivere fără semnătură digitală?

Sigverif.exe de utilitate ne va ajuta în acest sens. inclus în pachetul standard al sistemului de operare și localizat în directorul WINNT \ System32. Porniți-l și vedeți caseta de dialog. Apăsați butonul „Advanced“ și în „Căutare“ criteriile stabilite pentru selectarea prin mutarea radio de la „Anunță-mă când fișierele de sistem fără semn“ (în cazul în care ea a vegetat implicit) pentru a „Uita-te pentru alte fișiere care nu sunt semnate digital.“ După aceea, caseta deschisă „parametru de căutare“ „Uita-te pentru următoarele tipuri de fișiere“ și alegeți «* .sys», și de mai jos indică un dosar pentru a căuta «C: \ WINNT» „Include subfoldere“, asigurați-vă că pentru a menționa capusa

De fapt, strict vorbind, șoferii nu sunt obligate să aibă sys de extensie și nu se limitează întotdeauna la directorul WINNT, în timp ce în „lor“ director de aplicație, și unele aplicații și stoca toate driverele ... înăuntru! Imediat după pornire (sau oricând), aceștia salvează fișierul pe disc în directorul curent sau temporar, îl încarcă în memorie și ... îl șterg imediat de pe disc! Deci, nu numai viruși malware, dar, de asemenea, programe destul de respectabile, cum ar fi unele utilități ale cercetătorului faimos al profunzimii Windows Mark Russinovich.

Dacă cel puțin unul dintre aceste drivere nu este în directorul C: \ WINNT \, atunci semnătura sa digitală nu va fi verificată! Firește, un astfel de șofer atrage imediat atenția și avem o întrebare rezonabilă: de unde provine? În primul rând, scanăm toate directoarele de pe disc; dacă nu există, stabiliți un punct de întrerupere a funcției CreateFileW în Soft-Ice și uitați-vă la argumentele care i-au fost transmise. Mai devreme sau mai târziu ne vom întâlni cu șoferul nostru buggy, după care va fi necesar să privim doar colțul din dreapta jos al ecranului Soft-Ice, unde este evidențiat numele procesului care îl generează. Mai multe detalii - în cartea „programe de depanare Tehnologie fără cod sursă“, o copie electronică, care pot fi găsite pe ftp- sau http-server. și, de asemenea, pe discul nostru. Și continuăm să chinuiți utilitarul sigverif.exe.

După ce faceți clic pe "OK", "Start" pe ecran va apărea "termometru", care arată progresul progresului, iar hard disk-ul va începe să rumegă toate capetele, pe care le are numai. După finalizarea lucrării, se va compila și afișa o listă de drivere fără semnătura digitală.

Unele înfierbântați oferă, în sistemul de purificare ordine de erezie, elimina toate driverele nesemnate - atunci, spun ei, toate problemele ca ascensorul cozii. Și cum se poate face asta? Cea mai grea decizie - doar du-te și ștergeți-le de pe disc prin intermediul FAR sau conductorul (în mod natural, având drepturi de administrator!). Dar consecințele unei astfel de operațiuni poate fi foarte trist, și este mai bine, făcând clic dreapta pe driverul pictograma în Windows Explorer, găsiți „Properties“ numele producătorului, prin care se poate determina ce fel de aplicație / bucată de hardware pentru a instala driver-ul și dezinstalați-l într-un mod civilizat. Este adevărat că există un "dar" aici.

Figura arată driverul g400m.sys. merge împreună cu cartela G450 Matrox, Matrox și cu toate că nu compania bolnăvicios, o semnătură digitală nu este primit (de exemplu, în cazul în care Microsoft nu a produs, sau Matrox nu a vrut să se deranjeze). Desigur, după scoaterea din sistem, este necesar să uităm de modul SVGA. Cu toate acestea, puteți merge la site-ul Matrox, descărcați cea mai recentă versiune a driverului (este deja echipată cu o semnătură digitală). Doar aici ... și semnate și versiunile nesemnate conțin multe erori fatale, în special, ca urmare a unei confluență de anumite circumstanțe, atunci când încercați să mergeți în modul de suprapunere, sistemul se blochează în BSOD, ca șoferul încearcă să elibereze de memorie deja eliberat.

Astfel, prezența / absența unei semnături digitale nu înseamnă nimic în sine, și chiar dacă folosim doar drivere semnate, nu ni se oferă garanții de stabilitate.

Aici mergem la a doua parte a articolului, și anume, pentru a testa șoferii în condiții apropiate de luptă.

Aranjăm un test real pentru lemn de foc

DDK include un utilitar minunat DriverVerifier. creează pentru conducătorul auto cele mai severe condiții, mărginesc extremă și suicid, în care este maximizat probabilitatea de eșec și numele defectuos al conducătorului auto este determinată cu cea mai mare precizie (chiar dacă aceasta se datorează dezvoltării unor defecte care nu suferă el însuși, și distruge structura de date de conducător auto străine).

Este important să rețineți că DriverVerifier nu este un medicament, ci doar un instrument de diagnosticare. Din eșecuri încă nu salvează (dimpotrivă, va crește intensitatea lor cu câteva ordine), dar va ajuta la identificarea șoferului "mediu" cu un grad suficient de certitudine.

Deci, rulați verifier.exe, vedem fereastra DriverVerifierManager. accesați fila Setare și comutați butonul radio pentru a verifica toate driverele și apoi apăsați butonul "Setare preferată" care stabilește următoarele tipuri de verificare (tipul de verificare):

  • Specialpool - driverele verificate vor avea o zonă specială de memorie pentru selecție, care nu funcționează foarte repede, dar este capabilă să detecteze cele mai multe tipuri de distrugere a datelor proprii și a altora.
  • Verificarea ForceIRQL. IRQL este nivelul cererii de întrerupere. Cea mai obișnuită greșeală a dezvoltatorilor de drivere este să încerce să acceseze memoria la acest nivel de IRQL, pe care managerul de paginare nu funcționează. Și dacă pagina solicitată pare brusc să fie forțată pe disc, sistemul se va transforma într-un ecran albastru cu inscripția "IRQL_LESS_OR_EQULAR". Forțarea acestui mod forțează paginile șoferului la disc, astfel încât defectul de proiectare să se manifeste în 100% din cazuri.
  • Lowresourcesimulation util să se stabilească, pentru a vedea modul în care conducătorul auto se va comporta atunci când un deficit catastrofal de resurse de sistem, dar nu se poate face, și că este un bazin de căpușă de urmărire (de urmărire tratament corectitudinea piscina de memorie) concediu mai bine. Erori de intrare / ieșire (verificare I / O) constituie o parte nesemnificativă a tuturor erorilor, așadar poziția acestui daw este, în general, complet necritică.

După ce ați terminat alegerea setărilor, apăsăm butonul "Aplicați" și, după cum se spune, reporniți.

Imediat după începerea încărcării, performanța sistemului va încetini semnificativ, ceea ce ar trebui să fie așa, deoarece nucleul efectuează mai multe verificări decât de obicei. Când se detectează erori, un ecran albastru al morții clipește cu numele șoferului și alte informații utile pentru dezvoltatori, dar nefolositoare pentru noi. Tot ce putem face este să actualizăm driverul la cea mai recentă versiune sau să refuzăm să folosim programul (hardware) care îl utilizează. De fapt, avem mai puține oportunități de aprindere a lemnului de foc brut, dar mai mult despre asta mai târziu.

Puteți verifica oricând starea verificării, executând documentul verifier.exe. În fila Status Driver sunt afișate stările tuturor driverelor detectate, explicând situația curentă. Starea încărcată înseamnă că acest driver a fost încărcat și testat cel puțin o dată (dar poate nu complet, adică nu toate secțiunile șoferului au fost rezolvate). Starea descărcată pregătește că driverul a fost descărcat, testat (eventual parțial) și descărcat utilizând sistemul / programul pe care îl utilizează sau la discreția sa. Acesta din urmă este deosebit de caracteristic pentru șoferii rămași de la echipament, care au fost eliminați de barbari prin tragerea cărților de expansiune din slot, adică fără dezinstalarea. conducător auto Survivor scanează autobuz, încercarea de a găsi echipamente „lor“, se rupe cu căutare, și apoi se descarcă din memorie, de modul în care, încetinind de încărcare a sistemului (uneori dramatic), si ciocnindu cu alte drivere. Moral: echipamentele din sistem trebuie să fie îndepărtate de toate regulile! Cu toate acestea, nu orice statut Descărcate -priznak situație anormală, și înainte de a scoate șoferul din acest statut, trebuie să înțelegeți ce reni a fost și în cazul în care, în general, a luat aici.

Starea Never Loaded indică faptul că acest driver nu a fost încă încărcat, ceea ce înseamnă că nu a fost verificat și, prin urmare, este necesar să așteptați lansarea diverselor programe care pot fi asociate cu acesta. Cu toate acestea, unele drivere (mai ales incorect dezinstalate) nu sunt încărcate și, în consecință, nu sunt niciodată verificate.

După ce am lucrat cu sistemul în modul de verificare greu pentru o perioadă de timp (de la mai multe ore până la câteva zile), vom identifica aproape toți driverele defecte care au suferit mai devreme și le vom scrie numele pe o bucată de hârtie.

Pentru a readuce sistemul la modul normal (adică fără controale suplimentare care consumă performanța), puteți utiliza tot același verificator. Reveniți la fila Setare, comutați butonul radio pentru a verifica driverele selectate (nu trebuie selectat driverul), apăsați "Reset All", apoi "Apply" și reporniți. Asta e tot! Acum sistemul funcționează la viteză normală, dar fără controale.

Ce se poate face cu lemn de foc brut?

Dar, într-adevăr, ce pot face cu un șofer defect? Hackerii, care pot păstra debugger în mâinile, dacă aveți suficient timp liber, poate (beneficiul în ceea ce privește conducătorii auto, de obicei, mici) dezasambla, găsiți eroarea și să vină cu o modalitate de a remedia problema, dar ... e prea consumatoare de timp.

Dar nu toată lumea știe că un număr foarte mare de accidente si ecrane albastre de deces datorită faptului că șoferul este proiectat (și testat) într-un mediu uniprocesor, a pus pe o mașină dual-procesor. Prin "procesor dual" se înțelege aici o platformă reală cu două pietre și procesoare Hyper-Threading / multi-core. Se cunoaște (și se confirmă printr-un număr mare de teste) că două computere sunt complet inutile la un computer de uz casnic, deoarece la marea majoritate a aplicațiilor, practic nu se observă o creștere a performanței.

Un exemplu de fișier tipic boot.ini

Configurem sistemul să utilizeze un singur procesor din toate cele disponibile

Dar, în fișierul Boot.ini nu windowsvista, și, deși există o (temporară) posibilitatea de a configura configurația sa de încărcare cu ajutorul unui instrument special, Microsoft intenționează să dea complet această lacună, așa încât doar BIOS Setup. Cu toate acestea, ca și pentru Vista. apoi până la momentul trecerii la acesta, dezvoltatorii de drivere sunt capabili să achiziționeze mașini multiprocesor (deoarece alții pur și simplu nu vor rămâne în vânzare) și își vor testa creațiile într-un mediu multiprocesor.

      Articole legate de acest subiect: