Асуудалтай драйверийг тодорхойлохын тулд Driver Verifier-г ашиглах. DRIVER_VERIFIER_DETECTED_VIOLATION цэнхэр дэлгэцийн алдааг хэрхэн засах вэ (0x000000C4) Компьютер дээр эвдэрсэн драйверийг хэрхэн олох вэ

Android-д зориулсан 31.10.2021
Android-д зориулсан

Жолоочтой хийсэн аливаа туршилт нь аюултай бөгөөд системийг гэмтээж болзошгүйг бид танд анхааруулж байна. Системийн нөөцлөлтийг урьдчилан хийж, дараа нь Windows-ээс өөр сэжигтэй драйверийг устгах замаар хуруугаа огтлохгүй байх нь дээр.

Тэгээд тэд загнахгүй болмогцоо Windows-аас Microsoft, хөөрхий хүнийг удаан, алдаатай, бүр тогтворгүй гэж нэрлэдэг. Зөвхөн одоо л хэн ч татгалзах гэж яарахгүй байгаа бөгөөд ерөнхийдөө тэд хэзээ ч татгалзахгүй байх магадлал багатай юм. Тиймээс, ядуу хөгжүүлэгчдийг загнаж, утгагүй дөл тараахын оронд яагаад систем нь алдаатай байгааг олж мэдэх нь зүйтэй болов уу? Би чамд жаахан нууц хэлье. Үхэл, тогтворгүй ажлын зартай дэлгэцэнд WindowsИхэнх тохиолдолд гуравдагч талын драйверууд буруутай бөгөөд үйлдлийн систем өөрөө үүнтэй огт хамаагүй. Одоо бид ийм драйверуудыг хэрхэн илрүүлж, системээс устгахыг танд хэлэх болно.

Жолоочийн дизайны согог нь маш өөр шинж чанартай байж болно: үхлийн цэнхэр дэлгэц рүү унахаас ( BSOD- Үхлийн цэнхэр дэлгэц) болон компьютер удааширч, драйвертай огт холбоогүй зарим хэрэглээний програмуудын хачирхалтай үйлдэл.

Үхлийн цэнхэр дэлгэц нь ноцтой асуудал байгааг тодорхой харуулж, хаана ухах талаар зөвлөгөө өгдөгөөрөө гайхалтай (ямар ч инээдэмгүй!) юм. Ихэнхдээ (гэхдээ үргэлж биш) "гэм буруутай" жолоочийн нэрийг үхлийн цэнхэр дэлгэцийн баруун дээд буланд шууд харуулдаг. Гэсэн хэдий ч энэ нь байхгүй байж магадгүй, эсвэл бүр дордвол огт гадаад жолоочийн нэр байж болно.

Жишээлбэл, нэг видео картын нэлээд түгээмэл драйвер Матрокс G450график дэд системийн үндсэн бүтцийг устгах хандлагатай байдаг Windows 2000 , үр дүнд нь BSOD нь системийн драйверын нэрийг харуулсан win32k.sys, энэ нь USER болон GDI функцуудын нэлээд хэсгийг хэрэгжүүлдэг бөгөөд мэдээжийн хэрэг үүнтэй ямар ч холбоогүй юм. Тиймээс үхлийн цэнхэр дэлгэцийн гэрчлэлийн тайлбар нь ид шид, зөн совин, шинжлэх ухаан, урлаг - бүх зүйлээс бага зэрэг юм.

Цэнхэр дэлгэц нь жолоочийн согогоос гадна процессорыг хэтрүүлсэн, RAM буруу, хатуу дискний хянагч хазайсан, PCI картыг үүрэнд бүрэн оруулаагүй, компьютерийн аль нэгэнд нь муу холбоо барьснаас болж үхлийн цэнхэр дэлгэц үүсч болно. холбогч, тэжээлийн хангамж муу, эх хавтан дээрх хавдсан электролитийн конденсатор. Сүүлийнх нь янз бүрийн шалтгааны улмаас гацдаг: ойролцоох процессорын хэт халалтаас болж керамик конденсатор дутагдалтай байгаа тул үйлдвэрлэгчээс "дутуу мэдээлсэн" (үүний үр дүнд HF бүрэлдэхүүн хэсэг нь электролитээр дамжин түүнийг халаадаг), эцэст нь. зангилааны тогтворжуулагч дахь гол транзисторын алдагдал. Тиймээс мод хагалахаасаа өмнө бидний сууж буй индүү бүрэн ажиллагаатай эсэхийг шалгах хэрэгтэй. Мөн үүнийг яаж хийх вэ?

Төмөртэй тулалдах

Техник хангамжийн эвдрэлээс үүдэлтэй үхлийн цэнхэр дэлгэц нь хэрэглэгчийн тодорхой үйлдлээс үл хамааран аяндаа гарч ирдэг. Хэрэглээний програмууд нь янз бүрийн газруудад чухал алдаа гаргаж эхэлдэг бөгөөд системээс гаргасан алдааны код, хаяг болон бусад мэдээлэл бүх тохиолдолд өөр байх болно! Дашрамд хэлэхэд утасгүй сүлжээ гэх мэт I/O төхөөрөмжүүдийн асинхрон хүсэлтийг боловсруулдаг драйверууд бараг адилхан ажилладаг. Согогтой жолоочоос үүдэлтэй үхлийн цэнхэр дэлгэц нь тодорхой үйлдлийг гүйцэтгэх үед тохиолддог бөгөөд байнгын мэдээлэл агуулсан байдаг.

Техник хангамжаас бүх сэжигийг арилгахын тулд өөр хатуу дискийг системд холбож, үүн дээр цэвэрхэн диск суулгахад хангалттай. Windowsтэгээд хэсэг хугацаанд ажилла. Хэрэв үхлийн цэнхэр дэлгэц арилахгүй бол үнэхээр техник хангамж буруутай бөгөөд үүнийг өөрчлөх цаг болжээ. Согогтой бүрэлдэхүүн хэсгүүдийг хайх нь тусдаа хэлэлцэх сэдэв бөгөөд бид дараагийн удаад үлдээх болно, гэхдээ одоохондоо бид ханцуй шамлан эдгээр зальтай жолооч нартай тэмцэх болно.

Гэрчилгээгүй түлээ нэн даруй зууханд хийнэ

Жолооч хөгжүүлэхэд шаардлагатай бүхэл бүтэн хэрэгслүүд ( DDK– Driver Development Kit), Майкрософт дагалдах баримт бичгийн хамт үнэ төлбөргүй түгээдэг. Жолооч нар, заримдаа маш алдаатай, тогтворгүй байдаг.

Ийм эмх замбараагүй байдал үүсэхээс урьдчилан сэргийлэхийн тулд MicrosoftЭрт дээр үед энэ нь жолооч нарт тавигдах шаардлагад нийцэж байгаа эсэхийг баталгаажуулах журмыг нэвтрүүлсэн бөгөөд үүний дараа жолоочид тоон гарын үсэг олгодог. Эсвэл ... гаргаагүй бөгөөд тэрээр засварлахаар явсан. Хэдийгээр гэрчилгээжүүлэх нь ноцтой алдаа, хөгжлийн согог байхгүй гэдгийг баталгаажуулдаггүй албан ёсны журам боловч зарим илэн далангүй "анхдагч" жолооч нарыг устгасан хэвээр байна.

Тохиромжтой бол зөвхөн тоон гарын үсэгтэй драйверуудыг системд хадгалах ёстой. Хэдийгээр тоон гарын үсэг нь даатгалын бодлого биш боловч түүний оршин тогтнох нь хөгжлийн тодорхой түвшний соёлыг харуулж байна. Гарын үсэг зураагүй драйверууд нь муурнаас ч дор байдаг тул боломжтой бол устгах хэрэгтэй (ялангуяа тэдгээрийн олонх нь системд гүн нэвтэрч, тогтворгүй болоход хүргэдэг rootkit эсвэл түрэмгий хамгаалалтын механизмаар суулгасан хортой програмууд байдаг). ). Товчхондоо, энэ нь демагогийг үүсгэхгүй, гэхдээ нэг энгийн асуултанд хариулахыг хичээцгээе: тоон гарын үсэггүйгээр жолооч нарын жагсаалтыг хэрхэн гаргах вэ?

Энэ хэрэгсэл нь бидэнд туслах болно. sigverif.exe, стандарт үйлдлийн системийн нийлүүлэлтийн багцад багтсан бөгөөд WINNT\System32 лавлахад байрладаг. Үүнийг ажиллуулаад харилцах цонхыг харна уу. Бид "Нарийвчилсан" товчийг дарж, "Хайлт" таб дээр "Гарын үсэг зураагүй системийн файлуудын талаар мэдэгдэх" байрлалаас (анхдагчаар суулгасан) радио товчлуурыг "Бусад файл хайх" байрлал руу шилжүүлж сонгох шалгуурыг тохируулна. тоон гарын үсгээр гарын үсэг зураагүй." Үүний дараа "Хайлтын сонголтууд" хэсэгт "Дараах төрлийн файлуудыг хайх" нүдийг нээгээд "*.sys" -ийг сонгоод доороос бид "C: \ WINNT" хайх хавтсыг зааж өгнө. "Дэд хавтас оруулах" хайрцаг.

Үнэнийг хэлэхэд, драйверууд нь sys өргөтгөлтэй байх шаардлагагүй бөгөөд үргэлж WINNT лавлахаар хязгаарлагдахгүй, "өөрсдийн" програмуудын лавлах хэсэгт байдаг бөгөөд зарим програмууд бүр драйверуудыг дотроо хадгалдаг! Ажиллуулсны дараа шууд (эсвэл өөр ямар ч үед) тэд файлыг одоогийн эсвэл түр зуурын санд хадгалж, драйверийг санах ойд ачаалж, ... тэр даруй дискнээс устгана! Зөвхөн хортой вирусууд төдийгүй Windows-ийн алдартай судлаач Марк Руссиновичийн зарим хэрэгслүүд гэх мэт нэлээд нэр хүндтэй програмууд үүнийг хийдэг.

Тиймээс туршилтын цэвэр байдлын үүднээс санах ойд байгаа драйверуудын жагсаалтыг авч, дискэн дээрх драйверуудтай харьцуулах нь бидэнд огтхон ч хор хөнөөл учруулахгүй. Драйверуудыг ачаалах / буулгах нь үйлдлийн системийг дахин ачаалахгүйгээр үнэгүй хийх боломжтой тул "одоогийн байдлаар" гэсэн үгс нь түлхүүр юм. Microsoft серверээс татаж авах боломжтой DDK-ийн нэг хэсэг болох drivers.exe командын мөрийн хэрэгслийг ажиллуулж энэ үйлдлийг хэд хэдэн удаа хийхийг зөвлөж байна. Ямар ч командын шугамын шилжүүлэгчгүйгээр эхлүүлсэн, хэрэгсэл drives.exeЭнэ нь бүх мэдээллийг дэлгэцэн дээр хаядаг бөгөөд энэ нь тийм ч сайн биш, учир нь системд ихэвчлэн олон драйвер байдаг бөгөөд тэдгээр нь дэлгэцэн дээр таардаггүй. Гэсэн хэдий ч шашин бидэнд гаралтын урсгалыг ямар ч текст засварлагчаар нээгдсэн текст файл ( drivers.exe > file-name.txt ) руу шилжүүлэх боломжийг олгодог - тэр ч байтугай Word, тэр ч байтугай notepad. Дараа нь босоо блокыг сонгоход л үлддэг (тэмдэглэлийн дэвтэр зөвшөөрөхгүй), драйверуудын жагсаалтыг авах болно. Үйлдлийн системийн цөмөөс шууд!

Хэрэв эдгээр драйверуудын ядаж нэг нь C:\WINNT\ лавлахад байхгүй бол түүний дижитал гарын үсгийг баталгаажуулахгүй! Мэдээжийн хэрэг, ийм жолооч тэр даруй анхаарлыг татдаг бөгөөд бидэнд үндэслэлтэй асуулт байна: энэ нь хаанаас ирсэн бэ? Эхлээд бид диск дээрх бүх сангуудыг сканнердах; Хэрэв тэнд байхгүй бол Soft-Ice-ийн CreateFileW функц дээр таслах цэг тавьж, түүнд дамжуулсан аргументуудыг харна уу. Эрт орой хэзээ нэгэн цагт бид алдаатай жолоочтойгоо уулзах бөгөөд үүний дараа үүнийг үүсгэсэн процессын нэрийг харуулсан Soft-Ice дэлгэцийн баруун доод буланд харах л үлдлээ. Дэлгэрэнгүй мэдээллийг "Эх кодгүй программуудыг дибаг хийх арга техник" номноос үзнэ үү, түүний цахим хуулбарыг ftp эсвэл http-server nezumi.org.ru дээрээс, мөн манай дискнээс олж болно. Мөн бид хэрэгслийг үргэлжлүүлэн тарчлаасаар байна sigverif.exe.

"OK", "Start" товчийг дарсны дараа дэлгэцэн дээр "термометр" гарч ирэх бөгөөд энэ нь явцыг харуулсан бөгөөд хатуу диск нь бүх толгойгоороо дуугарч эхэлнэ. Ажил дууссаны дараа тоон гарын үсэггүй жолооч нарын жагсаалтыг эмхэтгэн дэлгэцэн дээр гаргана.

Зарим халуун толгойтнууд системийг тэрсээс цэвэрлэхийн тулд гарын үсэг зураагүй бүх жолооч нарыг устгахыг санал болгож байна - тэгвэл бүх асуудал сүүл шиг арилна гэж тэд хэлдэг. Мөн үүнийг яаж хийх вэ? Хамгийн бүдүүлэг шийдэл бол тэдгээрийг FAR эсвэл Explorer ашиглан дискнээс аваад устгах явдал юм (мэдээж администраторын эрхтэй!). Гэхдээ ийм үйлдлийн үр дагавар нь маш гунигтай байж болох бөгөөд Explorer дээрх драйверын дүрс дээр хулганы баруун товчийг дарж "Properties" хэсгээс үйлдвэрлэгчийн нэрийг олж, аль нь болохыг тодорхойлох нь дээр. програм / техник хангамжийн хэсэг нь энэ драйверийг суулгаж, соёлтой аргаар устгана. Нэг "гэхдээ" байгаа нь үнэн.

Дараах зураг нь жолоочийг онцлон харуулав g400m.sys, Matrox G450 карттай хамт ирдэг бөгөөд Matrox нь сул компани биш ч гэсэн дижитал гарын үсэг аваагүй (эсвэл Майкрософт өгөөгүй, эсвэл Matrox өөрөө төвөг учруулахыг хүсээгүй). Мэдээжийн хэрэг, үүнийг системээс устгасны дараа та SVGA горимын талаар мартах хэрэгтэй болно. Гэсэн хэдий ч та драйверын хамгийн сүүлийн хувилбарыг татаж авах замаар Matrox вэбсайт руу орж болно (энэ нь аль хэдийн дижитал гарын үсэг зурсан). Зөвхөн одоо ... гарын үсэг зурсан болон гарын үсэг зураагүй хувилбарууд нь олон ноцтой алдааг агуулж байна, ялангуяа давхцах горимд шилжихийг оролдох үед тодорхой нөхцөл байдлын хослолын үр дүнд драйвер суллах гэж оролдох үед систем BSOD руу унадаг. аль хэдийн суллагдсан санах ой.

Тиймээс тоон гарын үсэг байгаа / байхгүй байгаа нь өөрөө юу ч гэсэн үг биш бөгөөд бид зөвхөн гарын үсэг зурсан драйверуудыг ашигладаг байсан ч энэ нь бидэнд тогтвортой байдлын баталгаа өгөхгүй.

Эндээс бид өгүүллийн хоёр дахь хэсэг, тухайлбал, тулалдаанд ойрхон нөхцөлд жолооч нарыг турших явдал юм.

Бид түлээний жинхэнэ туршилтыг зохион байгуулдаг

DDK нь гайхалтай хэрэгсэл агуулдаг жолооч Баталгаажуулагч, жолооч нарын хувьд хамгийн хүнд нөхцөлийг бүрдүүлдэг, хэт туйлширч, амиа хорлоход хүргэдэг, алдаа гарах магадлал хамгийн их байдаг, гэмтэлтэй жолоочийн нэрийг хамгийн өндөр нарийвчлалтайгаар тодорхойлдог (хөгжлийн доголдлоос болж хохироогүй байсан ч, гэхдээ бусад драйверуудын өгөгдлийн бүтцийг устгадаг).

Үүнийг анхаарах нь чухал юм жолооч БаталгаажуулагчЭнэ нь эмчилгээ биш, зөвхөн оношлогооны хэрэгсэл юм. Энэ нь таныг бүтэлгүйтлээс аврахгүй хэвээр байх болно (эсрэгээр, энэ нь тэдний эрчмийг хэд хэдэн дарааллаар нэмэгдүүлэх болно), гэхдээ энэ нь "дундаж" жолоочийг хангалттай итгэлтэйгээр тодорхойлоход тусална.

Тиймээс verifier.exe-г ажиллуулаад цонхыг харна уу жолооч Баталгаажуулагч менежер, "Тохиргоо" таб руу очоод радио товчийг "Бүх драйверуудыг шалгах" байрлал руу шилжүүлсний дараа бид "Давуулагдсан тохиргоо" товчийг дарж дараах төрлийн шалгалтуудыг (баталгаажуулах төрөл) тохируулна.

  • Онцгой усан сан- шалгагдсан драйверуудад санах ойн тусгай талбайг хуваарилах бөгөөд энэ нь тийм ч хурдан биш боловч өөрийн болон бусад хүмүүсийн өгөгдлийг устгах ихэнх хэлбэрийг илрүүлэх чадвартай.
  • хүч IRQLшалгаж байна. IRQL нь Interrupt Request Level гэсэн үгийн товчлол юм. Драйвер хөгжүүлэгчдийн гаргадаг хамгийн нийтлэг алдаа бол своп менежер ажиллахгүй байгаа IRQL дээр санах ой руу нэвтрэхийг оролдох явдал юм. Хэрэв шаардлагатай хуудас гэнэт диск рүү шахагдсан бол систем нь "IRQL_LESS_OR_EQULAR" гэсэн бичээстэй цэнхэр дэлгэц болж хувирна. Энэ горимыг албадан ажиллуулах нь драйверын хуудсуудыг диск рүү шилжүүлэхэд хүргэдэг бөгөөд ингэснээр хөгжлийн согог нь 100% тохиолдолд илэрдэг.
  • Бага нөөц симуляциСистемийн нөөц хомсдсон тохиолдолд драйвер хэрхэн ажиллахыг харахын тулд суулгах нь ашигтай боловч үүнийг хийх боломжгүй, гэхдээ Pool tracking checkbox-ыг (санах ойн сантай харьцах зөв эсэхийг хянах) орхисон нь дээр. ). Оролт / гаралтын алдаа (I / O баталгаажуулалт) нь бүх алдааны өчүүхэн хэсгийг бүрдүүлдэг тул энэ тэмдэглэгээний байрлал нь ерөнхийдөө огт шүүмжлэлтэй байдаггүй.

Тохиргоог сонгоод дууссаны дараа бид "Хэрэглэх" (хэрэглэх) товчийг дарж, бидэнд санал болгосноор бид дахин ачаална.

Ачаалж эхэлмэгц систем мэдэгдэхүйц удаашрах бөгөөд үүнийг хийх ёстой, учир нь цөм нь ердийнхөөс илүү их шалгалт хийдэг. Алдаа олдвол жолоочийн нэр болон хөгжүүлэгчдэд хэрэгтэй бусад мэдээлэл бүхий үхлийн цэнхэр дэлгэц анивчдаг, гэхдээ бидний хувьд ашиггүй. Бидний хийж чадах зүйл бол драйвераа хамгийн сүүлийн хувилбар руу шинэчлэх эсвэл түүнийг ашигладаг программыг (техник хангамж) ашиглахаа зогсоох явдал юм. Үнэндээ бид түүхий түлээ асаах арай илүү сонголттой, гэхдээ дараа нь энэ талаар илүү дэлгэрэнгүй ярих болно.

Та verifier.exe-г ажиллуулснаар баталгаажуулалтын статусыг хүссэн үедээ мэдэх боломжтой. Жолоочийн статус таб нь одоогийн нөхцөл байдлын тайлбар бүхий бүх илрүүлсэн драйверуудын статусыг жагсаав. Ачаалагдсан төлөв нь энэ драйверийг дор хаяж нэг удаа ачаалж, туршсан гэсэн үг юм (гэхдээ бүрэн гүйцэд биш байж магадгүй, өөрөөр хэлбэл драйверын бүх хэсгийг боловсруулаагүй байж магадгүй). Буулгасан төлөв нь драйверийг систем/программ эсвэл өөрийн хүслээр ачаалж, шалгасан (хэсэгчилсэн байж магадгүй) болон буулгасан гэсэн үг юм. Сүүлийнх нь өргөтгөлийн картыг үүрнээс харгислалтайгаар сугалж, өөрөөр хэлбэл устгах ажиллагаа хийлгүйгээр устгасан тоног төхөөрөмжөөс үлдсэн драйверуудын хувьд үнэн юм. Амьд үлдсэн жолооч автобусыг сканнердаж, "түүний" тоног төхөөрөмжөө хайж олохыг хичээж, хайлтаа тасалж, дараа нь санах ойноосоо буулгаж, системийн ачааллыг удаашруулж (заримдаа маш их ач холбогдолтой) бусад жолооч нартай зөрчилддөг. Ёс суртахуун: бүх дүрмийн дагуу системээс тоног төхөөрөмжийг зайлуулах ёстой! Гэсэн хэдий ч Unloaded статус бүр хэвийн бус байдлын шинж тэмдэг биш бөгөөд ийм статустай жолоочийг устгахаасаа өмнө ямар төрлийн цаа буга, хаанаас ирсэн болохыг олж мэдэх хэрэгтэй.

Хэзээ ч ачаалагдаагүй төлөв нь энэ драйверийг хараахан ачаалагдаагүй байгааг харуулж байгаа бөгөөд энэ нь баталгаажуулаагүй гэсэн үг тул та түүнтэй холбоотой байж болох янз бүрийн програмуудыг эхлүүлэх замаар хүлээх хэрэгтэй. Гэсэн хэдий ч зарим драйверууд (ялангуяа буруу устгасан) ачаалагдаагүй бөгөөд үүний дагуу хэзээ ч шалгагдаагүй болно.

Хэсэг хугацааны турш хатуу туршилтын горимд системтэй ажилласны дараа (хэдэн цагаас хэдэн өдөр хүртэл) бид өмнө нь зовж байсан бараг бүх гэмтэлтэй жолооч нарыг тодорхойлж, тэдний нэрийг цаасан дээр бичнэ.

Та ижил баталгаажуулагчийг ашиглан системийг хэвийн горимд (өөрөөр хэлбэл гүйцэтгэлийг бууруулдаг нэмэлт шалгалтгүйгээр) буцааж болно. Бид "Тохиргоо" таб руу буцаж очоод, "Сонгосон драйверуудыг шалгах" байрлал руу радио товчийг зөөж (энэ тохиолдолд драйвер сонгох ёсгүй), "Бүгдийг дахин тохируулах" дээр дарж, "Хэрэглэх" дээр дараад дахин ачаална уу. Бүгд! Одоо систем хэвийн хурдтай ажиллаж байгаа боловч шалгалт байхгүй.

Түүхий модоор юу хийх вэ?

Гэхдээ үнэндээ гэмтэлтэй жолоочийг яах вэ? Дибаглагчийг гартаа хэрхэн яаж барихаа мэддэг, хангалттай чөлөөт цагтай хакерууд үүнийг задлах боломжтой (баярлалаа, жолооч нар ихэвчлэн жижиг хэмжээтэй байдаг), алдаа олж, түүнийг засах арга замыг гаргаж ирдэг, гэхдээ ... энэ хэтэрхий их хөдөлмөрлөдөг.

Драйверыг (үүнийг ашигладаг техник хангамж/програмын хамт) хаях нь бас сонголт биш юм. Хэдийгээр танихгүй хятад үйлдвэрлэгчийн 20 долларын үнэтэй дууны карт нь үхлийн цэнхэр дэлгэцийн буруутан болох нь мэдэгдэж байгаа бол бид үүнийг илүү зохистой зүйлээр солих хангалттай хүсэл эрмэлзэлтэй байна. Гэхдээ энэ нь үнэн хэрэгтээ хүн бүрт ойлгомжтой бөгөөд нэмэлт тайлбар хийх шаардлагагүй юм.

Гэхдээ нэг процессортой орчинд боловсруулсан (болон туршсан) драйверийг хос процессортой машин дээр суулгасантай холбоотой асар олон тооны осол, үхлийн цэнхэр дэлгэцүүд гэдгийг хүн бүр мэддэггүй. Энд "хос процессор" гэж бид хоёр чулуутай жинхэнэ платформ, Hyper-Threading / олон цөмт процессорыг хоёуланг нь хэлж байна. Гэрийн компьютерт хоёр процессор огт хэрэггүй гэдэг нь мэдэгдэж байгаа (мөн олон тооны туршилтаар батлагдсан), учир нь ихэнх програмуудад гүйцэтгэл бараг байдаггүй.

Тиймээс, хэрэв систем тогтворгүй, ямар нэг шалтгааны улмаас гэмтэлтэй драйвераас салах боломжгүй бол та "виртуал хос процессор" машинаа нэг процессор болгон хувиргаж BIOS тохиргоо руу орохыг оролдож болно. . Үүнтэй төстэй үр нөлөөг boot.ini файлыг (компьютер дээр Windows NT/2000/XPЭнэ нь систем суулгасан логик дискний үндсэн директорт байрладаг) болон түүнд /ONECPU түлхүүрийг нэмээд дараа нь алдаа арилна гэж найдаж дахин ачаална уу.

Жагсаалт 1

Ердийн boot.ini файлын жишээ


завсарлага = 30

олон(0)диск(0)диск(0)хуваалт(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS

Жагсаалт 2

Бид системийг бүх боломжит процессоруудаас зөвхөн нэг процессор ашиглахаар тохируулдаг


завсарлага = 30
анхдагч=олон(0)диск(0)диск(0)хуваалт(1)\WINNT
multi(0)диск(0)диск(0)хуваалт(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS /ONECPU

Гэхдээ дээр Windows Vista boot.ini файл байхгүй бөгөөд ачаалах тохиргоогоо хэрэглүүрээр тохируулах (түр зуурын) сонголт байгаа ч Microsoft энэ цоорхойг бүхэлд нь арилгахаар төлөвлөж, зөвхөн BIOS тохиргоог үлдээхээр төлөвлөж байна. Гэсэн хэдий ч, тухайд Vista, дараа нь үүн рүү шилжих үед драйвер хөгжүүлэгчид олон процессортой машин худалдаж авах магадлалтай (учир нь өөр машин худалдаанд гарахгүй) бөгөөд олон процессорын орчинд бүтээлээ турших болно.

Өөр нэг нарийн цэг. Драйвер хөгжүүлэгчдийн гаргадаг хамгийн нийтлэг алдаа бол своп менежер ажиллахгүй байгаа IRQL түвшний санах ойд хандах явдал бөгөөд хэрэв хүссэн хуудас санах ойд байхгүй бол гацах тохиолдол гардаг гэдгийг бид дээр хэлсэн гэдгийг санаарай. Энд байгаа тодорхой шийдэл бол RAM-ийг хуудсуудыг диск рүү шилжүүлэхэд бараг тохиолддоггүй хэмжээгээр нэмэгдүүлэх явдал юм. Санах ойн үнээр бараг хүн бүр хэд хэдэн шинэ "шоо" худалдаж авах боломжтой. Гэхдээ асуудлыг шийдэх илүү хүртээмжтэй (мөн илүү гоёмсог) шийдэл байдаг. Хэрэв параметр PagingExecutive-г идэвхгүй болгох, дараах бүртгэлийн салбарт байрладаг HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement, нэгтэй тэнцүү (анхдагчаар тэг), цөмийн бүрэлдэхүүн хэсгүүд нүүлгэн шилжүүлэхгүй. Тиймээс бид зүгээр л "Бүртгэлийн засварлагч"-ыг ажиллуулж, энэ үнэт параметрийг өөрчилж, дахин ачаална (өөрчлөлтүүд дахин ачаалсны дараа л хүчин төгөлдөр болно), энэ нь бүтэлгүйтлийн асуудлыг шийдвэрлэхэд тусална гэж найдаж байна.

Ийм тохиолдолд Windows XP дээр драйверууд хэр зөв ажиллаж байгааг шалгахын тулд тусгай хэрэгсэл байдаг verifier.exe. Хэрэгсэл жолооч Баталгаажуулагч, жолооч нарт хамгийн хүнд нөхцөлийг бүрдүүлдэг бөгөөд энэ нь бүтэлгүйтэх магадлал маш өндөр бөгөөд амжилтгүй болсон жолоочийн нэрийг хамгийн өндөр нарийвчлалтайгаар тодорхойлдог. Тиймээс, системчилсэн бус алдаа гарсан тохиолдолд хэрэгслийг ажиллуулах нь ашигтай байдаг жолооч баталгаажуулагч.exe.Энэ хэрэгсэл нь Windows-д багтсан бөгөөд лавлахад байрладаг тул Verifier-ийг татаж авах шаардлагагүй Windows\system32


1 хамтран ажиллаж байна баталгаажуулагч.exe

1.1. Гүйцгээе verifier.exe.Эхлэх - Ажиллуулах - Баталгаажуулагч.exe:

1.3. Хэрэгсэл жолооч баталгаажуулагч.exeдахин ачаалахыг хүсэх болно:



1.4. Бүртгэлд хоёр шинэ параметр гарч ирнэ:


-- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDriverLevel

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers


-тай холбоотой бүртгэлийн тохиргоо жолооч баталгаажуулагч.exe

2 Туршилтын үр дүн

2.1. Хэрэв хэрэгслийн эхний цонхонд байгаа бол жолооч баталгаажуулагч.exeсонгох "Одоо туршсан драйверуудын талаарх мэдээллийг харуулах",тэгвэл ийм цонх гарч ирнэ. Энэ нь ямар жолооч шалгагдаагүй, аль нь шалгагдаагүй байгааг харуулж байна. дарах "Цаашид", та шалгагдсан драйверуудын талаарх бусад мэдээллийг харж болно:



2.2. Жолоочдыг хэрэгслийг ашиглан шалгасны үр дүнд жолооч баталгаажуулагч.exeсистемд гэмтэл учруулах боломжтой. Драйверуудыг шалгах явцад алдаа гарвал системийн алдаа болон. Ердийн кодууд болон алдааны кодуудыг доор харуулав.

0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
0xC9: DRIVER_VERIFIER_IOMANAGER_ЗӨРЧИЛ
0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
0xE6: DRIVER_VERIFIER_DMA_ЗӨРЧИЛ


2.3. Програмаар дамп тайлах жишээ :


3. Хэрэгтэй холбоосууд

Driver Verifier хэрэгсэл (verifier.exe) нь BSOD-ийн дараа санах ойн хаягдлын шинжилгээ хийхэд асуудалтай драйверийг олж чадаагүй тохиолдолд асуудалтай драйверуудыг шинжлэхэд зориулагдсан. Жолооч баталгаажуулагч нь хамгийн асуудалтай нөхцөл байдалд аврагч юм.

Driver Verifier-ийн тусламжтайгаар та дараахь зүйлийг хийх боломжтой.

    жолоочийн стресс тест (нөөцийн хомсдолын нөхцөлийг загварчилсан);

    буфер халих хяналт;

    тухайн IRQL дээр буруу үйлдлээс үүссэн алдааг хянах;

    оролт-гаралтын алдааны шинжилгээ;

    мухардмал нөхцөл байдлыг илрүүлэх гэх мэт.

Driver Verifier хэрэгсэл нь дараах тохиолдолд маш хэрэгтэй байж болно.

    администратор (хэрэглэгч) энэ драйвер нь системийг сүйрүүлэхэд хүргэдэг гэж сэжиглэж байгаа бөгөөд энэ нь үнэхээр тийм эсэхийг шалгахыг хүсч байна;

    жолооч хөгжүүлэгчид жолоочоо шалгахыг хүсдэг;

    BSOD-ийн дараа овоолгод дүн шинжилгээ хийхдээ асуудалтай драйвер олох боломжгүй юм.

Санах ойн хаягдлын шинжилгээний хамгийн хэцүү тохиолдлуудын нэг бол драйвер нь хуваарилсан буфер дуусахаас өмнө эсвэл дараа нь өгөгдлийг андуурч дарж бичих явдал юм. Ийм тохиолдолд үйлдлийн системийн цөмд алдаа гардаг (жишээлбэл, BSOD-ийн дараах овоолгын шинжилгээ нь алдаа ntoskrnl.exe-ээс үүссэн болохыг харуулж байна).

Үүнтэй төстэй тохиолдлыг тодорхой жишээгээр авч үзье. NotMyfault хэрэгслийг ашигласнаар бид BSOD - "Буфер халих" үүсгэдэг.

windbg ашиглан овоолгын шинжилгээний үр дүнг доорх хавсралтад оруулсан болно.

Хогийн цэгийн шинжилгээгээр бид авдаг.

1. Arg1: 00000007, аль хэдийн суллагдсан бассейныг чөлөөлөх оролдлого (аль хэдийн суллагдсан усан санг чөлөөлөх оролдлого байсан)

2. IMAGE_NAME: ntkrpamp.exe (системийн цөм нь өөрөө үүнтэй холбоотой)

Ийм алдаа гарсан тохиолдолд баталгаажуулагч аврах ажилд ирдэг.

Бид баталгаажуулагчийг эхлүүлнэ.

"Стандарт бус тохиргоог үүсгэх" -ийг сонгоно уу. Дараа нь "Жагсаалтаас сонголтуудыг сонгох" гэснийг сонгоно уу.

Бид "Баялгийн хомсдолын дуураймал"-аас бусад бүх зүйлийг сонгодог.

Дараа нь "Энэ жагсаалтад ачаалаагүй драйверуудыг сонго" гэснийг сонгоод NotMyfault.exe програмтай нэг директорт байрлах myfault.sys драйвер руу очих замыг зааж өгнө үү.

Дараа нь драйвераа тэмдэглээд "Finish" дээр дарна уу. Үүний дараа бид компьютерээ дахин эхлүүлэх хэрэгтэй.

Бид эхний үетэй ижил алхмуудыг гүйцэтгэдэг. NotMyfault.exe-г ажиллуулаад "Buffer overflow"-ыг сонгоод "Crash" дээр дарна уу. Таны анзаарсанчлан сүйрэл тэр дороо тохиолдохгүй байж магадгүй, учир нь энэ санах ойтой хэн, хэзээ ажиллахыг урьдчилж мэдэхгүй байна. Доорх зурган дээрээс харж байгаагаар баталгаажуулагчийн ачаар систем нь асуудалтай драйверийг тодорхойлж чадна.

BSOD-ийн дараа санах ойн хаягдлын windbg.exe-д !analyze –v ашиглан хийсэн шинжилгээг энд үзүүлэв.

Баталгаажуулагч програм нь үүнийг шалгаж буй драйвер нь цөмийн цөмд байдаг энгийн санах ойн оронд ийм алдааг илрүүлэх зориулалттай тусгай сан ашигладаг. Үүний ачаар та BSOD-ийг үүсгэдэг драйверийг олох боломжтой.

Шинжилгээний үр дүнг харвал бид дараахь зүйлийг харж байна.

1. ЖОЛООЧ_ХУУДАС_АЛДАА_ХУВААРЛАА_ДЭЭД_END_OF_(d6) - Энэ нь баталгаажуулагчийн үүсгэсэн алдаануудын нэг юм

2. IMAGE_NAME: myfault.sys - асуудал үүсгэсэн жолооч.

Тиймээс, BSOD-ийн дараа санах ойн хаягдлын шинжилгээ нь "гэм буруутай драйвер" -ийг олох боломжийг танд олгохгүй бол verifier.exe програмыг ашиглана уу (санах ойн хомсдолоос бусад бүх шалгалтыг суулгана уу).

Driver Verifier (verifier.exe)-г ашиглах хамгийн хялбар арга бол үүнийг дараах параметрүүдээр ажиллуулах явдал юм.

баталгаажуулагч /стандарт / драйвер драйвер файлын нэр

Нийтлэл үзсэн тоо: 1042

Хэрэгсэл жолооч Баталгаажуулагч Windows XP-ээс эхлэн Windows-ийн бүх хувилбарт багтсан бөгөөд драйверийг шалгах, асуудал үүсгэж буй драйверуудыг тодорхойлох боломжийг олгодог. үхлийн цэнхэр дэлгэц (BSOD- Үхлийн цэнхэр дэлгэц) болон асуудалтай драйверын талаар дэлгэрэнгүй мэдээллийг санах ойн хаягдал руу бичиж, цаашдын дүн шинжилгээ хийх. Тус хэрэгсэл нь туршиж үзсэн драйверуудыг янз бүрийн зүйлд хүргэдэг. стресс тестүүд”, янз бүрийн эрс тэс нөхцөлийг дуурайлган хийх: санах ойн хомсдол, оролт / гаралтын хяналт, IRQL, түгжрэл, DMA шалгалт, IRP гэх мэт. бүтээмжтэй систем дээр ховор тохиолддог нөхцөл байдлыг дуурайж, тэдгээрт байгаа жолоочийн зан байдлыг хянадаг. Хэрэгслийн зорилго нь драйвер нь BSOD-тэй системийн эвдрэлд хүргэж болзошгүй нөхцөл байдлыг тодорхойлох явдал юм.

Driver Verifier хэрэгслийн гүйцэтгэх файлыг дуудна баталгаажуулагч.exeбөгөөд %windir%\system32 санд байрладаг. Хэрэгслийг ашиглах хоёр сонголт байдаг: тушаалын мөрөөс эсвэл график интерфэйсийг ашиглах.

Windows 8-д драйвер баталгаажуулах горимыг идэвхжүүлэхийн тулд "Драйвер баталгаажуулагч" хэрэгслийг бичиж ажиллуулна уу

Баталгаажуулагч

Даалгаврын жагсаалтаас сонгоно уу Тусгай тохиргоог үүсгэх (код хөгжүүлэгчдэд зориулсан)болон дарна уу Дараачийн.

Сонголтуудыг сонгосон эсэхийг шалгаарай стандарт тохиргоо, Хүлээгдэж буй оролт/гаралтын хүсэлтүүдийг албадахболон IRP бүртгэл. дарна уу Дараачийн.

Дараа нь сонгоно уу.

Үйлчилгээ үзүүлэгч баганын гарчиг дээр дарж хүснэгтийн агуулгыг эрэмбэлж, драйверуудын жагсаалтаас шалгахыг хүссэн драйверуудаа сонгоно уу. Бидний жишээн дээр бид хөгжүүлэгч биш бүх драйверуудыг шалгах болно Microsoftкорпораци. Бид драйверуудыг сонгосон: e1g6032e.sys (Intel) болон lsi_sas.sys (LSI).

Анхаарна уу. Драйвер нь Майкрософт дижитал гарын үсэгтэй байгаа нь тухайн драйвер тогтвортой байдлын талаар тодорхой туршилт хийсэн бөгөөд үүний дараа код нь өөрчлөгдөөгүй болохыг харуулж байна. Ийм учраас хэрэглэхийг зөвлөдөггүй.

Энэ нь дарахад л үлддэг Дуусгамөн өөрчлөлтүүд хүчин төгөлдөр болохын тулд системийг дахин ачаалах шаардлагатай гэсэн мэдээллийн цонх гарч ирнэ.

Зөвлөгөө. Драйверыг шалгах горимыг тушаалын мөрөөс идэвхжүүлж болно. Жишээлбэл, Driver Verifier-г myPCDriver.sys-ийн анхдагч тохиргоогоор ажиллуулахын тулд тушаал дараах байдалтай харагдана.

Баталгаажуулагч /стандарт / драйвер myPCDriver.sys

Дахин ачаалсны дараа систем драйвер шалгах горимд ачаалагдана. Жолооч баталгаажуулагч нь ард ажиллаж, сонгосон драйверууд дээр алдаа гаргахын тулд янз бүрийн төрлийн шалгалт хийдэг. Компьютерээ ердийнхөөрөө ашиглаад BSOD гарч ирэхийг хүлээнэ үү. Хэрэв та өмнө нь ямар үйлдлүүд систем гацахад хүргэснийг мэдэж байгаа бол тэдгээрийг давтана уу. BSOD гарсан тохиолдолд та санах ойн дамп файлыг (анхдагчаар C:\Windows\Minidump\*.dmp санд хадгалсан) эсвэл түүнтэй адилтгах файлыг хуулах ёстой.

Чухал! Driver Verifier ашиглан драйверын дибаг хийх горимыг идэвхжүүлсний дараа энэ горимыг албадан идэвхгүй болгох хүртэл ажиллана.

Хэрэв асуудал 1-2 хоногийн дотор давтагдахгүй бол тодорхой хэмжээгээр шалгаж байгаа драйверууд нь системийн эвдрэлийн шалтгаан биш гэж дүгнэж, шалгах горимыг унтрааж болно.

Зөвлөгөө. Windows Driver Verifier-ийг ашиглах нь Windows-ийг ихээхэн удаашруулдаг тул энэ горимд байнга ажиллахыг зөвлөдөггүй.

Та тушаалын мөрөөс Жолооч баталгаажуулагчийн шалгалтыг идэвхгүй болгож болно:

Баталгаажуулагч / дахин тохируулах

Эсвэл GUI-ээс тухайн зүйлийг сонго Одоо байгаа тохиргоог устгана уу.

Хэрэв та ердийн горимд системд нэвтэрч чадахгүй бол аюулгүй горимоос дибаг хийх горимыг идэвхгүй болгож болно.

Хэрэв систем аюулгүй горимд ч ачаалахгүй бол ачаалах дискнээс ачаалах замаар бүртгэлээс дараах түлхүүрүүдийг устгана уу.

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDrivers
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\VerifyDriverLevel

Та Driver Verifier хэрэгслийн одоогийн байдлыг дараах байдлаар шалгаж болно.


Заримдаа техник хангамжтай холбоотой DRIVER_VERIFIER_DETECTED_VIOLATION цэнхэр дэлгэцийн алдаа нь санах ойн (RAM) гэмтлээс үүдэлтэй байж болно. Хэрэв та компьютерийг санамсаргүй дахин эхлүүлэх, ачаалах дохио болон бусад асуудалтай тулгарвал (0xC4 BSOD алдаанаас гадна) санах ойн гэмтэл гарсан байх магадлалтай. Үнэн хэрэгтээ Windows програмын эвдрэлийн бараг 10% нь санах ойн гэмтлээс үүдэлтэй байдаг.

Хэрэв та саяхан компьютер дээрээ шинэ санах ой нэмсэн бол DRIVER_VERIFIER_DETECTED_VIOLATION алдаа гаргахгүй байгаа эсэхийг шалгахын тулд үүнийг түр хугацаанд арилгахыг зөвлөж байна. Хэрэв энэ үйлдэл нь BSOD-г зассан бол энэ нь асуудлын эх үүсвэр бөгөөд шинэ санах ой нь таны зарим техник хангамжид тохирохгүй эсвэл эвдэрсэн байна. Энэ тохиолдолд та шинэ санах ойн модулиудыг солих шаардлагатай болно.

Хэрэв та шинэ санах ой нэмээгүй бол дараагийн алхам бол таны компьютерийн одоо байгаа санах ойд оношилгооны тест хийх явдал юм. Санах ойн тест нь санах ойн ноцтой доголдол, 0xC4 үхлийн цэнхэр дэлгэцийг үүсгэж болзошгүй үе үе алдааг хайх боломжийг танд олгоно.

Windows-ийн сүүлийн үеийн хувилбарууд нь RAM-ийн туршилтын хэрэгсэлтэй байдаг ч оронд нь Memtest86-г ашиглахыг зөвлөж байна. Memtest86 нь Windows орчинд ажилладаг бусад туршилтын програмуудаас ялгаатай нь BIOS-д суурилсан туршилтын програм хангамж юм. Энэхүү аргын давуу тал нь уг хэрэгсэл нь DRIVER_VERIFIER_DETECTED_VIOLATION алдаа байгаа эсэхийг БҮХ үйлдлийн санах ойг шалгах боломжийг олгодог бол бусад програмууд нь тухайн програм, үйлдлийн систем болон бусад ажиллаж байгаа програмуудын эзэлдэг санах ойн хэсгийг шалгах боломжгүй байдаг.



Бид уншихыг зөвлөж байна

Топ