بنابراین ، شما یک صفحه آبی تکرار شونده از مرگ دارید ، و مانند بسیاری از BSoD ها ، دلیل این امر مقصر بودن یک راننده بد است. با این حال ، صفحه به شما اطلاعات درستی نمی دهد ، یا به این دلیل که اصلاً درایور ندارد ، یا به این دلیل که درایور سیستمی را نشان می دهد که به عنوان نادرست عمل می کند.

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

راننده راننده را اجرا کنید

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

  1. روی دکمه کلیک کنید شروع کنید
  2. کلیک " اجرا کردن "...
  3. وارد CMD و فشار دهید وارد.
  4. در پنجره جدید وارد شوید تأیید کننده و فشار دهید وارد.


در ویندوز ویستا و 7:

  1. روی دکمه کلیک کنید شروع کنید
  2. وارد CMD در جعبه کلیک کنید و کلیک کنید وارد.
  3. در پنجره جدید وارد شوید تأیید کننده و فشار دهید وارد.


در ویندوز 8 و 8.1:

  1. کلید را فشار دهید ویندوز + X
  2. کلیک " خط فرمان "(" سرپرست ") (Windows PowerShell (مدیر) در ویندوز 8.1)
  3. در پنجره جدید وارد شوید تأیید کننده و فشار دهید وارد.


همه نسخه های ویندوز:

  1. حتماً انتخاب کنید تنظیمات سفارشی (برای توسعه دهندگان کد) .
  2. کلیک " به علاوه" .
  3. انتخاب کنید " تنظیمات سفارشی "را از لیست کامل انتخاب کنید .
  4. کلیک " به علاوه" .
  5. لغو انتخاب مدل سازی سیستم منابع کم و درخواستهای ورودی / خروجی در حالت آماده به کار ... (این دو مورد باعث ایجاد فشار کاری غیرضروری در رایانه شما می شود.) اطمینان حاصل کنید که همه موارد دیگر انتخاب شده است.
  6. دوبار کلیک کنید " به علاوه" .
  7. انتخاب کنید " نام درایورها را در لیست انتخاب کنید .
  8. کلیک " به علاوه" .
  9. همه درایورهای این صفحه را انتخاب کنید ، به جز مواردی که گفته می شود شرکت مایکروسافت تحت تأمین کننده بسیار بعید است که یک درایور مایکروسافت این مسئله را ایجاد کرده باشد.
  10. کلیک " انجام شده " .


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

در این مرحله ، باید رایانه خود را دوباره راه اندازی کنید. سپس با انجام کاری که قبلاً انجام داده اید ، دوباره با BSoD تماس بگیرید. ویندوز برای کمک به شما بار اضافی را درایورهای شما قرار می دهد. اگر نمی توانید BSoD را تولید کنید ، سعی کنید کامپیوتر خود را یک شبه راه اندازی کنید. به محض اینکه دوباره BSoD ظاهر شد ، رایانه خود را مجدداً راه اندازی کرده و پرونده Minidump را بخوانید.


خواندن یک پرونده تخلیه

Driver Verifier ، صفحه آبی راه اندازی شده و یک پرونده ورود به سیستم را می نویسد. این پرونده ورود به سیستم در C: \\ Windows \\ Minidump \\ قرار دارد. آن را بخوانید و خواهید دید که کدام یک از درایورها باعث ایجاد این مشکل شده است. نام درایور را جستجو کنید تا ببینید رایانه شما از کدام سخت افزار استفاده می کند.

خوب چگونه آن را می خوانید؟ شما به یک ابزار رفع اشکال نیاز دارید که می توانید از Microsoft بارگیری کنید.

و SDK را بارگیری کنید ، آن را نصب کنید ، ابزارهای رفع اشکال را انتخاب کنید و سایر موارد را لغو انتخاب کنید.

توجه داشته باشید که ابزارهای اشکال زدایی نسخه های قبلی ویندوز دیگر در دسترس نیستند. شما باید فایل dump را برای تجزیه و تحلیل به یک تکنسین مایکروسافت ارسال کنید.


پس از نصب ، آن را در صفحه راه اندازی پیدا کنید. به آن windbg (x64) گفته می شود. اجراش کن.

  1. کلیک " فایل" ، سپس " سقوط باز " .
  2. تغییر به C: \\ Windows \\ Minidump \\ و فایل .dmp موجود در آن را باز کنید.
  3. پایین فایل حاصل را ببینید ، جایی که خط می گوید " احتمالاً ناشی از " ... این به خوبی نشان می دهد که کدام یک از رانندگان باعث ایجاد مشکل شده است.

راننده را تعمیر کنید

درایور مرتبط با این سخت افزار را به روز کنید:

  1. روی دکمه کلیک کنید شروع کنید
  2. کلیک صفحه کنترل
  3. کلیک " تغییر به نمای کلاسیک "
  4. دوبار کلیک کنید سیستم
  5. قابل اعتماد و متخصص برگه "تجهیزات" را لمس کنید
  6. کلیک مدیریت دستگاه
  7. کلیک " راننده را به روز کنید ".

در ویندوز ویستا و 7:

  1. روی دکمه کلیک کنید شروع کنید
  2. کلیک صفحه کنترل
  3. دوبار کلیک کنید مدیریت دستگاه
  4. دستگاه ایجاد کننده مشکل را پیدا کنید
  5. روی آن کلیک راست کنید
  6. کلیک " راننده را به روز کنید ".


در ویندوز 8 و 8.1:

  1. کلید را فشار دهید ویندوز + X
  2. کلیک صفحه کنترل
  3. مشاهده توسط آیکون های کوچک
  4. کلیک مدیریت دستگاه
  5. دستگاه ایجاد کننده مشکل را پیدا کنید
  6. روی آن کلیک راست کنید
  7. کلیک " راننده را به روز کنید ".

یا برای جلوگیری از سردرگمی با Driver Verifier از برنامه ما استفاده کنید. Driver Reviver به طور خودکار تمام درایورهای موجود را در رایانه شما به روز می کند و مخصوصاً برای به روزرسانی درایورهای بی اثر مانند این نسخه به جدیدترین و بهترین نسخه بسیار مناسب است.

پس از رفع مشکل درایور ، می خواهید Driver Verifier را غیرفعال کنید.

تأیید کننده راننده را غیرفعال کنید

بعد از اتمام کار با استفاده از Driver Verifier ، می خواهید آن را غیرفعال کنید ، زیرا هنگام کار با رایانه بسیار سخت است.

در همه نسخه های ویندوز:

  1. با استفاده از مراحل بالا دوباره Driver Verifier را راه اندازی کنید.
  2. انتخاب کنید " تنظیمات موجود را حذف کنید " .
  3. کلیک " انجام شده " .
  4. رایانه خود را دوباره راه اندازی مجدد کنید.


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

8021

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

با کار در پس زمینه ، نه تنها عملکرد رانندگان را کنترل می کند ، بلکه انواع مختلف را نیز شبیه سازی می کند "پر استرس" شرایط ، به عنوان مثال ، کمبود RAM اطلاعات بدست آمده در هنگام آزمایش "اضافه شده به" برای ریختن پرونده DMP... Driver Verifier به شما امکان می دهد خطاهای I / O را تجزیه و تحلیل کنید ، میزان سرریز بافر را کنترل کنید ، خطاهای مکانیزم را شناسایی کنید IRQL و غیره. در یک کلام ، این برنامه به شما امکان می دهد موقعیت هایی را که در آن یک راننده می تواند منجر به خرابی سیستم شود ، شناسایی کنید BSOD.

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

یادداشت مهم: قبل از استفاده از برنامه بسیار توصیه می شود ایجاد یک نقطه بازیابی سیستم یا پشتیبان گیری کامل. در ویندوز 8 و 8.1 نیز باید حالت را فعال کنید بوت امن... این امر در صورت بروز خطاهای غیرمنتظره در حین کارکرد Driver Verifier ضروری است. به شما این امکان را می دهد که سیستم را بوت کنید ، حالت تست را غیرفعال کنید و سیستم را دوباره برگردانید.

می توانید ابزار را با دستور اجرا کنید تأیید کننده.

در پنجره بعدی Dispatcher ، پارامترهای آزمایش را علامت گذاری کنید (همه را می توان برای کامل بودن انتخاب کرد).

در پنجره سوم نمی توانید چیزی بگذارید.

در پنجره چهارم ، برنامه انتخاب گروهی از درایورها را برای آزمایش پیشنهاد می دهد.

به طور پیش فرض ، تمام درایورهای امضا نشده به عنوان گروه ریسک انتخاب می شوند ، اما همچنین می توانید درایورها را در پنجره پنجم Scan Manager خود تیک بزنید.

این همه پس از راه اندازی مجدد رایانه ، حالت بررسی درایور فعال می شود. در تمام این مدت ، تا لحظه ظاهر شدن رایانه می توان طبق معمول استفاده کرد BSOD... پس از آن ، فایل dump را از فهرست کپی کنید C: / Windows / Minidump و آن را برای تجزیه و تحلیل ارسال کنید. ممکن است راه اندازی یک کامپیوتر با فعال شدن تست درایور کمی بیشتر طول بکشد ، بنابراین نگران نباشید. این طبیعی است. پس از دریافت تمام داده ها ، با انتخاب مورد در رابط گرافیکی برنامه ، باید حالت اشکال زدایی به طور دستی غیرفعال شود. "حذف پارامترهای موجود".

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

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

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

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

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

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

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

تأیید درایور مفید است:

    مدیر (کاربر) سو that ظن دارد که این راننده است که باعث خراب شدن سیستم می شود و او می خواهد علاوه بر این بررسی کند که آیا واقعاً چنین است؟

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

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

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

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

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

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

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

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

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

راستی آزمایی را اجرا کنید.

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

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

سپس "انتخاب درایورهای بارگیری نشده به این لیست" را انتخاب کرده و مسیر راننده myfault.sys را تعیین می کنیم ، که در همان فهرست برنامه NotMyfault.exe قرار دارد.

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

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

اجازه دهید با استفاده از آن تجزیه و تحلیل کنم! -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) اجرای آن با پارامترهای زیر است:

تأیید کننده / استاندارد / نام درایور درایور

بازدید پست: 1 042

ما به شما هشدار می دهیم که هرگونه آزمایش با درایورها خطرناک است و می تواند به سیستم آسیب برساند. بهتر است از قبل از سیستم نسخه پشتیبان تهیه کنید و سپس انگشتان خود را عبور ندهید ، درایور مشکوک دیگری را از ویندوز حذف کنید.

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

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

صفحه آبی مرگ قابل توجه است (بدون هیچ کنایه ای!) از این نظر که به وضوح وجود یک مشکل جدی را نشان می دهد و نکته ای را از محل حفاری به شما می دهد. اغلب (اما نه همیشه) نام راننده "مقصر" مستقیماً در گوشه سمت راست بالای صفحه آبی مرگ نشان داده می شود. با این حال ، ممکن است در آنجا نباشد ، یا حتی بدتر از آن ، ممکن است نام یک راننده کاملاً اضافی وجود داشته باشد.

بنابراین ، به عنوان مثال ، یک درایور نسبتاً رایج از یک کارت گرافیک ماتروکس G450 تمایل به از بین بردن ساختارهای زیر سیستم گرافیکی دارد پنجره ها 2000 ، در نتیجه آن نام درایور سیستم در BSOD نمایش داده می شود win32k.sys، که قسمت قابل توجهی از عملکردهای USER و GDI را پیاده سازی می کند و البته هیچ ارتباطی با آن ندارد. بنابراین تعبیر شهادت صفحه آبی مرگ جادو ، شهود ، علم و هنر است - کمی از همه چیز.

علاوه بر نقص درایور ، صفحه های آبی مرگ نیز می تواند به دلیل خرابی آهن باشد ، به عنوان مثال پردازنده اورکلاک شده ، حافظه RAM معیوب ، کنترل کننده دیسک سخت کج ، کارت PCI به طور کامل در شکاف قرار نگرفته است ، عدم تماس در یکی از اتصالات ، منبع تغذیه نامناسب ، تورم خازن الکترولیتی روشن مادربرد و دومی به دلایل مختلف منفجر می شود: در نتیجه ، به دلیل نشت ترانزیستورهای کلیدی در گره ، به دلیل گرم شدن بیش از حد از یک پردازنده در نزدیکی ، کمبود خازن های سرامیکی "نامناسب" توسط تولید کننده (در نتیجه آن قطعه RF از طریق الکترولیت عبور می کند و آن را به شدت گرم می کند) تثبیت کننده بنابراین ، قبل از خرد کردن چوب ، باید اطمینان حاصل کنید که اتویی که روی آن نشسته ایم کاملا سالم است. چگونه می توان این کار را انجام داد؟

مسابقه با آهن

صفحات آبی مرگ ناشی از خرابی سخت افزار ماهیتی خودجوش دارند و به طور غیرقابل پیش بینی و مستقل از هرگونه عملکرد کاربر خاص ظاهر می شوند. برنامه ها همچنین در بسیاری از نقاط مختلف خطاهای حیاتی ایجاد می کنند و کدهای خطا ، آدرس ها و سایر اطلاعات ارائه شده توسط سیستم در همه موارد متفاوت خواهد بود! اتفاقاً درایورهایی که درخواستهای ناهمزمان از دستگاه های ورودی / خروجی مانند شبکه های بی سیم را کنترل می کنند ، تقریباً مشابه رفتار می کنند. صفحات آبی رنگ مرگ ناشی از رانندگان معیوب ، به طور معمول ، هنگام انجام مجموعه خاصی از اقدامات رخ می دهد و حاوی اطلاعات کم و بیش ثابت است.

برای رفع سو susp ظن از سخت افزار ، فقط یک هارد دیسک دیگر را به سیستم متصل کنید ، یک virgin نصب کنید پنجره ها و مدتی روی آن کار کنید. اگر صفحه های آبی مرگ ناپدید نشوند ، در واقع ، آهن مقصر است و زمان تغییر آن فرا رسیده است. یافتن م componentsلفه های معیوب موضوعی برای گفتگوی جداگانه است که برای دفعات بعدی آن را ترک خواهیم کرد ، اما در حال حاضر ، با بالا زدن آستین ها ، از نزدیک با این رانندگان موذی مقابله خواهیم کرد.

هیزم بدون گواهینامه مستقیماً در جعبه آتش قرار دارد

مجموعه کامل ابزارهای مورد نیاز برای توسعه درایور ( DDK - کیت توسعه درایور) ، مایکروسافت توزیع رایگان به همراه مستندات همراه را انجام می دهد. رانندگان ، گاهی اوقات بسیار حشره دار و ناپایدار.

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

در حالت ایده آل ، فقط درایورهای امضا شده با دیجیتال باید روی سیستم نگه داشته شوند. در حالی که امضای دیجیتالی بیمه نامه ای نیست ، اما وجود آن نشان دهنده سطح خاصی از فرهنگ توسعه است. رانندگان فاقد امضای دیجیتال از گربه ای که گربه در کیسه است بدترند و باید در هر زمان ممکن از بین بروند (به خصوص اینکه بسیاری از آنها برنامه های مخربی هستند که توسط روت کیت ها نصب شده اند یا مکانیسم های دفاعی تهاجمی هستند که به عمق سیستم نفوذ می کنند و باعث بی ثباتی آن می شوند) ) به طور خلاصه ، عوام فریبی ایجاد نمی کند ، اما ما سعی خواهیم کرد به یک سوال ساده پاسخ دهیم: چگونه می توان لیستی از درایورها بدون امضای دیجیتال تهیه کرد؟

این برنامه به ما در این زمینه کمک خواهد کرد. sigverif.exe، در مجموعه تحویل استاندارد سیستم عامل موجود است و در فهرست WINNT \\ System32 قرار دارد. ما آن را راه اندازی می کنیم و یک جعبه گفتگو می بینیم. دکمه "پیشرفته" را فشار دهید و در برگه "جستجو" معیارهای انتخاب را با انتقال دکمه رادیویی از موقعیت "اطلاع در مورد پرونده های سیستم بدون امضا" (جایی که به طور پیش فرض راکد می ماند) به موقعیت "جستجوی فایل های دیگر با امضای دیجیتال امضا" تنظیم کنید. پس از آن ، در "پارامترهای جستجو" کادر "جستجو برای پرونده های نوع بعدی" را باز کنید و "* .sys" را انتخاب کنید ، و در زیر ما پوشه جستجو "C: \\ WINNT" را نشان می دهیم ، حتما جعبه "شامل زیر پوشه ها" را علامت بزنید.

در حقیقت ، به طور دقیق ، درایورها نیازی به پسوند sys ندارند و همیشه به فهرست WINNT محدود نمی شوند ، زیرا در فهرست برنامه های "خود" هستند و حتی برخی از برنامه ها درایورها را در داخل خود ذخیره می کنند! بلافاصله پس از شروع (یا در هر زمان دیگر) آنها پرونده را در پوشه فعلی یا موقتی در دیسک ذخیره می کنند ، درایور را در حافظه بارگیری می کنند و ... بلافاصله آن را از دیسک پاک می کنند! ویروس های مخرب نه تنها این کار را انجام می دهند ، بلکه برنامه های کاملاً محترمی مانند برخی از سرویس های معروف کاوشگر ویندوز ، مارک روسینوویچ ، این کار را انجام می دهند.

بنابراین ، برای خلوص آزمایش ، بدست آوردن لیستی از درایورهای موجود در حافظه و مقایسه آنها با درایورهای واقع در دیسک ، به هیچ وجه آسیب نمی بیند. کلمات "در حال حاضر" کلیدی هستند ، زیرا بارگیری / بارگیری درایورها می تواند به صورت رایگان و بدون راه اندازی مجدد سیستم عامل انجام شود. توصیه می شود این عملیات را چندین بار با اجرای برنامه خط فرمان Driver.exe موجود در DDK انجام دهید که می تواند از سرور مایکروسافت بارگیری شود. این ابزار بدون هیچگونه سوئیچ خط فرمان راه اندازی شده است drives.exe تمام اطلاعات را بر روی صفحه نمایش می ریزد ، که خوب نیست ، زیرا معمولاً تعداد زیادی درایور در سیستم وجود دارد و روی صفحه قرار نمی گیرند. با این حال ، آیین به ما اجازه می دهد تا جریان خروجی را به یک فایل متنی (drivers.exe\u003e \u200b\u200bfile-name.txt) هدایت کنیم ، پرونده ای که می تواند توسط هر ویرایشگر متنی ، چه Word یا Notepad باز شود. تنها چیزی که باقی می ماند اینست که یک بلوک عمودی (که دفترچه یادداشت اجازه نمی دهد) را انتخاب کنید و لیستی از درایورها را دریافت کنید. مستقیم از هسته سیستم عامل!

اگر حداقل یکی از این درایورها در فهرست C: \\ WINNT \\ فاقد آن باشد ، امضای دیجیتالی آن تأیید نمی شود! به طور طبیعی ، چنین راننده ای بلافاصله جلب توجه می کند و ما یک سوال منطقی داریم: از کجا آمده است؟ ابتدا همه فهرست ها را بر روی دیسک اسکن می کنیم. اگر آنجا نیست ، یک نقطه انعطاف در تابع CreateFileW Soft-Ice تنظیم کنید و به استدلال های ارائه شده به آن نگاه کنید. دیر یا زود با درایور حفره دار خود مواجه می شویم ، پس از آن فقط کافی است به گوشه پایین سمت راست صفحه Soft-Ice نگاهی بیندازیم ، جایی که نام فرآیندی که باعث ایجاد آن شده است نمایش داده می شود. برای جزئیات بیشتر ، به کتاب "تکنیک اشکال زدایی از برنامه ها بدون کد منبع" مراجعه کنید ، نسخه الکترونیکی آن را می توانید در سرور ftp- یا http nezumi.org.ru و همچنین در دیسک ما پیدا کنید. و ما همچنان ابزار را عذاب می دهیم sigverif.exe.

پس از کلیک بر روی "تأیید" ، "شروع" ، یک "دماسنج" روی صفحه ظاهر می شود که پیشرفت پیشرفت را نشان می دهد و دیسک سخت با تمام سرهایی که فقط دارد خش خش می کند. پس از اتمام کار ، لیستی از درایورهای فاقد امضای دیجیتالی تهیه و روی صفحه نمایش داده می شود.

بعضی از سرهای داغ پیشنهاد می کنند ، به منظور پاکسازی سیستم بدعت ، همه رانندگان بدون علامت را حذف کنید - سپس ، آنها می گویند ، تمام مشکلات برطرف می شود. چگونه می توان این کار را انجام داد؟ خام ترین راه حل این است که آنها را به راحتی از طریق FAR یا Explorer از دیسک خارج کرده و حذف کنید (البته با حقوق مدیر!) اما عواقب چنین عملیاتی می تواند بسیار وحشتناک باشد و بهتر است با کلیک راست بر روی نماد درایور در کاوشگر ، نام سازنده را در "Properties" پیدا کنید ، به وسیله آن می توانید تعیین کنید چه برنامه / سخت افزاری این درایور را نصب کرده و به روش متمدنانه آن را حذف نصب کنید. درست است که در اینجا یک "اما" وجود دارد.

درایور در شکل برجسته شده است. g400m.sys، که همراه با کارت Matrox G450 ارائه می شود ، و اگرچه Matrox اصلاً یک شرکت ضعیف نیست ، اما یک امضای دیجیتالی دریافت نکرد (یا مایکروسافت آن را نداد ، یا خود Matrox نمی خواست زحمت بکشد). به طور طبیعی ، پس از حذف آن از سیستم ، باید حالت SVGA را فراموش کنید. با این وجود می توانید با بارگیری آخرین نسخه درایور (به صورت دیجیتالی امضا شده) به وب سایت Matrox بروید. فقط اکنون ... هر دو نسخه امضا شده و امضا نشده حاوی خطاهای مهلک زیادی هستند ، به ویژه ، در نتیجه شرایط خاص ، هنگام تغییر حالت در حالت overlay ، سیستم با BSOD برخورد می کند ، زیرا درایور سعی می کند حافظه آزاد شده قبلی را آزاد کند.

بنابراین ، وجود / عدم وجود امضای دیجیتال به خودی خود معنایی ندارد و حتی اگر فقط از درایورهای امضا شده استفاده کنیم ، این هیچ تضمینی برای ثبات به ما نمی دهد.

اینجاست که به بخش دوم مقاله یعنی آزمایش رانندگان در شرایط نزدیک به جنگ روی می آوریم.

ما یک آزمایش واقعی برای هیزم ترتیب می دهیم

DDK شامل یک ابزار فوق العاده است راننده تأیید کننده، که شدیدترین شرایط را برای رانندگان ایجاد می کند ، مرز شدید و خودکشی ، که در آن احتمال خرابی حداکثر است و نام راننده معیوب با بالاترین دقت تعیین می شود (حتی اگر خود دچار نقص توسعه نباشد ، اما ساختار داده رانندگان دیگران را از بین ببرد).

توجه به این مهم است راننده تأیید کننده یک دارو نیست ، بلکه فقط یک ابزار تشخیصی است. هنوز هم شما را از خرابی ها نجات نخواهد داد (برعکس ، شدت آنها را با چند مرتبه افزایش می دهد) ، اما به شناسایی راننده "اب زیر کاه" با درجه اطمینان کافی کمک می کند.

بنابراین ، ما verifier.exe را اجرا می کنیم ، پنجره را می بینیم راننده تأیید کننده مدیر، به برگه Setting بروید و دکمه رادیو را به وضعیت تأیید همه درایورها منتقل کنید ، سپس دکمه "تنظیم ترجیحی" را فشار دهید ، که انواع تأیید زیر را تنظیم می کند:

  • خاص استخر - به درایورهای بررسی شده یک منطقه حافظه ویژه برای تخصیص اختصاص داده می شود ، که خیلی سریع کار نمی کند ، اما قادر به شناسایی بیشتر انواع آسیب به داده های خود و دیگران است.
  • زور IRQL چک کردن. IRQL سطح درخواست وقفه است. رایج ترین اشتباهی که سازندگان درایور مرتکب می شوند ، تلاش برای دستیابی به حافظه در IRQL است که مدیر مبادله در آن کار نمی کند. و اگر صفحه مورد نیاز ناگهان به دیسک رانده شود ، سیستم به صفحه آبی با نوشته "IRQL_LESS_OR_EQULAR" تبدیل می شود. اجبار این حالت صفحات راننده را به زور به دیسک هل می دهد تا نقص توسعه در 100٪ موارد ظاهر شود.
  • کم منبع شبیه سازی نصب آن برای دیدن عملکرد راننده در صورت کمبود فاجعه بار منابع سیستم مفید است ، اما می توان این مورد را نادیده گرفت ، اما بهتر است کادر تأیید Pool tracking (پیگیری صحت کار با حافظه حافظه) را ترک کنید. خطاهای تأیید I / O بخشی ناچیز از تمام خطاها را تشکیل می دهند ، بنابراین موقعیت این کادر تأیید به طور کلی کاملاً غیرقابل انتقاد است.

پس از انتخاب تنظیمات ، دکمه "اعمال" را فشار دهید و همانطور که به ما پیشنهاد شده است ، راه اندازی مجدد کنید.

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

با اجرای verifier.exe در هر زمان می توانید از وضعیت چک مطلع شوید. در زبانه Driver Status وضعیت کلیه درایورهای شناسایی شده با توضیحی در مورد وضعیت فعلی لیست شده است. وضعیت Loaded به این معنی است که این درایور حداقل یک بار بارگیری و آزمایش شده است (اما ، شاید نه به طور کامل ، یعنی تمام قسمت های راننده پردازش نشده اند). وضعیت Unloaded آماده می شود که درایور توسط سیستم / برنامه با استفاده از آن بارگیری ، تأیید شده (احتمالاً جزئی) و بارگیری شده باشد. مورد اخیر مخصوصاً برای درایورهای باقیمانده از سخت افزاری است که با بیرون کشیدن کارتهای گسترش از شکاف ، بدون انجام نصب حذف ، برداشته شد. راننده زنده مانده اتوبوس را اسکن می کند ، در تلاش برای یافتن سخت افزار "خود" است ، با جستجو قطع می شود و سپس خود را از حافظه تخلیه می کند ، اتفاقاً باعث کاهش سرعت سیستم (گاهی اوقات بسیار قابل توجه) و درگیری با سایر رانندگان می شود. اخلاقی: تجهیزات باید طبق سیستم از سیستم خارج شوند! با این حال ، هر وضعیت Unloaded نشانه وضعیت غیر عادی نیست و قبل از حذف یک راننده با چنین وضعیتی ، باید بفهمید که این نوع گوزن شمالی است و از کجا آمده است.

وضعیت Never Loaded نشان می دهد که این درایور هنوز بارگیری نشده است و بنابراین آزمایش نشده است ، بنابراین باید منتظر بمانید ، برنامه های مختلفی را که ممکن است با آن مرتبط باشند راه اندازی کنید. با این حال ، برخی از درایورها (مخصوصاً نصب های اشتباه نصب نشده) بارگیری نشده و بر این اساس ، هرگز بررسی نمی شوند.

پس از مدتی کار با سیستم در حالت بررسی سخت (از چندین ساعت تا چند روز) ، تقریباً تمام رانندگان معیوبی را که قبلاً از آنها رنج برده ایم ، شناسایی کرده و نام آنها را روی یک کاغذ می نویسیم.

با استفاده از همان تأیید کننده می توانید سیستم را به حالت عادی برگردانید (یعنی بدون بررسی های اضافی که عملکرد را مصرف می کند). به برگه تنظیمات برگردید ، دکمه رادیو را به موقعیت تأیید درایورهای انتخاب شده منتقل کنید (هیچ راننده ای نباید انتخاب شود) ، بر روی "Reset All" کلیک کنید ، سپس روی "Apply" کلیک کرده و راه اندازی مجدد کنید. همه چيز! این سیستم اکنون با سرعت نرمال در حال اجرا است ، اما بدون بررسی.

با چوب خام چه باید کرد؟

اما به راستی با راننده معیوب چه کاری می توان انجام داد؟ هکرهایی که می دانند چطور اشکال زدایی را در دست بگیرند ، اگر وقت آزاد کافی داشته باشند ، می توانند آن را جدا کنند (از آنجا که اندازه راننده ها معمولاً کوچک است) ، یک اشکال پیدا می کنند و راهی برای رفع آن ارائه می دهند ، اما ... این روش خیلی سخت است.

دور انداختن درایور (همراه با سخت افزار / برنامه ای که از آن استفاده می کند) نیز گزینه ای نیست. اگرچه اگر معلوم باشد که یک کارت صدای 20 دلاری از یک سازنده ناشناخته چینی مقصر صفحه های آبی مرگ است ، اما انگیزه کاملاً خوبی برای جایگزینی آن با چیز شایسته تری داریم. اما این در حقیقت برای همه واضح است و نیازی به اظهار نظر اضافی ندارد.

اما همه نمی دانند که تعداد زیادی از خرابی ها و صفحه های آبی مرگ به این دلیل است که درایور توسعه یافته (و آزمایش شده) در یک محیط تک پردازنده بر روی دستگاه پردازنده دوگانه نصب شده است. منظور ما از "پردازنده دوگانه" در اینجا هر دو یک پلت فرم واقعی با دو سنگ و پردازنده های Hyper-Threading / چند هسته ای است. مشخص شده است (و توسط تعداد زیادی آزمایش تأیید شده است) که دو پردازنده برای یک رایانه خانگی کاملاً بی فایده هستند ، زیرا در اکثر قریب به اتفاق برنامه ها عملاً هیچ افزایشی در عملکرد وجود ندارد.

بنابراین ، اگر سیستم ناپایدار است و به همین دلیل نمی توانید از راننده معیوب خلاص شوید ، می توانید وارد BIOS Setup شوید و دستگاه "دو پردازنده مجازی" خود را به یک پردازنده تبدیل کنید. با باز کردن فایل boot.ini (در رایانه های دارای) می توان اثر مشابهی را به دست آورد Windows NT / 2000 / XP در دایرکتوری ریشه دیسک منطقی که سیستم بر روی آن نصب شده است قرار دارد) و سوئیچ / ONECPU را به آن اضافه می کند و سپس به امید از بین رفتن خطاها مجدداً راه اندازی می شود.

لیست 1

نمونه ای از یک فایل boot.ini معمولی


مهلت زمانی \u003d 30

چند (0) دیسک (0) rdisk (0) پارتیشن (1) \\ WINNT \u003d "Windows 2000 Pro" / fastdetect / SOS

لیست 2

ما سیستم را طوری تنظیم کرده ایم که از همه پردازنده های موجود فقط از یک پردازنده استفاده کند


مهلت زمانی \u003d 30
پیش فرض \u003d چند (0) دیسک (0) rdisk (0) پارتیشن (1) \\ WINNT
چند (0) دیسک (0) rdisk (0) پارتیشن (1) \\ WINNT \u003d "Windows 2000 Pro" / fastdetect / SOS / ONECPU

اما در پنجره ها ویستا هیچ پرونده boot.ini وجود ندارد و در حالی که فرصتی (موقت) برای پیکربندی تنظیمات راه اندازی آن با استفاده از یک ابزار ویژه وجود دارد ، مایکروسافت قصد دارد این روزنه را به طور کامل برطرف کند ، به طوری که فقط BIOS Setup باقی مانده است. با این حال ، همانطور که برای ویستا، پس از زمان سوئیچ به آن ، توسعه دهندگان درایور احتمالاً ماشین های چند پردازنده را به دست می آورند (از آنجا که دیگر به فروش نمی رسد) و تولیدات خود را در یک محیط چند پردازنده آزمایش می کنند.

نکته ظریف دیگر. آیا به خاطر دارید که در بالا گفتیم که رایج ترین اشتباه توسعه دهندگان درایور ، دسترسی به حافظه پیشگیرانه در سطح IRQL است که در آن مدیر مبادله کار نمی کند و اگر صفحه درخواستی در حافظه نباشد ، خراب می شود؟ راه حل واضح در اینجا افزایش RAM تا حدی است که عملاً هیچ پیش فرض صفحه ای اتفاق نیفتد. با قیمت های فعلی حافظه ، تقریباً همه می توانند از عهده خرید چند "قالب" جدید برآیند. اما یک راه حل قابل دسترسی (و ظریف تر) برای این مشکل وجود دارد. اگر پارامتر باشد DisablePagingExternalواقع در شعبه ثبت بعدی HKLM \\ SYSTEM \\ CurrentControlSet \\ Control \\ Session Manager \\ MemoryManagement، برابر با یک (به طور پیش فرض صفر) ، اجزای هسته ای جابجا نخواهند شد. بنابراین ، ما به سادگی "ویرایشگر رجیستری" را راه اندازی می کنیم ، این پارامتر مورد نظر را تغییر می دهیم و راه اندازی مجدد می کنیم (تغییرات فقط پس از راه اندازی مجدد اعمال می شوند) ، امیدواریم که این امر به حل مشکل خرابی کمک کند.