Instalarea inf în Windows 7. Instalarea unui driver dintr-un fișier INF


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.

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 echipamentul deservit. Acestea pot fi informații audio și video, fluxuri de date ale mașinilor de scanare, de imprimare și de 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 există î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 un program 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ă îți 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 utile ș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ă atunci când un astfel de software prietenos nu este furnizat. Ș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 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”.

Este acest fișier (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, linia 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 mergând la 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.

Astăzi vă vom învăța cum să instalați drivere 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 terților, 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 după 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 galben de exclamare, 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->drivere. 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.

Este evident că 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 bine cunoscută de 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 nou dispozitiv, 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 acesta 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 corespunzător pentru dispozitivul nou conectat pentru a asigura funcțiile noului dispozitiv pentru acces la programele în modul utilizator și la 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 deservesc hardware-ul, ci sunt integrate pentru a extinde implementarea (extensii, completări) funcționalității diferitelor module de sistem. Dar pe cine vei surprinde instalând drivere acum? Acest proces este deja atât de familiar pentru toți utilizatorii 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, adesea 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;

În plus față de principalele sarcini 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-inul 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ă independent programul de instalare a setului de pachete 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 un scop absolut diferit, 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 care este instalat, locațiile sursă și țintă ale tuturor componentelor driverului, diferite modificări care trebuie făcute în registry 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 denumite 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 o semnătură pentru fișierele pachetului, cu ajutorul cărora utilizatorul poate determina originea pachetului și poate verifica integritatea fișierelor pachetului de drivere. 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 toți pașii din algoritmul 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 utilizator responsabil pentru adăugarea, recunoașterea, eliminarea dispozitivelor din sistem. Blocul modului kernel interacționează cu restul componentelor sistemului în procesul de descărcare/instalare a software-ului 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 de la bun î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, în loc să enumere efectiv, HAL se bazează pe descrierea hardware deja prezentă în registry. 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ă dispozitivului diferiți parametri (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 utilizate 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 dispozitivelor 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).

Expertul 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 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 securizată, 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. Acesta stochează secvența operațiunilor de instalare și dezinstalare a driverului, descrisă de directive speciale care indică locația fișierelor driverului funcțional. 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 solicită să continue instalarea dispozitivului în mod independent 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, în sistemele de operare Windows au fost introduse mecanisme precum semnătura digitală a driverului și politica de semnătură a driverului de sistem.

Semnătura digitală a unui șofer 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 porțiunea î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 cu privire la 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ătură digitală de pachetul 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 driverului 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 înființat Microsoft Windows Hardware Quality Lab (WHQL), care testează în detaliu driverele furnizate cu distribuțiile Windows, precum și driverele de la principalii furnizori de hardware. Pentru toți ceilalți dezvoltatori de șoferi, există proceduri pentru a obține capacitatea de a autosemna șoferii contra cost. 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 folosind o cheie privată specială Microsoft folosită pentru a semna driverele. Hash-ul semnat este plasat într-un fișier catalog (fișier .cat) care este plasat direct în directorul pachetului de drivere.
În timpul instalării driverului, managerul de mod utilizator PnP extrage semnătura driverului din fișierul .cat, decriptează semnătura folosind cheia publică Microsoft și compară hashul rezultat cu hash-ul driverului 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 politicii de semnătură a driverului ale sistemului, 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ă, apar 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 despre șofer

Pe lângă descrierea algoritmului de instalare a driverului în sine î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 registry. 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 din 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 numai 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 registru.

%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 extensie, toate acestea 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șierelor inf ale driverului, apoi privilegiile utilizatorului curent, abia după aceea 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 utilizare 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 fișierul inf;

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles

Un stup de registry care conține informații despre profilurile hardware ale sistemului și este conceput pentru a susține 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 folosit în Windows 7, deși cheile de registry rămân, probabil din motive de compatibilitate.

Această ediție este destinată utilizatorilor care sunt deja oarecum familiarizați cu computerul și doresc să învețe cum să instaleze și să configureze singuri sistemul de operare. Limbajul ușor de urmărit și o mulțime de ilustrații ilustrative vă vor ajuta să instalați Windows 7 corect și să vă configurați computerul pentru performanțe optime. În plus, cartea descrie în detaliu principiile de bază ale restaurării sistemului de operare.

Toate drepturile rezervate. Nicio parte a acestei cărți nu poate fi reprodusă sub nicio formă fără permisiunea scrisă a deținătorilor drepturilor de autor.

Informațiile conținute în această carte au fost obținute din surse considerate de către editor a fi de încredere. Totuși, având în vedere eventualele erori umane sau tehnice, editorul nu poate garanta acuratețea și caracterul complet al informațiilor furnizate și nu este responsabil pentru eventualele erori asociate cu utilizarea cărții.

Carte:

Luați în considerare o situație în care un set de fișiere INF este utilizat pentru a instala echipamente.

Deschis Panou de controlși porniți mecanismul manager de dispozitiv. Ca urmare, se va deschide o fereastră în care puteți vedea o listă cu toate dispozitivele detectate de sistemul de operare de pe computer (Fig. 16.1).

Cea mai mare parte este formată din dispozitive situate pe placa de bază și doar câteva intrări indică dispozitive care sunt instalate ca placă de expansiune sau conectate prin porturi externe.

Sarcina noastră este să instalăm un driver pentru un dispozitiv care nu este detectat de sistemul de operare. Dacă dispozitivul dvs. nu este încă conectat la computer, acum este momentul să faceți acest lucru.

Dacă dispozitivul este deja conectat la computer, faceți clic dreapta pe numele computerului din partea de sus a listei și selectați elementul Instalare dispozitiv vechi din meniul care apare (Fig. 16.2). Aceasta va lansa asistentul de instalare hardware, care vă va ghida și vă va ghida prin instalarea hardware (Figura 16.3).


Orez. 16.1. Lansarea Device Manager


Orez. 16.2. Selectați Instalați dispozitivul vechi

După citirea discursului de deschidere și pregătirea discului de driver, dacă este necesar, apăsați butonul Mai departe, pentru a începe procesul de instalare a dispozitivului.


Orez. 16.3. Expert de configurare hardware

Asistentul de instalare oferă două opțiuni pentru acțiuni ulterioare: instalarea automată și manuală a echipamentului (Fig. 16.4). Instalarea automată nu va face nimic, deoarece sistemul de operare a încercat deja să facă acest lucru în timpul procesului de instalare. Din acest motiv, este imediat necesar să treceți la a doua opțiune. Setați comutatorul pe Instalarea echipamentelor selectate manual dintr-o listăși apăsați butonul Mai departe.


Orez. 16.4. Alegeți o opțiune de acțiune

În fereastra următoare, veți vedea o listă de dispozitive de diferite tipuri, drivere pentru care sunt disponibile în sistemul de operare (Fig. 16.5).


Orez. 16.5. Specificați tipul de dispozitiv care trebuie instalat

Să luăm în considerare mai întâi opțiunea când ați găsit driverul de care aveți nevoie în lista de producători și drivere. După ce ați marcat, apăsați butonul Mai departe, pentru a trece la instalarea acestuia.

În fereastra următoare, Expertul Add Hardware va afișa o listă cu toate driverele disponibile pe sistem pentru tipul de dispozitiv selectat, sortate după producătorul hardware. Dacă sunteți sigur că unul dintre driverele propuse este potrivit pentru echipamentul dvs., atunci selectați producătorul necesar în partea stângă a ferestrei și driverul necesar în partea dreaptă. După aceea, puteți încerca să îl instalați făcând clic pe butonul Mai departe(Fig. 16.6). Aceasta va afișa o fereastră de confirmare în care trebuie să faceți din nou clic pe butonul. Mai departe(Fig. 16.7).

După ce instalarea driverului este confirmată, Expertul Adăugare hardware copiază driverele necesare în sistem și încearcă să inițializeze dispozitivul. Dacă inițializarea dispozitivului a avut succes, veți vedea o fereastră cu un mesaj că driverul pentru dispozitiv a fost instalat corect și dispozitivul este gata de funcționare. În caz contrar, expertul va raporta că instalarea a eșuat și dispozitivul nu poate fi pornit sau că există unele dificultăți (Fig. 16.8).

Orez. 16.6. Specificați driverul pentru dispozitiv


Orez. 16.7. Confirmați instalarea driverului

Ai întrebări?

Raportați o greșeală de scriere

Text care urmează să fie trimis editorilor noștri: