Installere inf i Windows 7. Installere en driver fra en INF-fil


Installer valgfrie produkter - DriverDoc (Solvusoft) | | | |

Denne siden inneholder informasjon om hvordan du installerer de siste INF drivernedlastingene ved å bruke INF driveroppdateringsverktøyet.

INF-drivere er små programmer som tillater din INF-maskinvare å kommunisere med operativsystemets programvare. Ved å holde oppdatert INF-programvare hindrer du krasjer og du maksimerer maskinvarens og systemets ytelse. Bruk av utdaterte eller korrupte INF drivere kan forårsake systemfeil, krasjer eller føre til at prosessen mislykkes. Dessuten kan installasjon av feil INF-drivere gjøre disse problemene verre.

Råd: Hvis du er uerfaren med å oppdatere INF enhetsdrivere manuelt, anbefaler vi på det sterkeste å laste ned INF driververktøy. Dette verktøyet vil laste ned og oppdatere de riktige INF-driverversjonene automatisk, og beskytter deg mot å installere feil INF-drivere.


Om forfatteren: Jay Geater er president og administrerende direktør i Solvusoft Corporation, et globalt programvareselskap med fokus på innovative hjelpeprogrammer. Han har vært lidenskapelig opptatt av datamaskiner hele livet og elsker alt relatert til datamaskiner, programvare og ny teknologi.

Sjåfør– Dette er et spesifikt kontrollprogram som forteller operativsystemet informasjon om det tilkoblede utstyret og gir mekanismer for å bruke det. Mange av disse programvareproduktene inneholder ganske komplisert funksjonalitet, og behandler et bredt spekter av informasjon som passerer gjennom det betjente utstyret. Dette kan være lyd- og videoinformasjon, datastrømmer av skannings-, utskrifts- og nettverksmaskiner, informasjon om tastetrykk, musebevegelser, interaksjon med bærbare medier, ulike mobiltelefoner osv. osv.

Informasjon om installert maskinvare finner du ved å gå til "Kontrollpanel", velge "System"-delen og klikke på lenken eller "Enhetsbehandling"-knappen

I den trelignende listen som åpnes, vil alle enheter som er synlige for operativsystemet være synlige.

Hva er installasjonsmetodene?

Hvis, når du kobler til nytt utstyr, operativsystemet ikke var i stand til automatisk å konfigurere riktig programvare, kan du gå på to måter:

1. Bruk spesielle programmer for søk og automatisk installasjon.

2. Finn og installer nødvendig programvare uavhengig.

Begge disse metodene har sine fordeler og ulemper. Det første alternativet er definitivt mer praktisk og sparer mye tid. Og når du bruker standardutstyr, vil denne tilnærmingen gi gode resultater - alle jernstykker vil fungere som de skal og uten feil. I tillegg, når du bruker de nyeste versjonene av slike automatiseringsprogrammer, vil du motta de nyeste versjonene av driverfilene. Du kan lese mer om denne metoden på denne siden av nettstedet vårt:.

Til tross for den betydelige bekvemmeligheten, skjer det ofte at det ikke er mulig å installere kontrollprogrammet automatisk på grunn av det faktum at det rett og slett ikke eksisterer i databasen til det valgte verktøyet. I dette tilfellet må du gjøre konfigurasjonen manuelt. Selv om det tar mer tid, er denne tilnærmingen den mest pålitelige. Tross alt, etter å ha mottatt et kontrollprogram direkte fra utstyrsprodusenten, mottar du samtidig garantier for full kompatibilitet med enheten som installeres, med tanke på alle nyansene i driften. Slike nyanser kan ikke tas i betraktning i universelle samlinger.

Hvordan få en sjåfør?

Vanligvis følger all nødvendig programvare med det kjøpte produktet på en optisk plate. I dette tilfellet er det ofte nok å sette inn platen i stasjonen, kjøre programmet og følge instruksjonene under installasjonsprosessen.

Hvis disken er tapt, eller du ønsker en nyere versjon, kan du gjøre dette på utstyrsprodusentens nettside i den aktuelle delen, som vanligvis kalles "Service / Support".

Når du søker etter de nødvendige filene, bør du ikke glemme hvilken versjon av operativsystemet du trenger dem. Fordi applikasjoner utviklet for Windows XP mest sannsynlig ikke vil fungere ordentlig på nyere operativsystemer, og 32-bits programvare kan nekte å fungere i et 64-bits miljø. Og vice versa.

Det kan skje at utdatert utstyr faller i hendene dine. Og akkurat som det, vil det ikke fungere å kjøre den på de nyeste versjonene av operativsystemet. I dette tilfellet kan du prøve å installere den i kompatibilitetsmodus for eldre versjoner av Windows. Dette fører dessverre ikke alltid til et vellykket resultat. Og problemet med mangelen på normal støtte for nye versjoner av operativsystemet tvinger brukere til å nekte å bruke mange ganske fungerende og nyttige produkter.

Manuell driverinstallasjon

Kontrollprogrammer leveres vanligvis av produsenter som installasjonsapplikasjoner. Etter å ha startet installasjonen, mottar brukeren spørsmål og følger installasjonstrinnene uten problemer med å takle hele installasjonsprosessen.

Men situasjonen er ganske vanlig når slik vennlig programvare ikke leveres. Og mange brukere vet ikke hva de skal gjøre i dette tilfellet.

Prosedyren for å håndtere en slik situasjon er beskrevet nedenfor ved å bruke iRiver IFP-700 MP3-spilleren som eksempel.

For å lagre informasjonen som er registrert på mikrofonen til denne spilleren, må du både installere driveren og deretter bruke spesialverktøyet iRiver Music Manager. Men dessverre klarer ikke det offisielle nettstedet iRiver å laste ned de nødvendige filene. Videre, fra innholdet på siden på nettstedet er det klart at denne spilleren er designet for operativsystemer som ikke er nyere enn Windows XP.

Følgelig, for å garantere suksess, må du installere denne spilleren i Windows XP.

Etter litt leting klarte jeg å få et slikt arkiv med de nødvendige filene:

Pakker ut innholdet i arkivet

og vi ser at det ikke er noen exe-filer i den. Men det er, som beskrives som "Informasjon for installasjon".

Det er denne filen (komplett med naboer fra denne mappen) som operativsystemet trenger for å kunne koble spilleren til USB-porten.

Vi kobler spilleren med en ledning til datamaskinen og ser at et slikt typisk vindu har dukket opp:

Hvis vi går den vanlige veien og velger automatisk stopp, så etter en lang visning av dette vinduet

en feilmelding vises. Derfor trykker vi på "Tilbake"-knappen for å gå den alternative veien.

I dette vinduet, i stedet for den automatiske metoden, velg alternativet "Installer fra en liste eller spesifisert plassering"

Vi trykker på bla-knappen og velger mappen der vi pakket ut filene fra zip-arkivet.

Som et resultat bør søkelinjen inneholde banen til mappen der inf-filen er plassert:

Når prosessen er fullført, vises et suksessvindu:

Du kan i tillegg bekrefte dette ved å gå til Enhetsbehandling og se tilstedeværelsen av den installerte spilleren der:

Resultater

Ved å bruke metodene som er oppført i denne artikkelen, vil du kunne installere kontrollprogrammer for enhetene du bruker. Og å vite hvordan du installerer driveren manuelt ved å bruke en inf-fil vil tillate deg å maksimere mengden utstyr som brukes uten å involvere tredjepartsspesialister. I tillegg vil bruk av offisiell programvare fra nettstedene til enhetsprodusenter øke påliteligheten til datamaskinen din betydelig.

I dag skal vi lære deg hvordan du installerer enhetsdrivere fra sys- og inf-filer.

Finne, installere og konfigurere en enhetsdriver 200 gni.

Når du laster ned drivere fra Internett for enhetene dine, kan det hende du ikke kommer over installasjonspakken du er vant til, men et arkiv med sys- og inf-filer. Sys-filer er systemfiler, mens inf-filer ofte er en del av datamaskinens maskinvaredriver. Hvis driveren din kun inkluderer sys og inf uten installasjonsprogrammet du er vant til, fortvil ikke, denne typen driver kan også installeres. I de fleste tilfeller distribueres slike drivere på tredjepartssider, ikke på produsentenes nettsteder. Vær derfor forsiktig og kontroller hver nedlastede driver med et antivirusprogram.

Installere driveren i form av sys- og inf-filer

1. Det første vi trenger er å gå til enhetsbehandlingen. Vi trykker på start, og ved navnet "min datamaskin" kaller vi ned rullegardinmenyen ved å trykke på høyre museknapp og velge egenskapen fra listen. Et nytt vindu åpnes der vi må gå til delen "enhetsbehandling" i venstre kolonne. I listen som åpnes finner du utstyret som er merket med et gult utropstegn, høyreklikker på enheten som skal installere driveren og klikker på elementet - oppdater driver. Det neste vinduet vil starte veiviseren for installasjon og konfigurering av nytt utstyr. Velg elementet for å manuelt installere enhetsdriveren.

2. Deretter blir vi bedt om å velge mappen der driverne våre er plassert, det vil si sys- eller inf-filer. Deretter bekrefter du valget ditt om å begynne å installere driveren. Hvis den gitte driveren ikke er kompatibel med enheten, eller enheten allerede har en nyere versjon av driveren, vil du bli bedt om å velge en annen fil for å konfigurere enheten riktig.

3. Hvis du bare finner én enkelt sys-fil uten inf i det nedlastede arkivet, vil ikke driverinstallasjonsveiviseren for enheten kunne installere dem. For at driveren skal installeres og fungere riktig, må du kopiere .sys-filen til windows->System32->drivere. Etter at vi har kopiert driveren vår til systemmappen starter vi installasjonen og søker etter driveren i automatisk modus. Når du installerer slike filer, anbefaler vi å sjekke dem med et antivirusprogram, siden noen angripere legger inn ondsinnet kode i driverfiler, og nedlasting av drivere er best fra det offisielle nettstedet.

Også, hvis du har noen problemer med å oppdatere driverne selv, vil våre mestere gjerne gjøre dette arbeidet.

Avgang av master og diagnostikk0 gni.

Det er åpenbart at hver bruker av en personlig datamaskin, fra tid til annen, trenger å koble en enhet til stasjonen sin. Grunnen til at dette skjer er ikke av stor interesse for oss nå, det kan være en oppgradering som er kjent for mange (for å øke ytelsen til individuelle noder, og som et resultat av den generelle systemytelsen), kan det ganske enkelt være tillegg av nytt utstyr for å utvide funksjonalitet eksisterende konfigurasjon, som, for eksempel, i tilfelle av å koble til en ny gamepad, kan det også være behov for å bruke data fra en flash-stasjon. Uansett hvordan vi kobler til en ny enhet, er Windows-operativsystemet tvunget til å reagere på utseendet til ny maskinvare ved å utføre visse manipulasjoner for å sikre at ny maskinvare støttes på programvarenivå. Mange operativsystemer bruker et grensesnitt mellom maskinvare og et programvarelag kalt en driver for å muliggjøre programvareinteraksjon med enheter.

Driver (driver) - programvare ved hjelp av hvilken operativsystemet og programmodulene som kjører i det får tilgang til maskinvare eller logiske enheter.

Det er grunnen til at operativsystemet prøver med alle tilgjengelige midler for å sikre at enheten fungerer i miljøet, for dette forsøkes det å installere den riktige driveren for den nylig tilkoblede enheten for å gi funksjonene til den nye enhet for tilgang til brukermodusprogrammer og kjernemoduskode, fordi uten dette vil maskinvaredriveren i systemet rett og slett ikke kunne fungere.
Det var ikke tilfeldig at jeg nevnte logiske enheter i definisjonen, siden det er en egen kategori drivere som ikke betjener maskinvare, men som er integrert for å utvide implementeringen (utvidelser, tillegg) av funksjonaliteten til ulike systemmoduler. Men hvem skal du overraske ved å installere drivere nå? Denne prosessen er allerede så kjent for alle PC-brukere fra mange års praksis at noen, jeg er sikker på, kan gjøre det med lukkede øyne :) Men har vi tenkt på detaljene i denne prosessen, har vi noen gang tenkt på algoritme for driverinstallasjon? Har du noen gang lurt på nøyaktig hvilke handlinger operativsystemet utfører når en ny enhet kobles til og drivere er installert?

Enig i at fra brukerens synspunkt ser prosessen med å installere en driver i Windows i de fleste tilfeller ganske prosaisk ut. Det velkjente animerte ikonet for installasjonsveiviseren vises i systemstatusfeltet, og etter en stund kan systemet utgi en rapport om vellykket eller mislykket installasjon av den nye enhetsdriveren i systemet. Dessuten gir ofte installasjonsveiviseren, bortsett fra dette selve ikonet, ikke i det hele tatt noen visuell bekreftelse på forsøk på å installere en ny enhet, mens den "stille" legger til nytt utstyr til listen over enheter og (i tilfelle feil) merking den med et spesielt ikon i enhetsbehandlingen, og tilbyr brukeren i manuell modus å fortsette å konfigurere utstyret. Alle disse eksterne prosessene, som allerede er godt kjent for både deg og meg, har vært til stede i en eller annen form i alle versjoner av Windows-operativsystemer nesten siden utseendet til dette operativsystemet, og avviker bare litt i detaljer. De har blitt så kjente og kjente at jeg aldri engang tenkte på hva som skjer "på den andre siden av skjermen", i innvollene av operativsystemet, hva skjuler seg under denne imaginære enkelheten? Som du vil se nedenfor, skjuler installasjon av en Windows-driver for en fysisk eller logisk enhet ganske komplekse og ekstremt interessante prosesser. Algoritmen for driverinstallasjon på Windows kan deles inn i følgende globale hovedoppgaver:

  • Kopiering av driveren binær til riktig katalog på systemet;
  • Registrering av driveren i Windows-systemet som indikerer nedlastingsmetoden;
  • Legge til nødvendig informasjon til systemregisteret;
  • Kopier/installer relaterte støttekomponenter fra driverpakken;

I tillegg til hovedoppgavene som utføres som en del av driverinstallasjonsalgoritmen i Windows, ville det være fint å klassifisere forholdene under hvilke installasjonsprosessen for Windows-driveren starter:

  • Brukeren installerer en ny enhet i en avslått datamaskin. I dette tilfellet begynner prosessen med å oppdage en ny enhet og installere driveren allerede ved lasting av operativsystemet.
  • En bruker med lokale administratorrettigheter, ved hjelp av Enhetsbehandling-snap-in, starter installasjonen eller oppdateringen av en driver for en allerede installert enhet.
  • Brukeren "på farten" kobler en ny enhet til en fungerende datamaskin. I dette tilfellet snakker vi om en viss kategori av enheter som kan kobles til i farten, for eksempel enheter med eksternt eSata-grensesnitt, USB, etc. Tross alt, vil du ikke installere et internt skjermkort når strøm tilføres PCIe-sporene, vil du? Jeg personlig har ikke gjort dette enda :)
  • Brukeren kjører driverpakkesettet uavhengig fra en konto med lokale administratorrettigheter. Denne metoden kan brukes både til å installere drivere for fysiske enheter som støtter Plug and Play-standarden, og for å installere ikke-PnP (legacy) drivere, logiske enhetsdrivere som ikke kan oppdages automatisk av systemet og som ikke kan installeres på annen måte enn i manuell innstilling. Et typisk eksempel vil være antivirus eller virtuelle maskiner som installerer driverne (logiske enheter) i systemet.
  • Brukeren høyreklikker på .inf-filen i driverkatalogen og velger Installer fra en konto med lokale administratorrettigheter.

Men hva er selve driverpakken? Tross alt, som vi har sett gjentatte ganger, er dette et helt sett med filer med en helt annen, ved første øyekast, formål. Uten en mer dyptgående oversikt over strukturen til driverinstallasjonspakken, vil det være vanskelig for oss å forstå selve driverinstallasjonsalgoritmen, så vi vil gi de generelle komponentene:

  • .inf-fil(er). Nøkkelkomponenten i en driverinstallasjonspakke er en fil som beskriver driverinstallasjonsprosessen. inf-filen er delt inn i seksjoner og består av instruksjoner som forteller systemet nøyaktig hvordan driveren er installert: de beskriver enheten som installeres, kilde- og målplasseringene til alle driverkomponenter, ulike endringer som må gjøres i registret når du installerer Windows-driveren, informasjon om avhengighetsdrivere og mer. .inf-filer knytter en fysisk enhet til en driver som styrer den enheten.
  • Den(e) binære filen(e) til driveren. Pakken må som et minimum inneholde .sys- eller .dll-filen til driverkjernen. Faktisk kan en enkelt .sys-fil (i ekstreme tilfeller) installeres (med forbehold) manuelt ved å redigere registret.
  • Kjørbare installasjonsfiler. Vanligvis er dette velkjente installasjonsverktøy som heter setup.exe , install.exe og noen andre.
  • Kjørbare avinstalleringsfiler. Disse er vanligvis avinstalleringsverktøy som heter uninstall.exe.
  • Fil(er) for ytterligere prosedyrer og biblioteker. Vanligvis er disse hjelpebiblioteker i .dll-formatet, co-installere.
  • .cat-fil(er). Katalogfil signert med digital signatur. Disse filene inneholder digitale signaturer til katalogene og fungerer som en signatur for pakkefilene, som brukeren kan bruke til å bestemme opprinnelsen til pakken og verifisere integriteten til driverpakkefilene. Påkrevd på 64-biters versjoner av Windows fra Vista og utover og anbefales for alle andre.
  • Brukermoduskontrollmoduler. Vanligvis er dette ulike kommandoappletter som fungerer i brukermodus, slik som ATI Catalist Control Center, VIA HD Audio Desk, Realtek HD Audio Control Panel og lignende.
  • Hjelpefiler. Hvor ville det vært uten dem?

Begreper og definisjoner

I denne artikkelen vil jeg beskrive bare én installasjonsmetode, som i alle fall beskriver nesten alle trinnene i driverinstallasjonsalgoritmen i Windows, som kan brukes på andre metoder. Og vi skal nå snakke om situasjonen når brukeren setter inn nytt utstyr, for eksempel et skjermkort, i den interne kontakten til en avslått datamaskin. Men først, la oss introdusere noen definisjoner som vi trenger i prosessen med å studere driverinstallasjonsalgoritmen.
Manager (ekspeditør) Plug and Play (PnP Manager, PnP Manager)- en sky av kjernemodus og brukermoduskode som er ansvarlig for å legge til, gjenkjenne og fjerne enheter i systemet. Kjernemodusblokken samhandler med resten av systemkomponentene i prosessen med å laste ned/installere programvaren som er nødvendig for å betjene enhetene i systemet. Brukermodusblokk ( %Windir%\System32\umpnpmgr.dll, kjører i sammenheng med hovedsystemprosessen svchost.exe) er ansvarlig for brukerinteraksjon i situasjoner som krever installasjon av nye drivere eller justering av driftsparametere i allerede installerte. Ansvarlig for tildeling og påfølgende allokering av maskinvareressurser som avbrudd (IRQ), I/O-porter, direkte minnetilgang (DMA) kanaler og minneadresser. Den har funksjonaliteten til å bestemme driveren som kreves for å støtte en bestemt enhet og funksjonaliteten til å laste ned / installere denne driveren. Kunne gjenkjenne nye enheter, svare på tilkobling og frakobling. Det er en del av Windows executive subsystem-kode.

Enhetsoppregning

Det gir ingen mening å beskrive hele innlastingsstadiet helt fra begynnelsen, og vi vil bare starte fra det stadiet som er av interesse for oss, der Winload (.efi)-modulen laster Windows 7-operativsystemkjernen fra ntoskrnl.exe-filen . Kjernen kjører PnP-manageren, som er en del av det utøvende undersystemet. PnP-manageren starter enhetsoppregningsprosessen fra rotenheten, en virtuell bussdriver kalt ROOT (Root), som representerer hele systemet og er en bussdriver generelt for alle PnP- og ikke-PnP-enheter, samt HAL (maskinvare). nivåabstraksjoner). HAL fungerer på dette tidspunktet som en bussdriver som teller opp enhetene som er direkte koblet til hovedkortet. Men i stedet for å faktisk telle opp, er HAL avhengig av maskinvarebeskrivelsen som allerede finnes i registeret. Hensikten med HAL på dette stadiet er å oppdage primærbusser som PCI. Den primære PCI-bussdriveren teller på sin side opp enhetene som er koblet til denne bussen, finner andre busser, som PnP-lederen umiddelbart laster drivere for. Disse bussjåførene oppdager på sin side allerede enhetene på bussene sine. Denne rekursive prosessen med å telle, laste inn drivere og deretter telle, fortsetter til alle enhetene i systemet er oppdaget og konfigurert. Under PnP-oppregningsprosessen bygger lederen et enhetstre som unikt beskriver forholdet mellom alle enheter i systemet. Nodene i dette treet, kalt devnodes (forkortelse for "device nodes"), inneholder informasjon om enhetsobjektet, som igjen beskriver enheten i detalj.
Registreringer av alle enheter som har blitt oppdaget siden systemet ble installert, lagres i registerstrukturen HKLM\SYSTEM\CurrentControlSet\Enum. Undernøklene til denne bikuben beskriver enheter i følgende format:

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

HKLM\SYSTEM\CurrentControlSet\Enum\

  • Enumerator - navnet på bussjåføren. Kan ta følgende verdier: ACPI , DISPLAY , HDAUDIO , HID , HDTREE , IDE , PCI , PCIIDE , Root , STORAGE , SW , UMB , USB , USBSTOR og andre;
  • DeviceID - unik identifikator for denne enhetstypen;
  • InstanceID - En unik identifikator for forskjellige forekomster av samme enhet.

Faktum er at driveren av bussen som enheten er koblet til spør enheten om ulike parametere (produsent-ID, enhets-ID, revisjon osv.) og genererer den såkalte maskinvareidentifikatoren (HardwareID), som unikt beskriver enheten og er en rekke parametere atskilt med tegn & og som består av følgende deler:

  • Et prefiks som beskriver bussen som enheten er koblet til.
  • Enhets-ID. Den består av flere deler, for eksempel produsent-ID, produkt (modell) ID, enhetsrevisjon.

HardwareID - en identifikasjonsstreng som avhenger av enhetsparametrene (produsent, modell, revisjon, versjon, etc.) som Windows bruker for å matche enheten med driverens .inf-fil.

Typisk HardwareID-struktur:

PCI\VEN_10DE&DEV_1341&SUBSYS_2281103C&REV_A2

I tillegg til HardwareID, er enheten tildelt en CompatibleID-parameter(er), som har et lignende format, men som bare inneholder mer generelle verdier som ikke inneholder enhetsspesifikke parametere (noen enhets-IDer) og som er nødvendige for å initialisere en bredere utvalg av kompatible enheter.

HardwareID og CompatibleID brukes av Windows executive subsystem-kode for å finne enhetsdriveren.

Driver oppdagelse

Hvis den funksjonelle driveren til bussen som den nye enheten er koblet til, informerer PnP-behandleren om endringer i de tilkoblede underenhetene på tidspunktet for enhetsoppregning og sjåførlasting. PnP-behandleren i kjernemodus sjekker om en driver er knyttet til enheten ved å spørre bussdriveren som den nye enheten er koblet til og få maskinvare-ID og eventuelt CompatibleID for enheten. PnP-behandleren i kjernemodus informerer PnP-behandleren i brukermodus om at den gitte enheten må installeres med en spesiell hendelse, og sender den de mottatte identifikatorene. PnP-brukermodusbehandleren prøver først å installere enheten automatisk uten brukerintervensjon. For å gjøre dette, starter PnP-behandleren i brukermodus rundll32.exe-verktøyet for å starte installasjonsveiviseren for enhetsdriver (%Windir%\System32\Newdev.dll).

Veiviseren for installasjon av enhetsdriver starter et søk etter en passende driver for enheten ved å bruke informasjon fra alle system-inf-filer som ligger på følgende klarerte systemplasseringer:

  • Driverlagring;
  • Windows-oppdatering;
  • Systemkatalog med INF-filer;

For de ovennevnte formålene med å søke og installere driveren, brukes funksjonene til setupapi.dll-bibliotekene (installasjonsstøttefunksjoner) og cfgmgr32.dll (konfigurasjonsbehandling). Under søket brukes den nåværende innhentede HardwareID-en og (valgfritt) CompatibleID-identifikatorene, hvis verdier beskriver alle mulige alternativer for å identifisere maskinvaren i driverinstallasjonsfilen, det vil si inf-filen. ID-verdiene til den installerte enheten sammenlignes med de som er beskrevet i modelldelene av inf-filer som er registrert i systemet. Identifikatorlistene er ordnet, så de mer spesifikke maskinvarebeskrivelsene vises først i listene. Hvis ID-treff ble funnet i flere inf-filer, foretrekkes et mer eksakt samsvar fremfor et mindre eksakt samsvar, signerte inf-filer foretrekkes fremfor usignerte, og senere signerte inf-filer foretrekkes fremfor tidligere signerte. Hvis et samsvar basert på HardwareID ikke blir funnet, brukes CompatibleID, hvis det finnes, selvfølgelig. Hvis ingen samsvar blir funnet basert på CompatibleID, kan veiviseren for Legg til maskinvare be deg om plasseringen av en ny maskinvaredriver. La oss se nærmere på alle disse kildene til førerinformasjon.

Driverlagring

Driverinstallasjonsveiviseren prøver å finne en passende inf-fil i systemdriverlageret som ligger i %Windir%\System32\DriverStore-katalogen, som inneholder alle systemdrivere uten unntak som er en del av Windows-distribusjonen, hentet gjennom "Windows Update" tjenesten, eller installert i systemet av brukeren.

Driver Store er en sikker systemplassering, en katalog beregnet på å lagre alle driverpakkene som noen gang har blitt installert på systemet.

Driver Store ble først introdusert i Windows Vista. Før du installerer en driver i systemet, kontrollerer først den spesialiserte koden den digitale signaturen til driveren, deretter syntaksen til driverens inf-filer, deretter privilegiene til gjeldende bruker, først etter det plasserer den alle driverkomponentene i systemdriveren. Oppbevaring. Men da kan driveren i driverlageret brukes til å installere enheter i systemet. Siden prosedyren for å plassere en sjåfør i butikken er godt utviklet, er sjåførbutikken den mest pålitelige kilden til informasjon om sjåfører.

Systemkatalog med INF-filer

Parallelt ser systemet etter driveren på systemplasseringen beskrevet av verdien til DevicePath-parameteren, som ligger i registergrenen HKLM\Software\Microsoft\Windows\CurrentVersion. Innstillingen er vanligvis %SystemRoot%\inf , som tilsvarer C:\Windows\inf på de fleste systemer.

INF-fil

Jeg vil gjerne gjøre en liten digresjon og snakke separat om informasjonsfilene til driverpakken. inf-filen er en av nøkkelkomponentene i driverpakken. Den lagrer operasjonssekvensen for installasjon og avinstallering av driveren, beskrevet av spesielle direktiver som peker på plasseringen av de funksjonelle driverfilene. Filen inneholder kommandoer som legger til informasjon til registeret som er ansvarlig for å telle opp (Enum) driveren og dens klasse (Class), og kan inneholde instruksjoner for mfor å starte de såkalte hovedinstallatørene (Class Installer, Class Installer) ) og ekstra installatører (CoInstaller, Co-installer) for enhetsklassen og selve enheten. I tillegg definerer inf-filen type, produsent, enhetsmodell, driverklasse, nødvendige filer og ressurser.

Co-installer (etter struktur, en vanlig DLL) - et ekstra installatør som kalles under installasjonsfasen, som utfører underklasse eller enhetsspesifikke installasjonstrinn, som å forberede infrastrukturen for at driveren skal fungere i systemet (for eksempel installere NET.Framework-pakke), som viser konfigurasjonsdialoger, som lar brukeren spesifisere innstillinger for en bestemt enhet.

Et viktig trekk ved medinstallatører er at de om nødvendig binder forekomster av en ny enhet til protokollene som kreves for drift. Dette kan for eksempel gjelde ulike typer kommunikasjonsenheter som krever ulike protokoller og transporter for å fungere, som ndis , pppoe , tcpip , tcpip6 , smb , netbt .
.inf-filen beskriver i tillegg operasjonene med å pakke ut, kopiere, starte, gi nytt navn til filer, legge til og slette nøkler i registeret og mye mer.
La oss imidlertid gå tilbake til hoi Windows. Hvis installasjonsprogrammet for enhetsdriveren ikke fant passende drivere på stedene oppført ovenfor, merker systemet enheten som ukjent.

I dette tilfellet blir brukeren bedt om å uavhengig fortsette å installere enheten gjennom appleten Enhetsbehandling. Etter at brukeren har valgt enheten på egen hånd og spesifiserer plasseringen av driverfilene, fortsetter driverinstallasjonsalgoritmen arbeidet og neste trinn begynner å sjekke den digitale signaturen til driveren.

Kontrollerer den digitale signaturen til driveren

Faktum er at driveren, som en del av kjernemoduskoden, er en ganske kritisk komponent i operativsystemet, og eventuelle feil gjort av utvikleren i driverkoden kan lett føre til alvorlige krasj (BSOD) i systemet. I en tid nå har Microsoft vært ganske følsomme for kvaliteten på driverkoden, og i denne forbindelse har mekanismer som digital driversignatur og systemdriversignaturpolicy blitt introdusert i Windows-operativsystemer.

En sjåførs digitale signatur er en datastreng med variabel lengde som til en viss grad er en garanti for at sjåførkoden ble opprettet av en pålitelig kilde og ikke har blitt utsatt for uautoriserte modifikasjoner.

Det neste trinnet er brukermodusdelen av PnP-managerkoden som sjekker systemets driversigneringspolicy. Hvis systempolicyen forteller kjernekoden å blokkere eller advare om installasjon av usignerte drivere, analyserer PnP-administratoren driverens inf-fil for tilstedeværelsen av et CatalogFile-direktiv som peker til en katalogfil (en fil med en .cat-utvidelse) som inneholder en digital signatur av driverpakken.

Katalogfilen (.cat) er en spesiell fil som fungerer som en digital signatur for hele driverpakken, fordi hver fil som er inkludert i driverpakken ikke er individuelt signert. De eneste unntakene er oppstartsfasen kjernedriverbinærfiler, men de kontrolleres av separat kjernekode.

For å teste drivere og signere dem ble Microsoft Windows Hardware Quality Lab (WHQL) opprettet, som grundig tester driverne som følger med Windows-distribusjonene, samt drivere fra store maskinvareleverandører. For alle andre sjåførutviklere er prosedyrer på plass for å få muligheten til å selvsignere sjåfører mot et gebyr. Når en sjåfør består alle WHQL-tester, blir den "signert". Dette betyr at for en driver genererer WHQL en hash, eller unik signatur, som unikt identifiserer driverens filer, og deretter kryptografisk signerer den med en spesiell Microsoft-privatnøkkel som brukes til å signere drivere. Den signerte hashen plasseres i en katalogfil (.cat-fil) som plasseres direkte i driverpakkekatalogen.
Under driverinstallasjon trekker PnP-brukermodusadministratoren ut driversignaturen fra .cat-filen, dekrypterer signaturen ved hjelp av Microsofts offentlige nøkkel og sammenligner den resulterende hashen med hashen til driveren som installeres. Hvis hashen samsvarer, merkes driveren som WHQL-testet. Hvis signaturen ikke kan verifiseres, handler PnP-behandleren i henhold til systemets innstillinger for driversignaturpolicy, og tillater enten driverinstallasjonen eller tillater fortsatt at driveren installeres.

Lag en sikkerhetskopi

Det er en ganske god Windows-strategi å lage et gjenopprettingspunkt før du legger til nye enhetsdrivere til systemet. Dette skyldes først og fremst det faktum at en kjernemodusdriver som inneholder en feil kan være årsaken til systemets fullstendige inoperabilitet, og hva skal jeg gjøre med dette systemet? Selv til tross for alle signaturer og sjekker, skal brukeren kunne rulle tilbake konfigurasjonen i tilfelle han for eksempel ikke likte noe etter installasjonen.

Driver installasjon

Dette trinnet distribuerer tredjeparts driverpakken til systemdriverlageret. Deretter utfører systemet selve installasjonen av driveren fra driverlageret, som gjøres ved å bruke %Windir%\System32\drvinst.exe-verktøyet. I denne fasen oppstår følgende hendelser:

  • inf-filen til driveren kopieres til den spesialiserte mappen %Windir%/inf . Det er typisk for tredjepartsdrivere å gi nytt navn til filen til OEMx.inf , der x er ordensnummeret til inf-filen i katalogen.
  • Operativsystemkoden fikser det faktum å installere inf-filen i registeret.
  • En enhetsnode (devnode) opprettes i registeret langs banen HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ \\ , som inneholder detaljert informasjon om enheten.
  • Driverbinærfilene kopieres til målmappen %Windir%\System32\DRIVERS og muligens andre målmapper. Registernøklene er oppdatert.
  • Registernøkkelen som tilsvarer driveren er dannet: HKLM\SYSTEM\CurrentControlSet\Services\driver_name. Nøkkelparametere dannes.
  • Det dannes en registernøkkel som er ansvarlig for logging av sjåførhendelser og er plassert i filialen HKLM\SYSTEM\CurrentControlSet\Services\EventLog\System\driver_name.
  • PnP-manageren kaller DriverEntry-prosedyren for hver nylig installerte driver. PnP-behandleren i kjernemodus forsøker deretter å "starte" driveren ved å laste den inn i minnet og kalle driverens AddDevice-prosedyre for å informere driveren selv om tilstedeværelsen av enheten den ble lastet inn for.

Plassering av sjåførinformasjon

I tillegg til å beskrive selve driverinstallasjonsalgoritmen i Windows, vil jeg fremheve en egen del og vie den til å beskrive mulige plasseringer av informasjon om drivere i filsystemet og registret. Fra et praktisk synspunkt er denne informasjonen ment å forenkle manuell redigering i tilfelle fatale feil. Følgende er stedene der du kan legge merke til spor av førerinformasjon.

Generelle driverlogger

Det er en rekke logger på systemet som kan hjelpe med ulike driverrelaterte problemer.

  • %Windir%\setupact.log -- inneholder feilsøkingsmeldinger fraogrammet, som er en Win32 DLL som følger med enhetens oppsettprosess;
  • %Windir%\inf\setupapi.app.log -- inneholder meldinger fraen;
  • %Windir%\inf\setupapi.dev.log -- inneholder meldinger om enhetens installasjonsprosess;

Driverlogg

Hvis du bruker Package Manager (pkgmgr) til å installere/avinstallere en pakke som (i sin tur) installerer, oppdaterer eller avinstallerer en driver, så har du muligheten til å aktivere (for feilsøkingsformål) opprettelsen av en spesiell loggfildrivere. log , som bare vil inneholde driverspesifikke feil. For å generere denne loggen, opprett/sett følgende registernøkkel, og kjør deretter pkgmgr igjen. Etter det, i katalogen der pkgmgr ble startet fra, vil en drivers.log-fil bli opprettet.
Filial: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Device Installer
Nøkkel: DebugPkgMgr
Type: Dword
Verdi: 1

%Windir%\inf

Alle inf-filer er lagret i denne katalogen. Som nevnt ovenfor, etter å ha installert en tredjepartsdriver i systemet, blir inf-filen omdøpt til OEMx.inf, slik at du kan se en hel serie med lignende filer i katalogen. Operativsystemkoden husker det faktum at inf-filen ble installert i registeret.

%Windir%\System32\DRIVERS

Dette er katalogen i Windows-filsystemet der de faktiske driverfilene er plassert. I moderne operativsystemer, og jeg snakker nå om Windows Vista og senere, har de aller fleste drivere i denne katalogen .sys-utvidelser, dll-filer er mindre vanlige, men dette endrer ikke den generelle betydningen, fordi uavhengig av filtypen, alle er identiske i struktur med .dll-filer. I tidligere operativsystemer var det formater som .drv og .vxd .

%Windir%\System32\DriverStore

Systemsamlingen av drivere, som er ment å inneholde alle driverne som har gått gjennom systemet ditt. Brukt siden Windows Vista. Før du installerer en driver i operativsystemet, kontrollerer først den spesialiserte koden driverens signatur, deretter syntaksen til driverens inf-filer, deretter privilegiene til gjeldende bruker, først etter det legger den til alle driverens komponenter til systemsamlingen. Og først etter det kan driveren brukes i systemet til å installere enheter uten brukerintervensjon.

HKLM\SYSTEM\CurrentControlSet\Enum

En registerstruktur som inneholder informasjon om enhetene i systemet. PnP-manageren oppretter en nøkkel her for hver enhet i formatet HKLM\SYSTEM\CurrentControlSet\Enum\Enumerator\deviceID. der Enumerator er bussidentifikatoren beskrevet ovenfor i artikkelen, hentet på enhetsopptellingsstadiet, er deviceid enhetstypeidentifikatoren. Nøkkelen inneholder følgende informasjon: enhetsbeskrivelse, maskinvareidentifikatorer (maskinvare-ID), kompatible enhetsidentifikatorer (kompatibel ID) og ressurskrav. Bikuben er reservert for bruk utelukkende av operativsystemkode, så brukerapplikasjoner og drivere frarådes å samhandle med den direkte, i stedet for å bruke dokumenterte systemfunksjoner.

HKLM\SYSTEM\CurrentControlSet\Control

Registerstruktur som inneholder informasjon om ulike dved oppstartsfasen for operativsystemet. Inneholder så viktige nøkler som:

  • Klasse inneholder informasjon om enhetsinstallasjonsklasser, som brukes til å gruppere enheter som er konfigurert og installert på lignende måte. For hver installasjonsklasse inneholder denne nøkkelen en nøkkel hvis navn er det samme som GUID-navnet til den tilsvarende installasjonsklassen.
  • CoDeviceInstallers inneholder informasjon om klasse co-installere
  • DeviceClasses inneholder informasjon om grensesnittene til enheter som er registrert i systemet. enhver driver som ønsker å samhandle med brukermodusprogrammer på systemet, må ha et grensesnitt. Enhetsgrensesnittklassen eksponerer funksjonaliteten til enheten og dens driver for andre systemkomponenter og brukermodusapplikasjoner.

HKLM\SYSTEM\CurrentControlSet\Tjenester

En registerhive som brukes til å lagre informasjon om alle tjenestene (driverne) på systemet. Hver systemdriver plasserer ganske viktig global informasjon om seg selv i undernøkler til skjemaet HKLM\SYSTEM\CurrentControlSet\Services\<Имя_драйвера> , som brukes av driveren under initialiseringsprosessen ved systemoppstartsfasen. Bikuben brukes aktivt av PnP-manageren for å sende parametere når du kaller opp startprosedyren for driveren.
Denne bikuben inneholder følgende elementer:

  • ImagePath - inneholder hele banen i den binære filen (bildet) til driveren. installasjonsprogrammet fyller ut denne verdien basert på data fra inf-filen til driverpakken;
  • Parametere - lagrer sjåførens individuelle informasjon, fylles ut basert på dataene som er plassert i inf-filen til sjåførpakken;
  • Ytelse - Informasjon for å overvåke ytelsen til enheten kontrollert av sjåføren. Angir navnet på ytelsesovervåkings-DLLen og navnene på funksjonene som eksporteres av denne DLL-filen. Fylles ut basert på dataene mottatt fra inf-filen;

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles

En registerstruktur som inneholder informasjon om maskinvareprofilene til systemet og er designet for å støtte denne teknologien. En maskinvareprofil er bare et sett med endringer i standard maskinvare- og tjenestekonfigurasjoner (original konfigurasjon) lastet ved systemoppstart. Inneholder spesifikke endringer i den originale, grunnleggende maskinvareprofilen konfigurert i to registernøkler: HKLM\SOFTWARE og HKLM\SYSTEM . Ikke brukt i Windows 7, selv om registernøkler forblir, sannsynligvis av kompatibilitetsgrunner.

Denne utgaven er beregnet på brukere som allerede er litt kjent med datamaskinen og ønsker å lære hvordan de installerer og konfigurerer operativsystemet på egenhånd. Enkelt å følge språk og mange illustrative illustrasjoner vil hjelpe deg med å installere Windows 7 riktig og sette opp PC-en for optimal ytelse. I tillegg beskriver boken i detalj de grunnleggende prinsippene for å gjenopprette operativsystemet.

Alle rettigheter forbeholdt. Ingen del av denne boken kan reproduseres i noen form uten skriftlig tillatelse fra opphavsrettsinnehaverne.

Informasjonen i denne boken er hentet fra kilder som utgiveren mener er pålitelige. Men i lys av mulige menneskelige eller tekniske feil kan ikke forlaget garantere den absolutte nøyaktigheten og fullstendigheten av informasjonen som er gitt, og er ikke ansvarlig for mulige feil knyttet til bruken av boken.

Bok:

Tenk på en situasjon der et sett med INF-filer brukes til å installere utstyr.

åpen Kontrollpanel og start mekanismen Enhetsbehandling. Som et resultat vil et vindu åpnes der du kan se en liste over alle enheter som er oppdaget av operativsystemet på datamaskinen (fig. 16.1).

Det meste består av enheter plassert på hovedkortet, og bare noen få oppføringer indikerer enheter som er installert som et utvidelseskort eller koblet til ved hjelp av eksterne porter.

Vår oppgave er å installere en driver for en enhet som ikke oppdages av operativsystemet. Hvis enheten din ennå ikke er koblet til datamaskinen, er det nå på tide å gjøre det.

Hvis enheten allerede er koblet til datamaskinen, høyreklikker du på datamaskinnavnet helt øverst på listen og velger Installer gammel enhet i menyen som vises (fig. 16.2). Dette vil starten, som vil veilede og veilede deg gjennom maskinvareinstallasjonen (Figur 16.3).


Ris. 16.1. Starter Enhetsbehandling


Ris. 16.2. Velg Installer gammel enhet

Etter å ha lest åpningstalen og klargjort driverdisken, om nødvendig, trykk på knappen Lengre, for å starte installasjonsprosessen for enheten.


Ris. 16.3. Veiviser for maskinvareoppsett

Installasjonsveiviseren tilbyr to alternativer for ytterligere handlinger: automatisk og manuell installasjon av utstyr (fig. 16.4). Automatisk installasjon vil ikke gjøre noe, siden operativsystemet allerede har prøvd å gjøre dette under installasjonsprosessen. Av denne grunn er det umiddelbart nødvendig å fortsette til det andre alternativet. Sett bryteren til Installere utstyr manuelt valgt fra en liste og trykk på knappen Lengre.


Ris. 16.4. Velg et handlingsalternativ

I neste vindu vil du se en liste over enheter av ulike typer, drivere som er tilgjengelige for i operativsystemet (fig. 16.5).


Ris. 16.5. Spesifiser typen enhet som skal installeres

La oss først vurdere alternativet når du fant driveren du trenger i listen over produsenter og drivere. Etter å ha merket det, trykk på knappen Lengre, for å gå videre til å installere den.

I neste vindu vil veiviseren for Legg til maskinvare vise en liste over alle drivere som er tilgjengelige på systemet for den valgte enhetstypen, sortert etter maskinvareprodusent. Hvis du er sikker på at en av de foreslåtte driverne passer for utstyret ditt, velg den nødvendige produsenten i venstre del av vinduet, og den nødvendige driveren i høyre del. Etter det kan du prøve å installere den ved å klikke på knappen Lengre(Fig. 16.6). Dette vil få opp et bekreftelsesvindu der du må klikke på knappen igjen. Lengre(Fig. 16.7).

Etter at driverinstallasjonen er bekreftet, kopierer veiviseren for Legg til maskinvare de nødvendige driverne til systemet og prøver å initialisere enheten. Hvis initialiseringen av enheten var vellykket, vil du se et vindu med en melding om at driveren for enheten ble riktig installert og at enheten er klar til å fungere. Ellers vil veiviseren rapportere at installasjonen mislyktes og enheten ikke kan startes, eller at det er noen problemer (fig. 16.8).

Ris. 16.6. Angi driveren for enheten


Ris. 16.7. Bekreft driverinstallasjonen

Har du spørsmål?

Rapporter en skrivefeil

Tekst som skal sendes til våre redaksjoner: