استفاده از تأیید کننده درایور برای تعمیر صفحه آبی مرگ. نحوه شناسایی درایورهای مشکل دار با تأیید کننده درایور عیب یابی خطاهای تأیید درایور

درایور برنامه ای است که برای تعامل سیستم عامل و نرم افزارهای مختلف با دستگاه های سخت افزاری متصل به آن ضروری است. اجزای سخت‌افزاری مانند صدا، کارت‌های ویدئویی، چاپگرها، اسکنرها و همگی به یک درایور سازگار نیاز دارند تا به درستی کار کنند.

تمام درایورهای دستگاه برای سیستم عامل های خاص طراحی شده اند. به عنوان مثال درایورهای ویندوز XP با درایورهای ویندوز ویستا متفاوت خواهند بود.بنابراین لازم است در هنگام نصب و به روز رسانی درایورهای دستگاه احتیاط بیشتری انجام دهید زیرا نصب درایورهای نادرست یا ناسازگار نه تنها به دستگاه، بلکه به سیستم شما نیز آسیب می رساند.

علل رایج خطاهای درایور

برخی از دلایل رایج خطاهای راننده در زیر ذکر شده است:

  • شما سعی می کنید از یک دستگاه سخت افزاری استفاده کنید که به درستی به رایانه شما متصل نیست.
  • دو یا چند درایور روی سیستم با یکدیگر ناسازگار هستند.
  • درایور یا درایورهای نصب شده با سیستم شما سازگار نیستند.
  • درایورهای غیر ضروری یا قدیمی روی رایانه شخصی وجود دارد.

مراحل رفع خطاهای درایور
اولین قدم برای رفع خطای درایور این است که مطمئن شوید دستگاه به درستی به سیستم شما متصل است. بسیاری از دستگاه ها خطاهای مربوط به اتصال را ارائه می دهند، بنابراین مطمئن شوید که دستگاه شما به درستی به سیستم شما متصل است. در مرحله بعد، باید مطمئن شوید که درایورها مشکلی ندارند. می توانید این کار را با استفاده از ابزار Device Manager که با سیستم رایانه ویندوز شما ارائه می شود انجام دهید. با اجرای مستقیم می توانید Device Manager را باز کنید devmgmt. msc از خط فرمانشروع کنید> تکمیل شدآی تی. وقتی Device Manager را باز می کنید، لیستی از تمام دستگاه های متصل به سیستم خود را مشاهده خواهید کرد. شما به راحتی می توانید یک فایل معیوب را شناسایی کنید زیرا با یک مثلث زرد با علامت تعجب در داخل آن مشخص می شود. روی یک دستگاه کلیک راست کنید تا گفتگوی خصوصیات آن باز شود. در کادر محاوره‌ای خواص، بخش را علامت بزنید وضعیت دستگاهزبانه عمومی. درایورها در تب Drivers پنجره خواص نمایش داده می شوند. در اینجا، یکی از وظایف زیر را انجام دهید:

  • بررسی و نصب به روز رسانی درایور:درایورهای قدیمی یکی از دلایل اصلی خطای درایورها هستند برای حل این مشکل روی دکمه کلیک کنید درایور را به روز کنیدجادوگر به روز رسانی سخت افزار باز می شود. برای به روز رسانی درایور می توانید از ویزارد استفاده کنید.توصیه می شود ابتدا به روز رسانی درایور را دانلود کرده و در مکانی مناسب روی هارد دیسک خود ذخیره کنید و سپس فرآیند به روز رسانی را شروع کنید زیرا ویزارد به روز رسانی از شما می خواهد که مکانی را برای آن مشخص کنید. آپدیت را نصب کنید
  • عقبگرد راننده:اگر مدت کوتاهی پس از نصب به‌روزرسانی جدید شروع به دریافت خطا کردید، احتمالاً به‌روزرسانی جدید باگ است. برای رفع این مشکل، روی دکمه کلیک کنید عقبگرد رانندهبرای بازگشت به نسخه درایور قبلی خود.
  • حذف درایور:اگر مشکلاتی در درایورهای فعلی شما وجود دارد - فایل های مفقود یا خراب - بهترین کاری که می توانید انجام دهید این است که کلیک کنید حذفبرای حذف درایور فعلی، و سپس مجدداً درایور را نصب کنید.

اگر مطمئن نیستید که چه کاری انجام می‌دهید و اگر رفع مشکلات بالا را کمی پیچیده می‌دانید، توصیه می‌شود یک ابزار اسکن درایور قابل اعتماد را انتخاب کنید. ابزارهای اسکن درایور برای بررسی تمام درایورهای دستگاه و اطمینان از به روز نبودن آنها طراحی شده اند. هر زمان که به‌روزرسانی‌های جدید در دسترس باشد، Driver Scanner به‌طور خودکار بهترین به‌روزرسانی‌ها را برای رایانه شما دانلود و نصب می‌کند.

برای چنین مواردی، برای بررسی درستی عملکرد درایورها در ویندوز XP، یک ابزار ویژه وجود دارد verifier.exe. سودمند راننده تایید کننده، سخت ترین شرایط را برای رانندگان ایجاد می کند که در آن احتمال خرابی بسیار زیاد است و نام راننده خراب با بالاترین دقت مشخص می شود. بنابراین، در صورت خرابی های غیر سیستماتیک، اجرای برنامه مفید است راننده تایید کنندهexeنیازی به دانلود 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_VIOLATION
0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
0xE6: DRIVER_VERIFIER_DMA_VIOLATION


2.3. نمونه هایی از رمزگشایی dump توسط برنامه :


3. لینک های مفید

ابزار Verifier Driver (verifier.exe) برای تجزیه و تحلیل درایورهای مشکل ساز در هنگام تجزیه و تحلیل حافظه خالی پس از اینکه BSOD نتوانست درایور مشکل را پیدا کند، طراحی شده است. Driver Verifier یک نجات دهنده در مشکل ترین شرایط است.

با Driver Verifier می توانید انجام دهید:

    تست استرس راننده (شرایط کمبود منابع شبیه سازی شده است)؛

    کنترل سرریز بافر؛

    کنترل خطاهای ناشی از عملکرد نادرست در یک IRQL معین.

    تجزیه و تحلیل خطاهای ورودی-خروجی؛

    تشخیص موقعیت های بن بست و غیره

ابزار Verifier Driver می تواند بسیار مفید باشد زمانی که:

    مدیر (کاربر) مشکوک است که این درایور است که باعث از کار افتادن سیستم می شود و او می خواهد علاوه بر این بررسی کند که آیا واقعاً چنین است یا خیر.

    توسعه دهندگان درایور می خواهند درایور خود را آزمایش کنند.

    هنگام تجزیه و تحلیل یک تخلیه پس از BSOD، یافتن یک درایور مشکل ساز غیرممکن است.

یکی از دشوارترین موارد تجزیه و تحلیل تخلیه حافظه، زمانی است که راننده به اشتباه داده ها را قبل یا بعد از پایان بافر اختصاص داده شده توسط خود بازنویسی می کند. در چنین مواردی، خطاهایی در هسته سیستم عامل رخ می دهد (به عنوان مثال، تجزیه و تحلیل dump پس از BSOD نشان می دهد که خطا در ntoskrnl.exe منشا گرفته است).

بیایید با یک مثال خاص به یک مورد مشابه نگاه کنیم. با استفاده از ابزار NotMyfault، ما یک BSOD - "سرریز بافر" ایجاد می کنیم.

نتیجه تجزیه و تحلیل دامپ با استفاده از windbg در پیوست زیر است.

با توجه به تجزیه و تحلیل دامپ، دریافت می کنیم.

1. Arg1: 00000007، تلاش برای رایگان استخری که قبلا آزاد شده بود (تلاشی برای آزاد کردن یک استخر از قبل آزاد شده وجود داشت)

2. IMAGE_NAME: ntkrpamp.exe (هسته خود سیستم با این ارتباط دارد)

با چنین خطاهایی است که تأیید کننده به کمک می آید.

ما تأیید کننده را شروع می کنیم.

"ایجاد تنظیمات غیر استاندارد" را انتخاب کنید. بعد، "انتخاب گزینه ها از یک لیست" را انتخاب کنید.

ما همه چیز را انتخاب می کنیم به جز "تقلید کمبود منابع".

سپس “Select unloaded drivers for this list” را انتخاب کنید و مسیر درایور myfault.sys را که در همان فهرست برنامه NotMyfault.exe قرار دارد، مشخص کنید.

سپس درایور را علامت بزنید و روی "Finish" کلیک کنید. پس از آن، ما باید کامپیوتر را مجددا راه اندازی کنیم.

ما تمام مراحل را مانند ابتدا انجام می دهیم. NotMyfault.exe را اجرا کنید، "Buffer overflow" را انتخاب کنید و روی "Crash" کلیک کنید. همانطور که متوجه شدید، خرابی ممکن است بلافاصله اتفاق نیفتد، زیرا چه کسی و چه زمانی سعی خواهد کرد با این حافظه کار کند از قبل مشخص نیست. همانطور که در تصویر زیر مشاهده می کنید، به لطف تایید کننده، سیستم می تواند درایور مشکل دار را شناسایی کند.

در اینجا تجزیه و تحلیل با استفاده از !analyze –v در windbg.exe از یک حافظه خالی پس از BSOD است.

برنامه تأیید کننده این کار را به گونه ای انجام می دهد که درایور مورد بررسی به جای حافظه معمولی موجود در هسته از یک مخزن ویژه استفاده می کند که برای تشخیص چنین خطایی طراحی شده است. با تشکر از این، شما می توانید درایور ایجاد کننده BSOD را پیدا کنید.

اگر به نتایج تجزیه و تحلیل نگاه کنیم، موارد زیر را مشاهده می کنیم.

1. DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION (d6) - این یکی از خطاهایی است که توسط تایید کننده ایجاد می شود

2. IMAGE_NAME: myfault.sys - راننده ای که مشکل را ایجاد کرده است.

بنابراین، اگر تجزیه و تحلیل تخلیه حافظه پس از BSOD به شما امکان نمی دهد "راننده گناهکار" را پیدا کنید، از برنامه verifier.exe استفاده کنید (همه چک ها را به جز کمبود حافظه نصب کنید).

ساده ترین راه برای استفاده از Driver Verifier (verifier.exe) اجرای آن با پارامترهای زیر است:

نام فایل درایور verfier /standard /driver

بازدید پست: 1042

با استفاده از ابزار سیستم Driver Verifier Manager ارائه شده با Windows Vista/7، می توانید یک تشخیص جامع درایورهای نصب شده در سیستم انجام دهید و اجزای مشکلی را پیدا کنید که عملکرد پایدار رایانه و تجهیزات متصل به آن را مختل می کنند.

برای اجرای ابزار ذکر شده باید با حقوق administrator در ویندوز ثبت نام کنید سپس در نوار آدرس منوی Start -> Run دستور verifier.exe را وارد کرده و OK کنید. در نتیجه، یک پنجره مدیریت بررسی راننده باز می شود، که در آن باید سر خود را خارانید و در مورد گزینه مناسب برای راه اندازی ابزار تصمیم بگیرید. شما می توانید بدون استثنا همه درایورها را به صورت انتخابی و کامل تست کنید.

پس از تنظیم حالت عملکرد برنامه و فشار دادن دکمه "پایان"، باید کامپیوتر را مجددا راه اندازی کنید و منتظر بمانید تا سیستم عامل بارگیری شود. اگر درایور معیوب تشخیص داده شود، ویندوز در به اصطلاح "صفحه آبی مرگ" (BSOD - Blue Screen Of Death) قرار می گیرد و یک خطای بحرانی حاوی اطلاعات مربوط به مؤلفه مشکل ساز را گزارش می دهد که باید روی یک مداد گرفته شود.

مرحله بعدی حذف فایل های درایور معیوب است. برای انجام این کار، هنگام راه اندازی کامپیوتر، کلید F8 را نگه دارید، سیستم را در حالت ایمن (Safe Mode) راه اندازی کنید و سپس با استفاده از ابزارهای استاندارد ویندوز، جزء خراب را حذف کنید. سپس باید دوباره کنسول را باز کنید و دستورالعمل verifier.exe /reset را وارد کنید تا برنامه Driver Verifier Manager غیرفعال شود. توجه به این نکته ضروری است که در صورت موفقیت آمیز بوت شدن رایانه، وارد کردن آخرین دستور نیز ضروری است که نشان می دهد درایورهای مشکلی وجود ندارد.

برای اطلاعات پس زمینه بیشتر در مورد این موضوع، به مقاله «استفاده از تأییدکننده درایور برای تشخیص مشکلات درایورهای ویندوز (کاربران پیشرفته)» در سایت پشتیبانی مایکروسافت مراجعه کنید.


گاهی اوقات خطاهای صفحه آبی DRIVER_VERIFIER_DETECTED_VIOLATION مربوط به سخت افزار می تواند ناشی از خرابی حافظه (RAM) باشد. اگر با راه اندازی مجدد تصادفی رایانه، بوق بوت یا سایر مشکلات رایانه (علاوه بر خطاهای BSOD 0xC4)، به احتمال زیاد خرابی حافظه وجود دارد. در واقع، تقریباً 10 درصد از خرابی های برنامه های ویندوز به دلیل خرابی حافظه است.

اگر اخیراً حافظه جدیدی به رایانه خود اضافه کرده اید، توصیه می کنیم آن را به طور موقت حذف کنید تا مطمئن شوید که باعث خطای DRIVER_VERIFIER_DETECTED_VIOLATION نمی شود. اگر این عمل BSOD را برطرف کرد، پس منبع مشکل همین است و بنابراین حافظه جدید یا با برخی از سخت افزارهای شما سازگار نیست یا خراب است. در این صورت، باید ماژول های حافظه جدید را جایگزین کنید.

اگر حافظه جدیدی اضافه نکرده اید، گام بعدی این است که یک آزمایش تشخیصی را روی حافظه موجود رایانه خود انجام دهید. تست حافظه به شما امکان می دهد تا خرابی های شدید حافظه و خطاهای متناوب را که ممکن است باعث صفحه آبی مرگ 0xC4 شما شود، اسکن کنید.

در حالی که نسخه های اخیر ویندوز شامل یک ابزار تست RAM است، من به شدت توصیه می کنم به جای آن از Memtest86 استفاده کنید. Memtest86 یک نرم افزار تست مبتنی بر بایوس است، بر خلاف سایر برنامه های آزمایشی که در محیط ویندوز اجرا می شوند. مزیت این روش این است که ابزار به شما امکان می دهد تمام حافظه عامل را برای خطاهای DRIVER_VERIFIER_DETECTED_VIOLATION بررسی کنید، در حالی که سایر برنامه ها نمی توانند مناطق حافظه اشغال شده توسط خود برنامه، سیستم عامل و سایر برنامه های در حال اجرا را بررسی کنند.