Internet Windows Android

Unde pot găsi fișierul inf driver. Instalarea unui driver dintr-un fișier INF

Evident, fiecare utilizator al unui computer personal, din când în când, trebuie să conecteze un dispozitiv la stația sa. Motivul pentru care se întâmplă acest lucru nu ne interesează prea mult acum, poate fi o actualizare familiară pentru mulți (pentru a crește performanța nodurilor individuale și, ca urmare a performanței generale a sistemului), poate fi pur și simplu adăugarea de noi echipamente pentru a extinde funcționalitatea configurației existente, ca, de exemplu, în cazul conectării unui nou gamepad, poate fi, de asemenea, necesitatea de a utiliza date de pe o unitate flash. Indiferent de modul în care conectăm un dispozitiv nou, sistemul de operare Windows este forțat să răspundă la apariția noului hardware prin efectuarea anumitor manipulări pentru a se asigura că noul hardware este suportat la nivel de software. Multe sisteme de operare folosesc o interfață între hardware și un strat software numit driver pentru a permite interacțiunea software-ului cu dispozitivele.

Driver (Driver) - software cu ajutorul căruia sistemul de operare și modulele de program care rulează în el obțin acces la hardware sau dispozitive logice.

De aceea, sistemul de operare încearcă prin toate mijloacele disponibile să asigure funcționarea dispozitivului în mediul său, pentru aceasta se încearcă instalarea driverului adecvat pentru dispozitivul nou conectat, pentru a asigura astfel funcțiile. a noului dispozitiv pentru acces la programele în modul utilizator și codul în modul kernel, deoarece fără acest lucru cel mai notoriu driverul hardware din sistem pur și simplu nu va putea funcționa.
Nu întâmplător am menționat dispozitivele logice în definiție, deoarece există o categorie separată de drivere care nu se ocupă de întreținerea hardware-ului, ci sunt integrate pentru a extinde implementarea (extensii, completări) caracteristicilor funcționale ale diferitelor module de sistem. . Dar pe cine vei surprinde instalând drivere acum? Acest proces este atât de familiar tuturor utilizatorilor de PC de la mulți ani de practică încât unii, sunt sigur, îl pot face cu ochii închiși :) Dar ne-am gândit la detaliile acestui proces, ne-am gândit vreodată la algoritm de instalare a driverului? V-ați întrebat vreodată exact ce acțiuni efectuează sistemul de operare atunci când este conectat un nou dispozitiv și sunt instalate drivere?

De acord că, din punctul de vedere al utilizatorului, procesul de instalare a unui driver în Windows, în cele mai multe cazuri, arată destul de prozaic. Pictograma animată familiară a expertului de instalare apare în bara de sistem și, după un timp, sistemul poate emite un raport privind instalarea cu succes sau nereușită a noului driver de dispozitiv în sistem. Mai mult decât atât, de multe ori asistentul de instalare, în afară de această pictogramă în tavă, nu oferă deloc nicio confirmare vizuală a încercărilor de a instala un nou dispozitiv, în timp ce adaugă „în liniște” echipamente noi la lista de dispozitive și (în caz de defecțiune) marchează acesta cu o pictogramă specială în managerul de dispozitive, oferind utilizatorului în modul manual să continue configurarea echipamentului. Toate aceste procese externe, care sunt deja bine cunoscute atât pentru tine, cât și pentru mine, au fost prezente într-o formă sau alta în toate versiunile de sisteme de operare Windows aproape de la apariția acestui sistem de operare, diferind puțin doar în detalii. Au devenit atât de familiari și familiari, încât nici măcar nu m-am gândit la ce se întâmplă „de cealaltă parte a ecranului”, în măruntaiele sistemului de operare, ce se ascunde sub această simplitate imaginară? După cum veți vedea mai jos, instalarea unui driver Windows pentru un dispozitiv fizic sau logic ascunde procese destul de complexe și extrem de interesante. Algoritm de instalare a driverului pe Windows poate fi împărțit în următoarele sarcini globale cheie:

  • Copierea binarului driverului în directorul corespunzător de pe sistem;
  • Înregistrarea driverului în sistemul Windows indicând metoda de descărcare;
  • Adăugarea informațiilor necesare în registrul de sistem;
  • Copiați/instalați componentele de asistență aferente din pachetul de drivere;

Pe lângă sarcinile principale efectuate ca parte a algoritmului de instalare a driverului în Windows, ar fi bine să clasificăm condițiile în care începe procesul de instalare a driverului Windows:

  • Utilizatorul instalează un nou dispozitiv într-un computer oprit. În acest caz, procesul de detectare a unui nou dispozitiv și de instalare a driverului începe deja în etapa de încărcare a sistemului de operare.
  • Un utilizator cu drepturi de administrator local, folosind snap-in Device Manager, inițiază instalarea sau actualizarea unui driver pentru un dispozitiv deja instalat.
  • Utilizatorul „din mers” conectează un dispozitiv nou la un computer care funcționează. În acest caz, vorbim despre o anumită categorie de dispozitive care pot fi conectate din mers, precum dispozitive cu interfață externă eSata, USB etc. La urma urmei, nu veți instala o placă video internă atunci când este alimentată sloturile PCIe, nu-i așa? Eu personal nu am facut asta inca :)
  • Utilizatorul rulează singur programul de instalare a kit-ului pachetului de drivere dintr-un cont cu drepturi de administrator local. Această metodă poate fi folosită atât pentru a instala drivere pentru dispozitive fizice care acceptă standardul Plug and Play, cât și pentru a instala drivere non-PnP (veghete), drivere de dispozitiv logic care nu pot fi detectate automat de sistem și care nu pot fi instalate altfel decât în mod manual. Un exemplu tipic ar fi antivirusurile sau mașinile virtuale care își instalează driverele (dispozitive logice) în sistem.
  • Utilizatorul face clic dreapta pe fișierul .inf din directorul driverului și selectează Instalare dintr-un cont cu drepturi de administrator local.

Dar ce este pachetul de driver în sine? La urma urmei, așa cum am văzut în mod repetat, acesta este un întreg set de fișiere cu scopuri complet diferite, la prima vedere. Fără o imagine de ansamblu mai aprofundată a structurii pachetului de instalare a driverului, ne va fi dificil să înțelegem algoritmul de instalare a driverului în sine, așa că vom oferi componentele generale:

  • fișier(e) .inf. Componenta cheie a unui pachet de instalare a driverului este un fișier care descrie procesul de instalare a driverului. inf este împărțit în secțiuni și constă în instrucțiuni care spun sistemului exact cum este instalat driverul: ele descriu dispozitivul instalat, locațiile sursă și de destinație ale tuturor componentelor driverului, diferite modificări care trebuie făcute în registru la instalare. driverul Windows, informații despre driverele de dependențe și multe altele. Fișierele .inf asociază un dispozitiv fizic cu un driver care controlează acel dispozitiv.
  • Fișierele binare ale driverului. Cel puțin, pachetul trebuie să conțină fișierul .sys - sau .dll - al nucleului driverului. De fapt, un singur fișier .sys (în cazuri extreme) poate fi instalat (cu rezerve) manual prin editarea registrului.
  • Executabile de instalare. De obicei, acestea sunt utilitare de instalare binecunoscute care sunt numite setup.exe , install.exe și altele.
  • Fișiere de dezinstalare executabile. Acestea sunt de obicei utilitare de dezinstalare numite uninstall.exe.
  • Fișier(e) pentru proceduri și biblioteci suplimentare. De obicei, acestea sunt biblioteci auxiliare în format .dll, co-instalare.
  • fișier(e) .cat. Fișier de catalog semnat cu semnătură digitală. Aceste fișiere conțin semnături digitale ale directoarelor și acționează ca semnătură pentru fișierele pachetului, cu ajutorul cărora utilizatorul poate determina originea pachetului și poate verifica integritatea fișierelor pachetului de driver. Necesar pentru versiunile pe 64 de biți de Windows de la Vista și recomandat pentru toți ceilalți.
  • Module de control în modul utilizator. De obicei, acestea sunt diverse aplicații de comandă care funcționează în modul utilizator, cum ar fi ATI Catalist Control Center, VIA HD Audio Desk, Realtek HD Audio Control Panel și altele asemenea.
  • Fișiere de ajutor. Unde ar fi fără ei?

Termeni și definiții

În acest articol, voi descrie o singură metodă de instalare, care, în orice caz, descrie aproape toate etapele algoritmului de instalare a driverului în Windows, care sunt aplicabile altor metode. Și acum vom vorbi despre situația în care utilizatorul introduce echipamente noi, cum ar fi o placă video, în conectorul intern al unui computer oprit. Dar mai întâi, să introducem câteva definiții de care avem nevoie în procesul de studiu al algoritmului de instalare a driverului.
Manager (dispecer) Plug and Play (Manager PnP, Manager PnP)- un nor de mod kernel și cod de mod de utilizator responsabil pentru adăugarea, recunoașterea, eliminarea dispozitivelor din sistem. Blocul modului kernel interacționează cu restul sistemului pentru a descărca/instala software-ul necesar pentru deservirea dispozitivelor din sistem. Blocarea modului utilizator ( %Windir%\System32\umpnpmgr.dll, rulează în contextul procesului principal de sistem svchost.exe) este responsabil pentru interacțiunea utilizatorului în situațiile care necesită instalarea de noi drivere sau ajustarea parametrilor de operare în cele deja instalate. Responsabil pentru atribuirea și alocarea ulterioară a resurselor hardware, cum ar fi întreruperi (IRQ-uri), porturi I/O, canale de acces direct la memorie (DMA) și adrese de memorie. Are funcționalitatea de a determina driverul necesar pentru a suporta un anumit dispozitiv și funcționalitatea de descărcare/instalare a acestui driver. Capabil să recunoască dispozitive noi, să răspundă la conexiunea și deconectarea acestora. Face parte din codul subsistemului executiv Windows.

Enumerarea dispozitivului

Nu are sens să descriem încă de la început întreaga etapă de încărcare și vom începe doar de la etapa care ne interesează, la care modulul Winload (.efi) încarcă nucleul sistemului de operare Windows 7 din fișierul ntoskrnl.exe. . Nucleul rulează managerul PnP, care face parte din subsistemul executiv. Managerul PnP începe procesul de enumerare a dispozitivului de la dispozitivul rădăcină, un driver de magistrală virtual numit ROOT (Root), care reprezintă întregul sistem și este un driver de magistrală în general pentru toate dispozitivele PnP și non-PnP, precum și HAL (hardware). abstracții de nivel). HAL în acest moment funcționează ca un driver de magistrală care enumerează dispozitivele conectate direct la placa de bază. Cu toate acestea, HAL se bazează pe descrierea hardware deja prezentă în registry în loc să enumere efectiv. Scopul HAL în această etapă este de a descoperi magistralele primare, cum ar fi PCI. Driverul de magistrală PCI primar, la rândul său, enumerează dispozitivele conectate la această magistrală, găsește alte magistrale, pentru care managerul PnP încarcă imediat driverele. Acești șoferi de autobuz, la rândul lor, descoperă deja dispozitivele din autobuzele lor. Acest proces recursiv de enumerare, încărcare a driverelor și apoi enumerare continuă până când toate dispozitivele din sistem au fost descoperite și configurate. În timpul procesului de enumerare PnP, managerul construiește un arbore de dispozitive care descrie în mod unic relația dintre toate dispozitivele din sistem. Nodurile din acest arbore, numite devnodes (prescurtare de la „device nodes”), conțin informații despre obiectul dispozitivului, care, la rândul său, descrie dispozitivul în detaliu.
Înregistrările tuturor dispozitivelor care au fost descoperite de când sistemul a fost instalat sunt stocate în stupul de registry HKLM\SYSTEM\CurrentControlSet\Enum. Subcheile acestui stup descriu dispozitivele în următorul format:

HKLM\SYSTEM\CurrentControlSet\Enum\Enumerator\DeviceID\InstanceID

HKLM\SYSTEM\CurrentControlSet\Enum\

  • Enumerator - numele șoferului de autobuz. Poate lua următoarele valori: ACPI , DISPLAY , HDAUDIO , HID , HDTREE , IDE , PCI , PCIIDE , Root , STORAGE , SW , UMB , USB , USBSTOR și altele;
  • DeviceID - identificator unic pentru acest tip de dispozitiv;
  • InstanceID - Un identificator unic pentru diferite instanțe ale aceluiași dispozitiv.

Cert este că șoferul magistralei la care este conectat dispozitivul solicită diverși parametri de la dispozitiv (ID-ul producătorului, ID-ul dispozitivului, revizuirea etc.) și generează așa-numitul identificator hardware (HardwareID), care descrie în mod unic dispozitivul și este un șir de parametri separați prin semne & și constând din următoarele părți:

  • Un prefix care descrie magistrala la care este conectat dispozitivul.
  • Identificatorul dispozitivului. Este format din mai multe părți, cum ar fi ID-ul producătorului, ID-ul produsului (modelului), revizuirea dispozitivului.

HardwareID - un șir de identificare care depinde de parametrii dispozitivului (producător, model, revizuire, versiune etc.) pe care Windows îi folosește pentru a potrivi dispozitivul cu fișierul .inf al driverului.

Structura tipică HardwareID:

PCI\VEN_10DE&DEV_1341&SUBSYS_2281103C&REV_A2

În plus față de HardwareID, dispozitivului i se atribuie un parametru(i) CompatibleID, care are un format similar, dar conține doar valori mai generale care nu conțin parametri specifici dispozitivului (unele ID-uri de dispozitiv) și sunt necesare pentru inițializarea unui gamă mai largă de dispozitive compatibile.

HardwareID și CompatibleID sunt folosite de codul subsistemului executiv Windows pentru a găsi driverul dispozitivului.

Descoperirea șoferului

Dacă în etapa de enumerare a dispozitivelor și încărcare a driverului, șoferul funcțional al magistralei la care este conectat noul dispozitiv informează managerul PnP despre modificările în dispozitivele copil conectate. Managerul PnP în modul kernel verifică dacă un driver este asociat cu dispozitivul, interogând driverul de magistrală la care este conectat noul dispozitiv și obținând ID-ul hardware și, opțional, ID-ul compatibil al dispozitivului. Managerul PnP în modul kernel informează managerul PnP în modul utilizator că dispozitivul dat trebuie instalat cu un eveniment special, transmițându-i identificatorii primiți. Managerul modului utilizator PnP încearcă mai întâi să instaleze automat dispozitivul fără intervenția utilizatorului. Pentru a face acest lucru, managerul PnP în modul utilizator lansează utilitarul rundll32.exe pentru a lansa Expertul de instalare a driverului de dispozitiv (%Windir%\System32\Newdev.dll).

Asistentul de instalare a driverului dispozitivului inițiază o căutare a unui driver adecvat pentru dispozitiv utilizând informații din toate fișierele de informații de sistem aflate în următoarele locații de sistem de încredere:

  • Stocarea driverului;
  • Windows Update;
  • Directorul de sistem al fișierelor INF;

În scopurile de mai sus de căutare și instalare a driverului, sunt utilizate funcțiile bibliotecilor setupapi.dll (funcții de suport pentru instalare) și cfgmgr32.dll (manager de configurare). În timpul căutării, sunt utilizați identificatorii HardwareID și (opțional) CompatibleID obținuți în prezent, ale căror valori descriu toate opțiunile posibile pentru identificarea hardware-ului în fișierul de instalare a driverului, adică fișierul inf. Valorile ID ale dispozitivului instalat sunt comparate cu cele descrise în secțiunile Modele ale fișierelor inf înregistrate în sistem. Listele de identificatori sunt ordonate, astfel încât descriptorii hardware mai specifici apar mai întâi în liste. Dacă s-au găsit potriviri de ID în mai multe fișiere inf, este preferată o potrivire mai exactă față de o potrivire mai puțin exactă, fișierele inf semnate sunt preferate celor nesemnate și fișierele inf semnate ulterior sunt preferate celor semnate anterior. Dacă nu se găsește o potrivire bazată pe ID-ul hardware, atunci se folosește ID-ul compatibil, dacă este prezent, desigur. Dacă nu se găsește nicio potrivire pe baza ID-ului compatibil, Expertul Adăugare hardware vă poate solicita locația unui driver hardware nou. Să aruncăm o privire mai atentă la toate aceste surse de informații despre șofer.

Stocare pentru șofer

Expertul de instalare a driverului încearcă să găsească un fișier inf adecvat în magazinul de drivere de sistem situat în directorul %Windir%\System32\DriverStore, care conține toate driverele de sistem, fără excepție, care fac parte din distribuția Windows, obținute prin „Windows Update” serviciu sau instalat în sistem de către utilizator.

Magazinul de drivere este o locație de sistem sigură, un director destinat să stocheze toate pachetele de drivere care au fost instalate vreodată pe sistem.

Magazinul de drivere a fost introdus pentru prima dată în Windows Vista. Înainte de a instala orice driver în sistem, mai întâi codul specializat verifică semnătura digitală a driverului, apoi sintaxa fișierelor inf ale driverului, apoi privilegiile utilizatorului curent, abia după aceea plasează toate componentele driverului în driverul de sistem. depozitare. Dar apoi driverul din magazinul de drivere poate fi folosit pentru a instala dispozitive în sistem. Deoarece procedura de plasare a unui șofer în magazin este bine dezvoltată, magazinul de șoferi este cea mai de încredere sursă de informații despre șoferi.

Directorul de sistem al fișierelor INF

În paralel, sistemul caută driverul în locația sistemului descrisă de valoarea parametrului DevicePath, situat în ramura de registru HKLM\Software\Microsoft\Windows\CurrentVersion. Setarea este de obicei %SystemRoot%\inf, care este echivalent cu C:\Windows\inf pe majoritatea sistemelor.

fișier INF

Aș dori să fac o mică digresiune și să vorbesc separat despre fișierele de informații ale pachetului de drivere. inf este una dintre componentele cheie ale pachetului de drivere. Stochează secvența operațiunilor de instalare și dezinstalare a driverului, descrisă de directive speciale care indică locația fișierelor driverului de funcție. Fișierul conține comenzi care adaugă informații la registry care este responsabil pentru enumerarea (Enum) driverul și clasa acestuia (Class) și poate conține instrucțiuni pentru asistentul de instalare hardware pentru a lansa așa-numitele programe de instalare principale (Class Installer, Class Installer). ) și instalatori suplimentari (CoInstaller , Co-instalator) pentru clasa de dispozitiv și dispozitivul în sine. În plus, fișierul inf definește tipul, producătorul, modelul dispozitivului, clasa driverului, fișierele necesare și resursele.

Co-instalator (după structură, un DLL obișnuit) - un program de instalare suplimentar numit în timpul fazei de instalare, care efectuează pași de instalare specifici subclasei sau dispozitivului, cum ar fi pregătirea infrastructurii pentru ca driverul să funcționeze în sistem (de exemplu, instalarea NET.Framework), afișând dialoguri de configurare, care permit utilizatorului să specifice setările pentru un anumit dispozitiv.

O caracteristică importantă a co-instalatorilor este că, dacă este necesar, leagă instanțe ale unui dispozitiv nou la protocoalele necesare pentru funcționare. Acest lucru, de exemplu, se poate referi la diferite tipuri de dispozitive de comunicație care necesită protocoale și transporturi diferite pentru a funcționa, cum ar fi ndis , pppoe , tcpip , tcpip6 , smb , netbt .
Fișierul .inf descrie în plus operațiunile de despachetare, copiere, lansare, redenumire a fișierelor, adăugare și ștergere a cheilor din registry și multe altele.
Cu toate acestea, să revenim la algoritmul principal de instalare a driverului în Windows. În cazul în care instalatorul de driver de dispozitiv nu a găsit drivere adecvate în locațiile enumerate mai sus, sistemul marchează dispozitivul ca nerecunoscut.

În acest caz, utilizatorului i se cere să continue instalarea independentă a dispozitivului prin applet Manager de dispozitiv. După ce utilizatorul selectează singur dispozitivul și specifică locația fișierelor driverului, algoritmul de instalare a driverului își continuă activitatea și următorul pas începe verificarea semnăturii digitale a driverului.

Verificarea semnăturii digitale a șoferului

Faptul este că driverul, ca parte a codului modului kernel, este o componentă destul de critică a sistemului de operare, iar orice eroare făcută de dezvoltator în codul driverului poate duce cu ușurință la blocări grave (BSOD) în sistem. De ceva timp, Microsoft a fost destul de sensibil la calitatea codului de driver și, în acest sens, mecanisme precum semnătura digitală a driverului și politica de semnătură a driverului de sistem au fost introduse în sistemele de operare Windows.

Semnătura digitală a șoferului este un șir de date de lungime variabilă care, într-o anumită măsură, este o garanție că codul șoferului a fost creat de o sursă de încredere și nu a fost supus unor modificări neautorizate.

Următorul pas este partea în modul utilizator a codului de manager PnP care verifică politica de semnare a driverului a sistemului. Dacă politica de sistem spune codului de kernel să blocheze sau să avertizeze despre instalarea driverelor nesemnate, atunci managerul PnP analizează fișierul inf al driverului pentru prezența unei directive CatalogFile care indică un fișier catalog (un fișier cu extensia .cat) care conține o semnătura digitală a pachetului de șofer.

Fișierul de catalog (.cat) este un fișier special care acționează ca semnătură digitală pentru întregul pachet de driver, deoarece fiecare fișier inclus în pachetul de driver nu este semnat individual. Singurele excepții sunt binarele driverelor de nucleu în faza de pornire, dar acestea sunt verificate de un cod de nucleu separat.

Pentru a testa driverele și a le semna, a fost creat Microsoft Windows Hardware Quality Lab (WHQL), care testează temeinic driverele furnizate cu distribuțiile Windows, precum și driverele de la furnizorii importanți de hardware. Pentru toți ceilalți dezvoltatori de șoferi, există proceduri pentru obținerea capacității de a auto-semna șoferii contra unei taxe. Când un șofer trece toate testele WHQL, acesta devine „semnat”. Aceasta înseamnă că pentru un șofer, WHQL generează un hash, sau semnătură unică, care identifică în mod unic fișierele șoferului și apoi îl semnează criptografic cu o cheie privată specială Microsoft folosită pentru a semna driverele. Hash-ul semnat este plasat într-un fișier de catalog (fișier .cat) care este plasat direct în directorul pachetului de drivere.
În timpul instalării driverului, managerul PnP în modul utilizator extrage semnătura driverului din fișierul .cat, decriptează semnătura folosind cheia publică Microsoft și compară hashul rezultat cu hash-ul fișierului driver instalat. Dacă hashurile se potrivesc, driverul este marcat ca testat WHQL. Dacă semnătura nu poate fi verificată, managerul PnP acționează conform setărilor sistemului de politică de semnătură a driverului, fie interzicând instalarea driverului, fie permițând în continuare instalarea driverului.

Creați o copie de rezervă

Este o strategie Windows destul de bună pentru a crea un punct de restaurare înainte de a adăuga noi drivere de dispozitiv la sistem. Acest lucru se datorează, în primul rând, faptului că un driver în modul kernel care conține o eroare poate fi cauza inoperabilității complete a sistemului și apoi ce să faci cu acest sistem? Chiar și în ciuda tuturor semnăturilor și verificărilor, utilizatorul ar trebui să poată face înapoi configurația în cazul în care, de exemplu, nu i-a plăcut ceva după instalare.

Instalarea driverului

Acest pas implementează pachetul de drivere terță parte în magazinul de drivere de sistem. Apoi, sistemul realizează instalarea efectivă a driverului din magazinul de drivere, care se face folosind utilitarul %Windir%\System32\drvinst.exe. În această fază au loc următoarele evenimente:

  • inf al driverului este copiat în folderul specializat %Windir%/inf . Este tipic ca driverele terțe părți să redenumească fișierul în OEMx.inf , unde x este numărul ordinal al fișierului inf din director.
  • Codul sistemului de operare remediază instalarea fișierului inf în registry.
  • Un nod dispozitiv (devnode) este creat în registru de-a lungul căii HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ \\ , care conține informații detaliate despre dispozitiv.
  • Binarele driverului sunt copiate în folderul țintă %Windir%\System32\DRIVERS și, eventual, în alte foldere țintă. Cheile de registry sunt actualizate.
  • Se formează cheia de registry corespunzătoare driverului: HKLM\SYSTEM\CurrentControlSet\Services\nume_driver. Parametrii cheie sunt formați.
  • Se formează o cheie de registry care este responsabilă pentru înregistrarea evenimentelor driverului și se află în ramură HKLM\SYSTEM\CurrentControlSet\Services\EventLog\System\driver_name.
  • Managerul PnP apelează procedura DriverEntry pentru fiecare driver nou instalat. Managerul PnP în modul kernel încearcă apoi să „pornească” driverul încărcându-l în memorie și apelând procedura AddDevice a driverului pentru a informa driverul însuși despre prezența dispozitivului pentru care a fost încărcat.

Locația informațiilor șoferului

Pe lângă descrierea algoritmului pentru instalarea unui driver în Windows, aș dori să evidențiez o secțiune separată și să o dedic descrierii posibilelor locații ale informațiilor despre drivere în sistemul de fișiere și registru. Din punct de vedere practic, aceste informații au scopul de a simplifica editarea manuală în cazul oricăror erori fatale. Următoarele sunt locațiile în care ați putea observa urme de informații despre șofer.

Jurnalele generale ale șoferului

Există o serie de jurnale pe sistem care pot ajuta cu diverse probleme legate de driver.

  • %Windir%\setupact.log -- conține mesaje de depanare de la programul de instalare a driverului în modul kernel, care este un DLL Win32 care însoțește procesul de configurare a dispozitivului;
  • %Windir%\inf\setupapi.app.log -- conține mesaje din procesul de instalare a aplicației;
  • %Windir%\inf\setupapi.dev.log -- conține mesaje despre procesul de instalare a dispozitivului;

Jurnalul șoferului

Dacă utilizați Managerul de pachete (pkgmgr) pentru a instala/dezinstala un pachet care (la rândul său) instalează, actualizează sau dezinstalează un driver, atunci aveți opțiunea de a activa (în scopuri de depanare) crearea unui driver special de fișier jurnal. log , care va conține doar erori specifice driverului. Pentru a genera acest jurnal, creați/setați următoarea cheie de registry și apoi executați din nou pkgmgr. După aceea, în directorul de unde a fost lansat pkgmgr, va fi creat un fișier drivers.log.
Filiala: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Device Installer
Cheie: DebugPkgMgr
Tip: Dword
Valoare: 1

%Windir%\inf

Toate fișierele inf sunt stocate în acest director. După cum am menționat mai sus, după instalarea unui driver terță parte în sistem, fișierul său inf este redenumit OEMx.inf, astfel încât să puteți vedea o serie întreagă de fișiere similare în director. Codul sistemului de operare își amintește faptul că fișierul inf a fost instalat în registry.

%Windir%\System32\DRIVERS

Acesta este directorul din sistemul de fișiere Windows în care se află fișierele reale ale driverului. În sistemele de operare moderne, și vorbesc acum despre Windows Vista și mai târziu, marea majoritate a driverelor din acest director au extensii .sys, fișierele dll sunt mai puțin frecvente, dar acest lucru nu schimbă sensul general, deoarece, indiferent de cu extensie, toate sunt identice ca structură cu fișierele .dll. În sistemele de operare anterioare, existau formate precum .drv și .vxd .

%Windir%\System32\DriverStore

Colecția de drivere de sistem, care este destinată să conțină toate driverele care au trecut prin sistemul dumneavoastră. Folosit din Windows Vista. Înainte de a instala orice driver în sistemul de operare, mai întâi codul specializat verifică semnătura driverului, apoi sintaxa fișierului inf a driverului, apoi privilegiile utilizatorului curent și abia apoi adaugă toate componentele driverului în colecția de sistem. Și numai după aceea, driverul poate fi folosit în sistem pentru a instala dispozitive fără nicio intervenție a utilizatorului.

HKLM\SYSTEM\CurrentControlSet\Enum

Un stup de registry care conține informații despre dispozitivele din sistem. Managerul PnP creează aici o cheie pentru fiecare dispozitiv în format HKLM\SYSTEM\CurrentControlSet\Enum\Enumerator\deviceID. unde Enumerator este identificatorul magistralei descris mai sus în articol, obținut în etapa de enumerare a dispozitivului, deviceid este identificatorul tipului dispozitivului. Cheia conține următoarele informații: descrierea dispozitivului, identificatorii hardware (ID hardware), identificatorii dispozitivului compatibil (ID compatibil) și cerințele de resurse. Stupul este rezervat pentru utilizarea exclusiv de către codul sistemului de operare, astfel încât aplicațiile și driverele utilizatorului sunt descurajate să interacționeze direct cu acesta, mai degrabă decât să utilizeze funcții de sistem documentate.

HKLM\SYSTEM\CurrentControlSet\Control

Stup de registry care conține informații despre diferite setări de configurare a driverului în etapa de pornire a sistemului de operare. Conține chei importante precum:

  • Clasa conține informații despre clasele de instalare a dispozitivelor, care sunt utilizate pentru a grupa dispozitivele care sunt configurate și instalate într-un mod similar. Pentru fiecare clasă de instalare, această cheie conține o cheie al cărei nume este același cu numele GUID al clasei de instalare corespunzătoare.
  • CoDeviceInstallers conține informații despre co-instalatorii de clasă
  • DeviceClasses conține informații despre interfețele dispozitivelor înregistrate în sistem. orice driver care dorește să interacționeze cu programele în modul utilizator de pe sistem trebuie să ofere o interfață. Clasa de interfață a dispozitivului expune funcționalitatea dispozitivului și a driverului acestuia altor componente de sistem și aplicații în modul utilizator.

HKLM\SYSTEM\CurrentControlSet\Services

Un stup de registry care este folosit pentru a stoca informații despre toate serviciile (driverele) din sistem. Fiecare driver de sistem plasează informații globale destul de importante despre el însuși în subchei ale formularului HKLM\SYSTEM\CurrentControlSet\Services\<Имя_драйвера> , care este utilizat de driver în timpul procesului de inițializare în faza de pornire a sistemului. Stupul este utilizat în mod activ de managerul PnP pentru a trece parametrii atunci când apelează procedura de inițializare a driverului.
Acest stup conține următoarele elemente:

  • ImagePath - conține calea completă în fișierul binar (imagine) al driverului. instalatorul completează această valoare pe baza datelor din fișierul inf al pachetului de driver;
  • Parametri - stochează informațiile individuale ale șoferului, se completează pe baza datelor plasate în fișierul inf al pachetului de șofer;
  • Performanță - Informații pentru monitorizarea performanței dispozitivului controlat de șofer. Specifică numele DLL-ului de monitorizare a performanței și numele funcțiilor exportate de acest DLL. Completat pe baza datelor primite din fisierul inf;

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles

Un stup de registry care conține informații despre profilurile hardware ale sistemului și este conceput pentru a sprijini această tehnologie. Un profil hardware este doar un set de modificări ale configurațiilor implicite de hardware și servicii (configurația originală) încărcate la pornirea sistemului. Conține modificări specifice ale profilului hardware de bază original, configurat în două chei de registry: HKLM\SOFTWARE și HKLM\SYSTEM . Nu este utilizat în Windows 7, deși cheile de registry rămân, probabil din motive de compatibilitate.


Instalați produse opționale - DriverDoc (Solvusoft) | | | |

Această pagină conține informații despre instalarea celor mai recente descărcări de drivere INF folosind Instrumentul de actualizare a driverelor INF.

Driverele INF sunt programe mici care permit hardware-ului dumneavoastră INF să comunice cu software-ul sistemului de operare. Menținerea software-ului INF actualizat previne blocările și maximizează performanța hardware-ului și a sistemului. Folosirea de drivere INF învechite sau corupte poate cauza erori de sistem, blocări sau poate defecta computerul sau hardware-ul dvs. Mai mult, instalarea driverelor INF greșite poate agrava aceste probleme.

Sfat: Dacă nu aveți experiență în actualizarea manuală a driverelor de dispozitiv INF, vă recomandăm cu căldură să descărcați Utilitarul de drivere INF. Acest instrument va descărca și actualiza automat versiunile corecte de driver INF, protejându-vă împotriva instalării driverelor INF greșite.


Despre autor: Jay Geater este președinte și CEO al Solvusoft Corporation, o companie globală de software axată pe programe utilitare inovatoare. Toată viața a fost pasionat de computere și iubește tot ce ține de computere, software și noile tehnologii.

Nu este o situație atât de frecventă, dar atunci când deserviți o flotă mare de computere de utilizator, uneori se întâmplă ca pentru anumite dispozitive producătorul să nu fi lansat drivere pentru versiunea necesară a sistemului de operare. Ar putea fi o versiune veche a sistemului de operare sau un dispozitiv vechi. În general. uneori trebuie să instalați driverele manual. De obicei sunt livrate sub forma mai multor fișiere. Cel mai adesea au extensia inf sau sys, dar pot fi diferite.

Procedura de instalare a unui driver în Windows 10 depinde de modul în care îl instalați. Fiecare metodă are avantajele și dezavantajele sale. Cel mai important plus este că orice utilizator, de la un începător la un maestru, îl poate alege pe cel mai convenabil pentru el însuși, evitând erorile de sistem și blocările programului în viitor. Vom lua în considerare fiecare metodă în detaliu separat. Amintiți-vă că cel mai important lucru este să folosiți drivere din surse de încredere pentru a nu deteriora sistemul de operare și pentru a nu lansa accidental un virus, a cărui eliminare va dura mult mai mult timp și efort decât instalarea oricărui driver.

Ce aveți nevoie pentru a instala driverul

Pentru a instala manual driverul, aveți nevoie de un disc de instalare sau de un software special care vă va ghida prin întreaga procedură de instalare pas cu pas. Mai jos vom lua în considerare unul dintre aceste programe - Driver Easy. Există situații când, din cauza incompatibilității, driverul de pe discul de instalare dă o eroare. În astfel de cazuri avem nevoie de programe care să ajute la găsirea și actualizarea driverului. În plus, această opțiune va fi mai acceptabilă pentru proprietarii de netbook-uri, care adesea nu au o unitate. Pentru astfel de cazuri, există o opțiune de a instala driverul necesar de pe o unitate USB, o vom analiza și astăzi, deoarece această metodă are propriile caracteristici.

Instalare manuală - instrucțiuni

Instalarea manuală a driverului folosind Device Manager

1. Deschideți panoul de control Windows 10 apăsând tasta Win + X (tasta Windows și tasta X) în același timp și faceți clic stânga pe elementul „Panou de control”

2. Pentru comoditate, este de dorit să configurați pictograme mici.

3. Faceți clic pe „Manager dispozitive”.

În fereastra Device Manager, extindeți categoriile și găsiți dispozitivul de care aveți nevoie. Apoi faceți clic dreapta pe numele dispozitivului și selectați „Actualizați software-ul driverului”. Fotografia prezintă un exemplu de instalare a driverului adaptorului de rețea Realtek PCIe GBE Family Controller.

Instalarea manuală a driverului utilizând Driver Easy

1. În fereastra principală a Driver Easy, faceți clic pe driverul pentru dispozitivul care trebuie actualizat. După aceea, veți vedea fereastra standard de manager de activități, care a fost descrisă mai sus. Selectați un dispozitiv de actualizat.

2. În fereastra pop-up, veți vedea două opțiuni. Faceți clic pe Browse My Computer pentru a instala software-ul driverului.

3. Faceți clic pe „Răsfoiți” pentru a găsi fișierul driver descărcat.

Faceți clic pe butonul Triunghi în jos din Driver Easy, apoi selectați Deschideți locația fișierului pentru a deschide folderul driverului.

Pentru comoditate, puteți copia și lipi locația fișierelor descărcate în casetă.

Calea către fișier:

După cum ați înțeles deja, actualizarea necesită mult timp și necesită cunoștințe de bază de lucru cu un computer personal. Pe lângă actualizarea manuală, Driver Easy poate căuta, descărca și instala automat toate driverele care trebuie actualizate. Dar, așa cum am spus deja, acest lucru nu este sigur, deoarece această funcție funcționează automat și, în acest caz, este imposibil să faceți o copie de rezervă în cazul unei defecțiuni grave.

Instalarea driverului de pe CD sau DVD

Aproape toți producătorii de computere și hardware furnizează un set de drivere pentru diferite dispozitive hardware. De exemplu, CD-ul cu drivere livrat împreună cu imprimanta dvs. conține drivere pentru multe imprimante diferite, nu doar pentru cea achiziționată. Când instalați drivere, asigurați-vă că instalați drivere pentru modelul de imprimantă și nu pentru altul. De asemenea, asigurați-vă că îl instalați pentru versiunea de Windows care este instalată pe computer. Procesul de instalare a unui driver de pe un CD nu diferă de procesul standard de instalare al oricărui alt program. Asigurați-vă că urmați toate instrucțiunile programului de instalare prima dată când îl executați. În unele cazuri, trebuie să dezinstalați vechiul driver înainte de a-l instala pe cel nou.

Dacă aveți un CD cu drivere, dar computerul nu are o unitate de dischetă sau nu funcționează, puteți descărca driverele și de pe un stick USB.

Instalarea driverelor de pe o unitate USB

După ce ați copiat driverele pe stick-ul USB, veți putea instala software-ul necesar pe computer. Asigurați-vă că unitatea este conectată la computer, deschideți Windows Explorer și găsiți numele dispozitivului în ea. De exemplu, dacă aveți o unitate USB căreia îi este atribuită unitatea E: atunci când este conectată, atunci trebuie să faceți clic pe pictograma numită E: pentru a deschide conținutul.

Odată ce driverele sunt găsite pe disc, trebuie să stabiliți exact cum vor fi instalate pe computer. Dacă directorul conține fișiere executabile sau un fișier de instalare (extensia *.exe), atunci puteți instala driverul folosind acest fișier. Dacă driverele sunt comprimate într-un fișier ZIP, va trebui să decomprimați fișierul folosind arhivare precum 7-Zip și WinZip.

Instalarea fișierului inf

Dacă recomandările de mai sus nu v-au ajutat, atunci toate instrucțiunile pentru instalarea driverelor și a dispozitivelor hardware sunt întotdeauna conținute într-un fișier cu extensia .inf, care se află în folderul C: Windowsinf. Dosarul Readme este protejat și ascuns. Pentru a-l face vizibil, în setările de vizualizare a folderului, bifați caseta „Elemente ascunse”. Pentru a găsi fișierul de informații pentru dispozitivul de care aveți nevoie, urmați instrucțiunile de mai jos:

Deschideți managerul de dispozitive;

Faceți clic dreapta pe dispozitivul selectat și selectați „Proprietăți” din meniu

După aceea, accesați fila „Detalii”. Extinde lista și selectează Nume INF. Numele fișierului va fi afișat în câmpul „Valoare”.

Odată ce ați aflat numele fișierului, reveniți la Task Manager, selectați dispozitivul, faceți clic pe „Actualizați driverul” și specificați calea către fișierul *.inf (în acest exemplu va fi C:Windowsinfoem3.inf)

Astăzi vă vom învăța cum să instalați driverele de dispozitiv din fișierele sys și inf.

Găsirea, instalarea și configurarea unui driver de dispozitiv 200 freca.

Când descărcați drivere de pe Internet pentru dispozitivele dvs., este posibil să nu întâlniți pachetul de instalare cu care sunteți obișnuit, ci o arhivă cu fișiere sys și inf. Fișierele Sys sunt fișiere de sistem, în timp ce fișierele inf fac adesea parte din driverul hardware al computerului. Dacă driverul dvs. include doar sys și inf fără programul de instalare cu care sunteți obișnuit, nu disperați, se poate instala și acest tip de driver. În cele mai multe cazuri, astfel de drivere sunt distribuite pe site-uri ale unor terți, nu pe site-urile producătorilor. Prin urmare, aveți grijă și verificați fiecare driver descărcat cu un program antivirus.

Instalarea driverului sub formă de fișiere sys și inf

1. Primul lucru de care avem nevoie este să mergem la managerul de dispozitive. Apăsăm start, iar cu numele „computerul meu” apelăm meniul derulant apăsând butonul drept al mouse-ului și selectăm proprietatea din listă. Se va deschide o nouă fereastră în care trebuie să mergem la secțiunea „Manager de dispozitive” situată în coloana din stânga. În lista care se deschide, găsiți echipamentul care este marcat cu un semn de exclamare galben, faceți clic dreapta pe dispozitivul care trebuie să instaleze driverul și faceți clic pe elementul - actualizare driver. Următoarea fereastră va lansa vrăjitorul pentru instalarea și configurarea echipamentelor noi. Selectați elementul pentru a instala manual driverul de dispozitiv.

2. În continuare, ni se va solicita să selectăm folderul în care se află driverele noastre, adică fișierele sys sau inf. Apoi, confirmați alegerea de a începe instalarea driverului. Dacă driverul dat nu este compatibil cu dispozitivul sau dispozitivul are deja o versiune mai nouă a driverului, vi se va solicita să selectați un alt fișier pentru a configura corect dispozitivul.

3. Dacă găsiți un singur fișier sistem fără inf în arhiva descărcată, atunci asistentul de instalare a driverului pentru dispozitiv nu le va putea instala. Pentru ca driverul să se instaleze și să funcționeze corect, trebuie să copiați fișierul .sys în Windows->System32->driver. După ce ne-am copiat driverul în folderul de sistem, începem instalarea și căutăm driverul în modul automat. Când instalați astfel de fișiere, vă recomandăm să le verificați cu un program antivirus, deoarece unii atacatori încorporează cod rău intenționat în fișierele driverului, iar descărcarea driverelor este cea mai bună de pe site-ul oficial.

De asemenea, dacă aveți dificultăți în actualizarea dvs. a driverelor, atunci maeștrii noștri vor fi bucuroși să facă această lucrare.

Plecarea maestrului și diagnosticare0 freca.

Conducător auto- Acesta este un program de control specific care spune sistemului de operare informații despre echipamentul conectat și oferă mecanisme pentru utilizarea acestuia. Multe dintre aceste produse software conțin funcționalități destul de complexe, procesând o mare varietate de informații care trec prin echipamentele deservite. Acestea pot fi informații audio și video, fluxuri de date ale mașinilor de scanare, imprimare și rețea, informații despre apăsarea tastelor, mișcările mouse-ului, interacțiunea cu medii portabile, diverse telefoane mobile etc., etc.

Informații despre hardware-ul instalat pot fi găsite accesând „Panou de control”, selectând secțiunea „Sistem” și făcând clic pe link sau pe butonul „Manager dispozitive”

În lista arborescentă care se deschide, vor fi vizibile toate dispozitivele vizibile pentru sistemul de operare.

Care sunt metodele de instalare?

Dacă, la conectarea unui echipament nou, sistemul de operare nu a putut configura automat software-ul corespunzător, atunci puteți merge în două moduri:

1. Folosiți programe speciale pentru căutare și instalare automată.

2. Găsiți și instalați în mod independent software-ul necesar.

Ambele metode au avantajele și dezavantajele lor. Prima opțiune este cu siguranță mai convenabilă și economisește mult timp. Și atunci când utilizați echipamente standard, această abordare va da rezultate bune - toate piesele de fier vor funcționa așa cum ar trebui și fără defecțiuni. În plus, atunci când utilizați cele mai recente versiuni ale unor astfel de programe de automatizare, veți primi cele mai recente versiuni ale fișierelor driverului. Puteți citi mai multe despre această metodă pe această pagină a site-ului nostru:.

În ciuda confortului considerabil, se întâmplă adesea să nu fie posibilă instalarea automată a programului de control din cauza faptului că pur și simplu nu se află în baza de date a utilitarului selectat. În acest caz, va trebui să faceți manual configurarea. Deși necesită mai mult timp, această abordare este cea mai fiabilă. La urma urmei, după ce ați primit programul de control direct de la producătorul echipamentului, primiți simultan garanții privind compatibilitatea deplină a acestuia cu dispozitivul instalat, ținând cont de toate nuanțele funcționării acestuia. Este posibil ca astfel de nuanțe să nu fie luate în considerare în colecțiile universale.

Cum să obțineți un șofer?

De obicei, tot software-ul necesar vine cu produsul achiziționat pe un disc optic. În acest caz, este adesea suficient să introduceți discul în unitate, să rulați aplicația și să urmați instrucțiunile în timpul procesului de configurare.

Dacă discul este pierdut sau doriți o versiune mai recentă, atunci puteți face acest lucru pe site-ul web al producătorului de echipamente în secțiunea corespunzătoare, care se numește de obicei „Service / Support”.

Când căutați fișierele necesare, nu trebuie să uitați pentru ce versiune a sistemului de operare aveți nevoie de ele. Deoarece aplicațiile dezvoltate pentru Windows XP cel mai probabil nu vor funcționa corect pe sisteme de operare mai noi, iar software-ul pe 32 de biți poate refuza să funcționeze într-un mediu pe 64 de biți. Si invers.

Se poate întâmpla ca echipamentele învechite să vă cadă în mâini. Și chiar așa, rularea acestuia pe cele mai recente versiuni ale sistemului de operare nu va funcționa. În acest caz, puteți încerca să îl instalați în modul de compatibilitate pentru versiunile mai vechi de Windows. Din păcate, acest lucru nu duce întotdeauna la un rezultat de succes. Și problema lipsei suportului normal pentru noile versiuni ale sistemului de operare îi obligă pe utilizatori să refuze să folosească multe produse destul de funcționale și utile.

Instalare manuală a driverului

Programele de control sunt de obicei furnizate de producători ca aplicații de instalare. După pornirea instalării, utilizatorul primește solicitări și urmează pașii de instalare fără probleme pentru a face față întregului proces de configurare.

Dar situația este destul de comună când nu este furnizat un astfel de software prietenos. Și mulți utilizatori nu știu ce să facă în acest caz.

Procedura de rezolvare a unei astfel de situații este descrisă mai jos folosind playerul MP3 iRiver IFP-700 ca exemplu.

Pentru a salva informațiile înregistrate pe microfonul acestui player, trebuie să instalați driverul acestuia și apoi să utilizați utilitarul special iRiver Music Manager. Dar, din păcate, site-ul oficial al iRiver nu reușește să descarce fișierele necesare. Mai mult, din conținutul paginii de pe site reiese clar că acest player este conceput pentru sisteme de operare nu mai noi decât Windows XP.

În consecință, pentru a garanta succesul, va trebui să instalați acest player în Windows XP.

După câteva căutări, am reușit să obțin o astfel de arhivă cu fișierele necesare:

Despachetarea conținutului arhivei

și vedem că nu există fișiere exe în el. Dar există, care este descris ca „Informații pentru instalare”.

Acesta este fișierul (complet cu cele vecine din acest folder) de care sistemul de operare are nevoie pentru a conecta cu succes playerul la portul USB.

Conectăm playerul cu un cablu la computer și vedem că a apărut o astfel de fereastră tipică:

Dacă mergem pe calea obișnuită și alegem oprire automată, atunci după o lungă afișare a acestei ferestre

va apărea un mesaj de eroare. Prin urmare, apăsăm butonul „Înapoi” pentru a merge pe calea alternativă.

În această fereastră, în loc de metoda automată, selectați opțiunea „Instalați dintr-o listă sau dintr-o locație specificată”

Apăsăm butonul browse și selectăm folderul în care am despachetat fișierele din arhiva zip.

Ca rezultat, șirul de căutare ar trebui să conțină calea către folderul în care se află fișierul inf:

La finalizarea procesului, apare o fereastră de succes:

În plus, puteți verifica acest lucru accesând Managerul de dispozitive și văzând prezența playerului instalat acolo:

Rezultate

Folosind metodele enumerate în acest articol, veți putea instala cu succes programe de control pentru dispozitivele pe care le utilizați. Și știind cum să instalați manual driverul folosind un fișier inf vă va permite să maximizați cantitatea de echipament folosit fără a implica specialiști terți. În plus, utilizarea software-ului oficial de pe site-urile web ale producătorilor de dispozitive va crește semnificativ fiabilitatea computerului dvs.