ویندوز 7 چگونه یک درایور باگ را شناسایی کنیم. استفاده از Driver Verifier برای تعمیر صفحه آبی مرگ. بررسی درایورهای بدون امضا

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

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

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

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

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

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

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

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

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

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

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

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

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

درایور سیستمی را نشان می دهد که بعید است مشکل را ایجاد کند (به عنوان مثال، win32k.sys). در این مورد، تجزیه و تحلیل جدی از زباله مورد نیاز خواهد بود، که نیاز به دانش و تجربه بسیار عمیق در این زمینه دارد. با این حال، می‌توانید با استفاده از چک‌کننده درایور داخلی سیستم عامل، درایورهای خود را بررسی کنید. Verifier.exe. اگرچه در مقاله پایگاه دانش مایکروسافت با استفاده از تأیید کننده درایور برای عیب یابی مشکلات درایور ویندوز به طور مفصل به آن پرداخته شده است، مطالب ارائه شده در آنجا در سطح فنی نسبتاً پیشرفته ای ارائه شده است. در زیر آمده است توضیح کوتاهاقداماتی که باید برای بررسی رانندگان انجام شود.

در این صفحه

شروع کار با Driver Verifier

در منو شروع کنیداجرا کردن(یا شروع کنیدجستجو کردن) وارد تایید کنندهو Enter را فشار دهید. Driver Checker راه اندازی می شود. یک مورد را انتخاب کنید ایجاد پارامترهای غیر استاندارد (برای کد برنامه)و دکمه را فشار دهید به علاوه.

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

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

در مرحله بعد انتخاب کنید انتخاب خودکار درایورهای بدون امضاو دکمه را فشار دهید به علاوه. اگر درایور بدون امضا پیدا نشد، به .

درایورهای بدون امضا

اگر درایورهای بدون امضا شناسایی شوند، لیستی از آنها را مشاهده خواهید کرد.

درایورها می توانند هم به دستگاه ها و هم به برنامه ها تعلق داشته باشند. پنجره Driver Verifier را نبندید یا روی آن کلیک نکنید به علاوهاکنون.

درایورهای به روز شده را جستجو کنید

باید بررسی کنید که آیا درایورهای به روز شده وجود دارد یا خیر.

  1. اگر درایور برنامه را در لیست مشاهده کردید، از وب سایت سازنده بازدید کنید تا ببینید آیا برنامه به روز شده است یا خیر. اگر نسخه به‌روزرسانی‌شده‌ای وجود ندارد، می‌توانید برنامه را حذف نصب کنید (همیشه می‌توانید بعداً آن را دوباره نصب کنید). اگر خطاهای بحرانی متوقف شوند، دلیل آن همین بود.
  2. اگر یک درایور دستگاه را در لیست می بینید و از ویندوز ویستا استفاده می کنید، از مرکز استفاده کنید به روز رسانی ویندوزبرای جستجوی درایورهای جدید این روش برای ویندوز ویستا به خوبی کار می کند زیرا بسیاری از سازندگان دستگاه با مایکروسافت کار می کنند تا درایورهای خود را برای دانلود از طریق Windows Update در دسترس قرار دهند. در کنترل پنل، را انتخاب کنید به روز رسانی ویندوزو به روز رسانی درایور دستگاه خود را بررسی کنید. اگر درایور پیدا شد، آن را نصب کنید.
  3. اگر Windows Update درایورهای جدیدی را به شما ارائه نمی دهد، از وب سایت سازنده دستگاه دیدن کنید. شاید درایورهای جدیدی در آنجا موجود باشد. اگر در یافتن درایورها مشکل دارید، لطفاً از انجمن Find Drivers, Firmware and Manuals در OSzone.net دیدن کنید.

پس از به‌روزرسانی یک برنامه یا درایور، پنجره Driver Verifier را ببندید. فشار دادن یک دکمه لغو کنید(اما نه به علاوه) . کامپیوتر خود را مجددا راه اندازی کنید و به استفاده از سیستم عامل ادامه دهید. اگر خطای بحرانی دیگر رخ نداد، با به روز رسانی درایور آن را برطرف کرده اید.

حذف درایورها

اگر درایورهای جدید یافت نشد، سعی کنید درایور را حذف نصب کنید.

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

در مدیریت دستگاه ( شروع کنیدجستجو / اجراdevmgmt.mscخوب) دستگاه را پیدا کنید، روی آن کلیک راست کرده و از بین آن انتخاب کنید منوی زمینهپاراگراف خواص. سپس به برگه بروید رانندهو دکمه را فشار دهید حذف.

بررسی درایورهای بدون امضا

توجه!پس از بررسی درایورهای بدون امضا، ممکن است سیستم بوت نشود (در زیر نحوه عمل در چنین شرایطی توضیح داده شده است).

اگر نمی‌خواهید درایور را حذف کنید و/یا می‌خواهید درایورهای بدون امضا را بررسی کنید، در پنجره Driver Verifier، روی به علاوه. از شما خواسته می شود که یک دیسک فیزیکی را انتخاب کنید.

آماده، سپس کامپیوتر خود را مجددا راه اندازی کنید. اگر پس از راه اندازی مجدد صفحه آبی با خطا مشاهده کردید، درایور مشکل دار شناسایی شده و نام آن در پیام خطا درج می شود. وارد Safe Mode شوید و با وارد کردن، تمام گزینه‌های تایید راننده را بازنشانی کنید شروع کنیدجستجو / اجراتیم verifier.exe /تنظیم مجدد.

اگر سیستم در حالت عادی بوت شود، بررسی درایورهای بدون امضا با موفقیت انجام شد - آنها منبع مشکل نیستند. با اجرا کردن می توانید لیستی از درایورهای تست شده را مشاهده کنید verifier.exe .

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

بررسی راننده سفارشی

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

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

بنابراین، تأیید ممکن است در چند مرحله انجام شود. توالی گام به گام برای انتخاب درایورها می تواند به شرح زیر باشد:

  1. درایورهایی که اخیراً به روز شده اند یا درایورهایی که معمولاً مشکل ایجاد می کنند (درایورهای برنامه های آنتی ویروس, فایروال ها، دیسک های مجازی).
  2. درایورهای ارائه نشده توسط مایکروسافت.
  3. گروه 10 تا 15 راننده در یک زمان.

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

توجه!پس از بررسی درایورها، سیستم ممکن است بوت نشود (در زیر نحوه عمل در چنین شرایطی توضیح داده شده است).

اگر پس از راه اندازی مجدد صفحه آبی با خطا مشاهده کردید، درایور مشکل دار شناسایی شده و نام آن در پیام خطا درج می شود. کامپیوتر خود را مجددا راه اندازی کنید و وارد شوید حالت امنبا فشار دادن F8در حین بارگیری پس از ورود به سیستم، با وارد کردن، تمام تنظیمات تأیید صحت راننده را بازنشانی کنید شروع کنیدجستجو / اجراتیم verifier.exe /تنظیم مجدد.

اگر سیستم در حالت عادی بوت شود، بررسی درایورهای انتخاب شده با موفقیت انجام شد - آنها منبع مشکل نیستند. با اجرا کردن می توانید لیستی از درایورهای تست شده را مشاهده کنید verifier.exeو در مرحله اول مورد را انتخاب کنید نمایش اطلاعات مربوط به درایورهای تأیید شده فعلی.

حالا گروه درایور بعدی را انتخاب کنید و دوباره چک کنید.

همه درایورها بررسی شده اند - بعد چه؟

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

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

داده های مربوط به چنین درایورهایی در یک حافظه ذخیره می شود تا تجزیه و تحلیل ها بعداً انجام شود. بنابراین، ابزار، رانندگان را تحت شرایط به اصطلاح استرس (آزمون) قرار می دهد، شرایط شدید بصری را ایجاد می کند، به عنوان مثال، کمبود حافظه، قفل های مختلف، IRQL، بررسی IRP، DMA، و غیره، کنترل I/O. به عبارت دیگر، موقعیت‌های شدید شبیه‌سازی می‌شوند که نباید در حین کار عادی با ویندوز اتفاق بیفتند یا اغلب اتفاق نمی‌افتند. بنابراین، این ابزار به شما امکان می دهد درایورهایی را که می توانند منجر به خرابی سیستم شوند، شناسایی کنید.

همانطور که قبلاً گفتم، ابزار در همه چیز تعبیه شده است نسخه های ویندوزو در راه است %windir%\system32. این ابزار همچنین می تواند در دو نسخه استفاده شود: خط فرمان و رابط گرافیکی.

بنابراین، برای اجرای ابزار بررسی راننده، باید پنجره را باز کنید "اجرا کن"دستور زیر را تایپ کنید:

تایید کننده

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

حالا باید مطالب را مرتب کنیم؛ برای این کار روی کلمه بالای جدول کلیک کنید ارائه دهنده. اکنون می توانید همه درایورها را انتخاب کنید. به هر حال، لازم نیست درایورهای مایکروسافت را انتخاب کنید.

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

بنابراین، راه اندازی مجدد به پایان رسید و اکنون سیستم در حالت تأیید راننده بوت می شود. این ابزار در پس زمینه اجرا می شود و آزمایش های مختلفی را انجام می دهد. می توانید با آرامش در رایانه کار کنید تا زمانی که برنامه به پایان برسد. پس از اتمام کار، فایل اطلاعاتی در یک حافظه ذخیره می شود. چنین فایلی معمولاً در امتداد مسیر قرار دارد: C:\Windows\Minidump\*.dmp. اکنون می توان آن را برای مثال با استفاده از Windbg یا برنامه مشابه دیگری تجزیه و تحلیل کرد.

اگر در عرض چند روز مشخص شد که مشکل عود نکرده است، می توان گفت که مشکل به هیچ وجه در درایورها نیست و باید علت را در جای دیگری جستجو کنید. در همین حال، می‌توانید حالت تأیید راننده را غیرفعال کنید. می خواهم فوراً بگویم که این حالت سیستم را بسیار کند می کند ، بنابراین توصیه نمی شود اغلب با آن کار کنید.

می توانید این ابزار را غیرفعال کنید: در خط فرمان، دستور زیر را وارد کنید:

همین. امیدوارم این مقاله به شما در حل مشکلاتتان کمک کرده باشد.

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

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

نقص طراحی درایور می تواند از تصادف تا صفحه آبی مرگ ( BSOD– Blue Screen of Death) و به کند شدن کامپیوتر و رفتار عجیب برخی از اپلیکیشن های کاربردی که کاملاً به درایور ارتباط ندارند.

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

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

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

مسابقه با آهن

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

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

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

مجموعه کامل ابزارهای لازم برای توسعه درایور ( DDK– Driver Development Kit)، مایکروسافت آن را به همراه اسناد همراه به صورت رایگان توزیع می کند. رانندگان، گاهی اوقات بسیار باگ و ناپایدار.

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

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

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

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

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

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

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

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

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

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

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

ما هیزم را آزمایش واقعی می کنیم

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

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

بنابراین، verifier.exe را راه اندازی می کنیم، پنجره را می بینیم راننده تایید کننده مدیر، به تب Setting بروید و دکمه رادیویی را به موقعیت Verify all drivers منتقل کنید، پس از آن دکمه "Preferred Setting" را فشار می دهیم که انواع تأیید زیر را تنظیم می کند:

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

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

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

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

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

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

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

با هیزم مرطوب چه کنیم؟

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

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

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

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

لیست 1

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


تایم اوت = 30

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS

لیست 2

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


تایم اوت = 30
پیش فرض = چند (0) دیسک (0) rdisk (0) پارتیشن (1)\WINNT
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Pro" /fastdetect /SOS /ONECPU

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

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




بالا