Орнотуучу TAP адаптерин түзүү мүмкүн болбогонун айтат, жана бул сүйлөм кеминде үч түрдүү катаны камтыйт. Пакет эч качан даярдалбаган болушу мүмкүн, ал даярдалып, бирок түзмөк түзүлбөгөн болушу мүмкүн, же түзмөк бар болуп, орнотуучу аны бир жалпы ката катары билдирген көйгөйлүү абалда болушу мүмкүн. Ушулардын кайсынысы экени ким оңдой турганын жана кандай далил керек экенин аныктайт.

Баарынан мурун build номери менен орнотуу убакыт белгисин жыйнаңыз. Экөө тең журналдар папкасын чынында иштетүүгө боло турган издөөгө айландырат.

Үч баскыч, үч башка журнал

Биринчи баскыч — орнотуучунун өзү: ал файлдарды ачат, өз журналын жүргүзөт жана 1603 сыяктуу жыйынтык кодду билдирет, ал транзакция ишке ашпаганын айтат, бирок кайсы жерде экенин айтпайт. Экинчиси — драйвер кампасы, анда кол коюлган пакет кийин колдонуу үчүн даярдалат, бул аны аппараттык камсыздоого байлоодон башка жетишкендик. Үчүнчүсү — түзмөк түзүү: Windows түзмөктүн даанасын курат, INF колдонот жана жыйынтыгын setupapi журналына жазат. Ушул баскычтардын каалаган экөөсүнүн ортосундагы үнсүз боштук колдонуучуга көрүнгөн ошол эле сүйлөмдү жаратат.

Жыйынтык код транзакцияга таандык, ал эми ишке ашпаган аракет ошол эле журналдын алда канча мурун жагында. Кодду түшүндүрүүгө аракет кылбай, коддон артка карай издеңиз.

Аракеттин айланасындагы setupapi.dev.log окуу

Ар бир түзмөк орнотуусу C:\Windows\INF\setupapi.dev.log ичине бир бөлүм жазат, жана SetupAPI журналынын колдонмосу ал бөлүмдөр менен алардын акыркы абалы кантип уюшулганын түшүндүрөт. Убакыт белгиси сиздин аракетиңизди камтыган бөлүмдү таап, аны толук окуңуз, көзүңүзгө илинген биринчи ката сабын эмес. Байланышсыз түзмөктөр тууралуу эскертүүлөр узун журналдын боюнда кездешет жана бул ишке ашпоо тууралуу эч нерсе түшүндүрбөйт. Дал келген бөлүмдүн акыркы абалы — отчётто келтирүүгө татыктуу факт.

Ошол бөлүмдү адаптердин аты, түзмөктүн идентификатору жана орнотуучунун журналында аталган INF пакети менен байланыштырыңыз. Бир убакыт белгисинде үч идентификатордун дал келиши байлоону коопсуз кылат.

Пакетти жана түзмөктү өзүнчө текшерүү

Даярдалган пакет кол коюлган INF драйвер кампасына жеткенин гана далилдейт. Бул Windows муунунда pnputil /enum-drivers үчүнчү тараптын пакеттерин жеткирүүчү, класс, версия жана жарыяланган ат боюнча тизмелейт, бул oem номеринен болжолдоонун ордуна OpenVPN адаптеринин пакетин табууга мүмкүндүк берет. Ал тизмеде түзмөктүн бар экени, иштеп баштаганы же табылган пакетке байланганы тууралуу эч нерсе айтылбайт. Алар — өзүнчө жооптору бар өзүнчө суроолор.

Түзмөк тарабынын өз көрүнүшү бар. Окууга гана арналган адаптер тизмеси Windows азыр интерфейс тууралуу эмнени ойлой турганын көрсөтөт, ал эми жашыруун жазуулар бар болгону менен активдүү эмес түзмөктөрдү камтыйт. Эки тизмени салыштыруу кайсы баскыч ишке ашпаганын айтат: пакет жок, түзмөк жок же түзмөк бар, бирок көйгөйлүү абалда.

Кол тамгаларга тийүүдөн мурун адаптерди текшерүү

Абалды орнотуучунун жыйынтыгынан эмес, машинанын өзүнөн окуңуз. Төмөнкү буйруктар даярдалган драйвер пакеттерин, жашыруун жазууларды кошкондо адаптер тизмесин жана OK деп билдирбеген тармактык түзмөктөрдү тизмелейт. Аларды кайра жүктөөдөн кийин иштетиңиз, күтүп турган түзмөк операциялары бүтсүн.

pnputil /enum-drivers
Get-NetAdapter -IncludeHidden | Select-Object Name, InterfaceDescription, Status
Get-PnpDevice -Class Net | Where-Object Status -ne 'OK'

Пакет бар, бирок ага дал келген түзмөк жок болсо, бул түзмөк түзүүгө ишарат кылат, жана ошол убакыт белгисинин setupapi бөлүмү себебин түшүндүрөт. Көйгөйлүү абалдагы түзмөк драйверге же анын кол тамгасына ишарат кылат, бул жок түзмөк тууралуу сүйлөшүүдөн башка. Бар болуп, ажыратылганын билдирген адаптер активдүү туннели жок иштеп турган түзмөк, ишке ашпаган орнотуу эмес. Оңдой турган баскычты тандаардан мурун үч чыгышты чогуу окуңуз.

Кол тамга текшерүүсүн өчүрүү, тармактык стекти кайра коюу же бардык адаптерлерди жок кылуу далилдерди жоготуп жиберет. Ошол үчөөнүн эч бири сиз али аныктай элек баскычты оңдобойт, жана ар бири кайсы баскыч экенин айта турган нерсени алып салат.

Тектеш макалалар