Upravljanje naprav v sistemu Windows. Windows Kako naložiti gonilnike in storitve v Windows Kako ohraniti konfiguracijo gonilnika med ustvarjanjem slike Windows


Kategorija ~ Tehnični nasveti – Igor (administrator)

Opomba: Kljub dejstvu, da spletno mesto ne daje jasne izjave o združljivosti s 64-bitnimi različicami operacijskega sistema Windows, se je program v 64-bitnem sistemu Windows 7 precej dobro počutil.

Vmesnik ServiWin je narejen precej preprosto in priročno. Preklapljate lahko med seznami gonilnikov in sistemskih storitev (meni z ikonami - prva dva) ter prilagodite prikaz in vrstni red 16 možnih stolpcev. Poleg tega vam pripomoček omogoča izvoz podatkov v html in odpiranje ustreznih registrskih ključev za gonilnike ali storitve. Z desnim klikom na gonilnik ali storitev se prikaže kontekstni meni, ki vam omogoča ne samo upravljanje stanja, temveč tudi iskanje v Googlu, kar bo nedvomno koristno za tiste, ki morajo razumeti, kaj se dogaja v računalniku. Prav tako imate možnost določiti vrsto zagona gonilnika (onemogočeno, samodejno itd.). Pravzaprav je to precej redka lastnost. V bistvu vam pripomočki tega razreda omogočajo samo ogled seznama gonilnikov.

ServiWin je resnično odlično orodje za napredne uporabnike. Vendar morate razumeti, da kot pri vsakem orodju, ki spreminja nastavitve sistemskih komponent, lahko nepravilna konfiguracija ali onemogočanje pomembnih delov sistema povzroči resne težave. Če torej ne veste, čemu služi gonilnik ali storitev, naj vas ne vodi radovednost in ne spreminjajte nastavitev, ne da bi se prej seznanili z njihovim namenom.

Opomba: Seveda lahko ustvarite varnostno kopijo diska ali sistema Windows in po tem naredite spremembe. Kljub temu bodite previdni, saj se lahko onemogočanje gonilnikov, kot so tipkovnice, z vami kruto šali.

Zdaj veste, kako upravljati gonilnike in storitve Windows ter veste, kako pridobiti podrobne informacije o vsakem od njih.

V prejšnjem delu te serije smo si ogledali dva pristopa (»naj Windows odloči« in »naj se odločim jaz«), ki ju je mogoče uporabiti za upravljanje zunanjih gonilnikov pri izvajanju namestitve Lite Touch z uporabo MDT 2010. V tem delu bomo Zaključite pogovor o problemu upravljanja voznikov, tukaj bo nekaj nasvetov, trikov in zgodba. Prvo zgodbo mi je posredoval eden od naših bralcev, Tim Lors, in je odličen vizualni primer težav, na katere lahko naletite, ko poskušate upravljati gonilnike med namestitvijo:

"Pred več kot enim letom sem napisal skript programske opreme, ki namesti vse gonilnike v računalnik z WinXP. Težava, na katero sem naletel pri izbiri gonilnikov, ni bila povezana z operacijskim sistemom. Proizvajalec ni pravilno implementiral PnP med inf datotekami gonilnikov in strojno opremo Natančneje, datoteka inf je nakazovala, da je to najboljši gonilnik za določeno strojno napravo, čeprav v resnici s tako napravo ni delovala. Edini način za izbiro ustreznega gonilnika v tako težki situaciji je bila primerjava identifikacijske številke PnP strojne opreme s seznamom znanih problematičnih gonilnikov, in če sem našel ujemanje, sem ročno izbral ustrezen gonilnik na podlagi dodatnih kriterijev, običajno številke modela računalnika. Najpogostejše dodatno merilo, potrebno za izbiro "naj se odločim", je bila številka modela računalnika, vendar je včasih vključevala različico BIOS-a in ID podnabora PnP, v nekaterih redkih primerih pa je šlo za poskus in napako. Seveda je poskus in napaka precej težaven, ker ko je Windows namestil gonilnik, ki se mu je zdel najprimernejši, je moral nedelujoči gonilnik izolirati iz sistema Windows ali pa ga je sistem preprosto znova namestil. Upoštevajte, da je do te situacije prišlo v okolju, ki je vsebovalo skoraj 10.000 osebnih računalnikov v več kot 25 različnih modelih."

Večina IT strokovnjakov, s katerimi sem govoril, mi je povedala, da so gonilniki eden največjih glavobolov, in zgornja zgodba to samo dokazuje. Torej, ko sem zadnje štiri dele posvetil tej temi, želim končati razpravo o voznikih z nekaj nasveti in triki, ki vam bodo olajšali življenje.

Iskanje gonilnikov

Prvi izziv je najti samostojne gonilnike, ki jih morda potrebujejo vaši sistemi. Nekateri proizvajalci to olajšajo, drugi ne, Dell pa je del prve skupine, ker ponuja gonilnike za vsak namizni sistem v obliki datoteke .cab za vsak operacijski sistem. Če želite prenesti te datoteke .cab, pojdite na http://www.delltechcenter.com/ in v drsnem meniju na levi izberite Domov, Microsoft, Microsoft System Center, SCCM " System Center Configuration Manager, Dell Business Client Operating System Deployment , Dell Business Client Operating System Deployment " Datoteke .CAB in videli boste stran, prikazano na sliki 1:

Slika 1: Prenos gonilnikov za odjemalske sisteme Dell kot datoteke .cab

Ko je datoteka .cab prenesena, jo lahko izvlečete v mapo in se nato sklicujete na to mapo, ko uvažate gonilnike v namestitveno skupno rabo.

Tudi drugi proizvajalci ponujajo orodja za prenos gonilnikov, vendar po mojem mnenju ta orodja niso tako enostavna ali priročna kot Dellov pristop. Tukaj je nekaj primerov takih orodij in povezav do njih:

Ekstrahiranje datotek INF iz EXE

Včasih proizvajalci sistemov zagotovijo gonilnike naprav v obliki datotek .exe namesto datotek .cab. V tem primeru je odličen nabor orodij WinRAR, ki vam omogoča ekstrahiranje datotek gonilnika iz datoteke .exe v mapo. Ne pozabite, da MDT za uvoz gonilnika potrebuje datoteko .inf in ustrezne datoteke gonilnika; datoteke .exe ni mogoče uvoziti kot gonilnik.

Preprečevanje vklopa gonilnikov

Če želite preprečiti, da bi bil gonilnik, ki ste ga uvozili, omogočen (če na primer vaši testi pokažejo, da gonilnik po namestitvi povzroča težave), preprosto odprite lastnosti gonilnika in počistite polje Omogoči ta gonilnik (slika 2):

Slika 2: Gonilnik lahko onemogočite ali omogočite

Upoštevajte, da je bil zgornji gonilnik zasnovan za 32-bitne in 64-bitne sisteme Windows. Če ugotovite, da ne deluje v 64-bitnem sistemu Windows, lahko gonilnik pustite omogočen, vendar počistite polje x64, kar bo preprečilo njegovo omogočenje med namestitvijo 64-bitnega sistema Windows.

Če želite, lahko celo onemogočite vse gonilnike v mapi tako, da onemogočite mapo (slika 3):

Slika 3: V namestitvenem viru lahko onemogočite mapo po meri

Upravljanje zagonskih gonilnikov z uporabo izbirnih profilov

Izbirne profile lahko uporabite tudi za upravljanje gonilnikov med fazo zagona Windows PE namestitve LTI. Če želite to narediti, odprite lastnosti namestitvenega vira in izberite zavihek Komponente Windows PE x64 ali Komponente Windows PE x86 za upravljanje gonilnikov za arhitekturo OS, ki ga nameščate (slika 4):

Privzeto je izbran izbirni profil Vsi gonilniki in paketi, vendar so v zagonsko sliko Windows PE vključeni samo omrežni in pomnilniški gonilniki iz tega izbirnega profila. Po potrebi lahko ustvarite svoj izbirni profil, ki bo vključeval gonilnike za strojno opremo WinPE za vaše ciljne sisteme.

Uporaba več skupin gonilnikov za namestitev glede na znamko in model

V prejšnjem delu smo si ogledali, kako definirati eno skupino gonilnikov, imenovano DriverGroup001, in jo uporabiti za upravljanje gonilnikov med namestitvijo na podlagi znamke in modela ciljnih računalnikov. Keith Garner, strokovnjak za uvajanje sistemov pri Xtreme Consulting Group, ima odlično objavo, ki daje več informacij o tej temi in vam pokaže, kako lahko učinkoviteje organizirate gonilnike in nato uporabite več skupin gonilnikov, da upravljate, kako so omogočeni med namestitvijo.

Druga uporabna objava je ta objava o uporabi vzdevkov modelov, ki jo je napisal Michael Mergolo, višji svetovalec pri Microsoft Consulting Services.

Dodajanje gonilnikov v sliko

Z ukazom DISM.exe lahko dodate gonilnike slikam brez povezave; preprosto namestite sliko in uporabite ukaz DISM z možnostjo /add-driver (za več informacij o uporabi DISM.exe).

Če želite dodati gonilnike v shrambo gonilnikov (tj. vnaprej predstaviti gonilnike, tako da so na voljo, ko Windows prepozna naprave, ki potrebujejo gonilnike), lahko uporabite ukaz PnPutil.exe. Ta ukaz je lahko koristen, če ste na primer uporabili Microsoftov katalog posodobitev za prenos datoteke .cab z gonilniki tiskalnika in želite te gonilnike vnaprej predstaviti v referenčnem računalniku, tako da so ti gonilniki na voljo med namestitvijo. Več informacij o tem ukazu lahko najdete v in.

Vzdrževanje konfiguracije gonilnika med slikanjem sistema Windows

Nazadnje, če ustvarite referenčno sliko in jo namestite na enako strojno opremo, lahko zagotovite hitrejšo izkušnjo prvega zagona za uporabnike tako, da konfigurirate parametre PersistAllDeviceInstalls v vaši odzivni datoteki za sistemsko pripravo vašega referenčnega računalnika. Glej podrobnosti

Vrstni red nalaganja gonilnikov in storitev v sistemu Windows



Za tiste, ki jih zanima notranje delovanje operacijskega sistema Windows, predlagam malo raziskave. Poskušali bomo ugotoviti, kaj je odgovorno za vrstni red nalaganja gonilnikov in storitev v sistemu Windows in ali je ta vrstni red mogoče spremeniti.

Najprej si poglejmo trenutni vrstni red zagona sistema s programom LoadOrder podjetja Sysinternals. Program nam bo ob zagonu operacijskega sistema pokazal, kaj je naloženo in v kakšnem vrstnem redu.

Kot je razvidno iz slike, se najprej naložijo gonilniki naprav, potrebni za zagon sistema, nato pa različne storitve Windows. Ker obstaja nekaj razlik med nalaganjem storitev in nalaganjem gonilnikov, jih bomo obravnavali ločeno.

Vozniki

Kot preizkusni predmet vzemimo gonilnik Microsoft ACPI (Advanced Configuration and Power Interface), ki skrbi za zaznavanje strojne opreme in upravljanje porabe energije. Naloga ACPI je omogočiti komunikacijo med operacijskim sistemom in strojno opremo, zato se gonilnik ACPI naloži na samem začetku.

Program Loadorder ponuja precej omejene informacije o vrstnem redu nakladanja, zato gremo po natančnejše podatke v register. Vsak gonilnik in storitev Windows ima svoj razdelek v veji registra HKLM\SYSTEM\CurrentControlSet\Services. Razdelki so poimenovani po imenu gonilnika\storitve, zato potrebujemo razdelek ACPI.

Trije parametri registra nadzorujejo vrstni red nalaganja gonilnika. Glavni parameter Začetek- določa vrsto zagona gonilnika. Tu so pravila, po katerih gonilniki nastavijo vrednost svojega parametra Start:

Vozniki, ki bi morali naloži sistemski zagonski nalagalnik ob zagonu operacijskega sistema, označite vrednost Začetek enaka 0 (zagon ob zagonu sistema ). Primer so gonilniki sistemskega vodila in gonilnik datotečnega sistema, ki se uporablja pri zagonu sistema;
Voznik, ki ni potreben neposredno za zagon sistema, kaže na Začetek vrednost enaka 1 (zagon sistema ). Primer - standardni gonilnik video kartice (VgaSave);
voznik, ni potreben za zagon sistema, nastavi vrednost Začetek enaka 2 (samodejni zagon). Primer je gonilnik za več ponudnikov UNC (MUP), ki podpira imena UNC oddaljenih virov (tip);
Vozniki, ni potreben za delovanje operacijskega sistema(na primer gonilniki omrežne kartice), navedite vrednost Začetek enaka 3 (zagon na zahtevo ).

Gonilniki naprav lahko uporabljajo tudi parametre skupina in Oznaka za nadzor vrstnega reda zagona ob zagonu sistema. Gonilniki\storitve uporabljajo parameter skupine za navedbo skupine, ki ji pripadajo, vrstni red nalaganja skupin pa določa parameter Seznam, ki se nahaja v razdelku HKLM\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder\.

Mimogrede, parameter skupine ni potreben. Če gonilnik\storitev ni vključen v nobeno skupino, se naloži na samem koncu čakalne vrste.

Gonilnik lahko dodatno izboljša svoj vrstni red nalaganja z uporabo parametra Tag, ki določa določen položaj gonilnika v skupini. I/O Manager razvrsti gonilnike v skupini glede na vrednost tega parametra, gonilniki, ki nimajo parametra Tag, pa so premaknjeni na dno seznama gonilnikov v skupini.

Če pogledate vrstni red nalaganja, bi morda pomislili, da se najprej naložijo gonilniki z manjšimi vrednostmi oznak, nato pa tisti z večjimi, vendar to ni povsem res. Prednost vrednosti parametrov oznake znotraj skupine je določena v razdelku HKLM\SYSTEM\CurrentControlSet\Control\GroupOrderList.

Na primer, odprimo binarni parameter Boot Bus Extender, ki ustreza istoimenski skupini, ki ji pripada gonilnik ACPI. Parameter je niz dvojnih besed (vsaka po 4 bajte). Prva beseda (označena z rdečo) podaja skupno dolžino spremenljivke (število dvojnih besed), v našem primeru 06. Preostale dvojne besede so le oznake. Gonilnik ACPI ima oznako enako 01 (označeno z zeleno).

Prioriteta oznake ni določena z vrednostjo oznake, temveč z njenim položajem: višje kot je oznaka, višja je njena prioriteta v skupini in višja je prioriteta gonilnika, ki mu ta oznaka ustreza. In ker je 01 višja od drugih oznak, se gonilnik ACPI naloži prvi v skupini.

Storitve

Vrstni red nalaganja storitev Windows se nekoliko razlikuje od vrstnega reda nalaganja gonilnikov. Vzemimo za primer storitev samodejnega posodabljanja (wuauserv). Ni posebej kritičen za delovanje sistema in se zato naloži zadnji.

Pojdimo še enkrat v register. Parametri zagona storitve se nahajajo v razdelku HKLM\SYSTEM\CurrentControlSet\Services\wuauserv. Identificiral sem dva glavna parametra, ki sta odgovorna za vrstni red nalaganja te storitve.

Storitve Windows zažene Service Control Manager (SCM) glede na vrednost parametra Začetek. Ta parameter za storitve ima lahko naslednje vrednosti:

Samodejni zagon (2) - storitev se zažene samodejno, takoj po zagonu glavnega procesa SCM Services.exe;
Zagon na zahtevo (3) - storitev se zažene po potrebi, na zahtevo katere koli storitve ali programa;
Onemogočeno (4) - storitev je onemogočena in se pod nobenim pogojem ne bo zagnala.

Vrednosti 0 (začetek ob zagonu sistema) in 1 (začetek s sistemom) za storitve ni mogoče določiti, samo za gonilnike naprav.

Poleg tega se je od Windows Vista\Server 2008 pojavil še en način zagona za storitve - odloženi samodejni zagon. Za to je odgovoren parameter DelayedAutoStart = 1, ki sporoča SCM, naj samodejno zažene to storitev z zamikom. SCM zažene storitve, ki so nastavljene na odloženi zagon, potem ko so naložene storitve, ki so označene za samodejni zagon.

Način zagona storitve je mogoče nadzorovati ne samo iz registra, ampak tudi v grafičnem načinu, s konzole storitev.

Tako kot gonilniki lahko storitve Windows uporabijo parameter skupine v svojem registrskem ključu, da označijo skupino, ki ji pripadajo. Zdaj pa zaradi jasnosti vzemimo našo storitev wuauserv, ki se nahaja čisto na koncu seznama za prenos. S tipko Group ga bomo postavili v skupino Event Log, znova zagnali in pogledali vrstni red nalaganja v Loadorder. Kot lahko vidite, se je vrstni red spremenil in wuauserv se je dvignil z zadnjega mesta ter se naloži takoj za sošolcem - storitvijo dnevnika dogodkov. Res je, vrstnega reda uvrstitve znotraj skupine ni mogoče spremeniti, ker Oznaka se ne uporablja za storitve.

In še en parameter, ki posredno vpliva na vrstni red nalaganja storitev - DependOnService. Označuje, od katerih storitev je storitev odvisna. V skladu s tem se storitev ne naloži, dokler niso naložene storitve, navedene v DependOnService.

Odvisnosti delujejo na naslednji način - če so storitve v isti skupini, se odvisna storitev premakne na konec seznama in se začne za storitvami, od katerih je odvisna. Če sta skupini različni, se storitev preprosto ne bo zagnala in SCM bo ustvaril napako.

To je jasneje prikazano v snap-inu Storitve, kjer so na zavihku Odvisnost navedene storitve, od katerih je določena storitev odvisna, in storitve, ki so odvisne od nje.

Tako smo ugotovili, v kakšnem vrstnem redu so gonilniki in storitve naloženi v sistemu Windows in kako je mogoče ta vrstni red spremeniti. Toda preden pohitite z urejanjem registra, ne pozabite, da se vrstni red nalaganja gonilnikov in storitev določi samodejno in ga ne smete spreminjati brez dobrega razloga. Samo en nepravilno nastavljen parameter lahko povzroči popolno nedelovanje sistema in ni nobenega zagotovila, da ga bo mogoče obnoviti. Zato pred začetkom urejanja registra obvezno naredite njegovo varnostno kopijo, priporočljivo pa je tudi, da imate pri roki zagonski medij.

Ker je Windows večopravilni sistem, izključuje takšne svoboščine za aplikacijske programe, kot je neposreden dostop do V/I vrat ali obravnavanje prekinitev strojne opreme. Interakcijo s strojno opremo na nizki ravni lahko izvajajo samo sistemski programi, ki se izvajajo v privilegiranem načinu. Gonilniki naprav imajo tukaj pomembno vlogo.

Windows uporablja večnivojsko strukturo gonilnika, v kateri lahko gonilniki na visoki ravni delujejo kot filtri, ki izvajajo posebno obdelavo podatkov, prejetih iz gonilnika na nizki ravni ali posredovanih v gonilnik na nizki ravni. Primer bi bil ločiti gonilnik, ki krmili vodilo, od gonilnikov za določene naprave, povezane z vodilom. Drug primer je gonilnik, ki izvaja šifriranje/dešifriranje podatkov pri delu z datotečnim sistemom NTFS. Za strukturo gonilnikov na vseh ravneh veljajo enotni standardi, znani kot WDM (Windows DiverModel), vendar gonilniki na visoki ravni za razliko od gonilnikov na nizki ravni ne obravnavajo strojnih prekinitev.

Nenavadno je, da v sistemu WindowsNT gonilniki nizke ravni niso najnižja raven upravljanja naprav. Še bližje strojni opremi je tako imenovana raven HAL (Hardware Abstractions Level). Njegova vloga je, da pred drugimi moduli OS, vključno z gonilniki, skrije nekatere podrobnosti dela s strojno opremo, odvisno od posameznih vodil, vrste matične plošče in načina povezave. Na primer, HAL gonilnikom omogoča dostop do registrov naprav z njihovimi logičnimi številkami, ne da bi vedeli, ali je register povezan s procesorskimi vrati ali preslikanim pomnilnikom.

Kljub standardizaciji strukture lahko ločimo več posebnih vrst gonilnikov, ki se razlikujejo po funkcionalnosti.

    Gonilniki GDI (GraphicDeviceInterface) so gonilniki na visoki ravni za grafične naprave (monitorje, tiskalnike, risalnike). Ti gonilniki prevedejo grafične klice sistema Windows (kot so risanje črte, območje zapolnjevanja, izpis besedila, izbira trenutne pisave, trenutno pero, trenutno zapolnjevanje) v ukaze, ki izvajajo ustrezna dejanja na določeni napravi. Izdajanje teh ukazov napravi opravi drug gonilnik nizke ravni. Zahvaljujoč prisotnosti gonilnikov GDI lahko isti program oddaja grafične slike v različne naprave. Odličen primer tega je način predogleda, ki je na voljo v različnih urejevalnikih in prikazuje strani na zaslonu točno tako, kot bodo natisnjene.

    Gonilniki tipkovnice in miške poleg standardnih operacij gonilnika izvajajo dodatno obremenitev. Ustvarjajo sporočila o dogodkih na ustrezni napravi (pritisk in spuščanje tipk, premikanje miške, pritisk in spuščanje tipk na miški) in jih postavljajo v sistemsko čakalno vrsto sporočil. Sistem nato vsako sporočilo posreduje procesu, v katerega je bil namenjen za nadaljnjo obdelavo.

    Gonilniki za virtualizacijo naprav (gonilniki VxD) služijo za deljenje naprav med procesi, kar ustvarja iluzijo, da ima proces izključno lastništvo nad napravo. Pravzaprav gonilnik organizira čakalno vrsto zahtev iz procesov, preklopi napravo v način, potreben za naslednji proces itd. Primer bi bil gonilnik za virtualizacijo monitorja. Konzolna aplikacija (na primer program MS-DOS) deluje s celotnim zaslonom v besedilnem načinu. Če pa se taka aplikacija zažene v oknu Windows, potem gonilnik VxD simulira besedilni način v grafiki. Da bi to naredil, mora gonilnik prestreči programske poskuse neposrednega dostopa do naslovov video pomnilnika in pretvoriti koordinate znanih lokacij besedilnega načina v koordinate ustreznih položajev v oknu.

    Za upravljanje storitev v sistemu Windows se uporabljajo naslednja orodja:
  • Snap-in services.msc je najbolj priročno orodje za upravljanje storitev;
  • Program msconfig.exe - poleg upravljanja storitev omogoča tudi nadzor zagona sistema Windows (glejte poglavje Uporabni pripomočki Windows 7);
  • Ukaza net in sc se uporabljata za upravljanje storitev iz ukazne vrstice. Kliknite gumb Start, vnesite services.msc in pritisnite Enter. Videli boste snap-in za upravljanje storitev.

Ugotovimo, kako upravljati storitve. Dvokliknite na katero koli storitev - izberite katero koli, trenutno nas nobena posebna storitev ne zanima. Videli boste okno lastnosti storitve.


Zavihek Splošno vsebuje ime storitve, opis storitve, ime izvršljive datoteke storitve in gumbe za nadzor storitve. Tukaj lahko spremenite vrsto zagona. Na seznamu Vrsta zagona lahko izberete eno od vrst zagona storitve.

    Polje Status prikazuje trenutno stanje storitve:
  • Teče - storitev je trenutno zagnana in deluje;
  • Ustavljena - storitev ne deluje;
  • Začasno ustavljeno - storitev deluje, vendar je trenutno začasno ustavljena.
    Gumbi za nadzor storitev:
  • Start - zažene ustavljeno (ali še ne zagnano) storitev;
  • Ustavi - ustavi storitev;
  • Prekinitev - začasna ustavitev izvajanja storitve (vse storitve ne podpirajo ustavitve); Za nadaljevanje izvajanja storitve uporabite gumb Nadaljuj;
  • Nadaljuj - nadaljujte s storitvijo.

Ničesar še ni treba spreminjati, da ne bo negativno vplivalo na vaš sistem. Bolje je, da greste na zavihek Odvisnosti: tam boste izvedeli, od katerih drugih storitev je odvisna ta storitev in katere druge storitve so odvisne od nje.
Upoštevajte, da če so druge storitve odvisne od storitve in storitev zaustavite, se bodo prenehale izvajati tudi vse odvisne storitve.