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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

در این صفحه

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

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

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

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

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

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

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

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

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

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

  1. اگر یک درایور برنامه را در لیست می بینید، از وب سایت سازنده آن بازدید کنید - ممکن است برنامه به روز شده باشد. اگر نسخه به‌روزرسانی‌شده‌ای وجود ندارد، می‌توانید برنامه را حذف نصب کنید (همیشه می‌توانید بعداً آن را دوباره نصب کنید). اگر خطاهای بحرانی متوقف شوند، علت آن بوده است.
  2. اگر درایور دستگاه را در لیست مشاهده کردید و از ویندوز ویستا استفاده می کنید، از آن استفاده کنید به روز رسانی ویندوزبرای جستجوی درایورهای جدید این روش برای ویندوز ویستا به خوبی کار می کند زیرا بسیاری از سازندگان دستگاه با مایکروسافت کار می کنند تا درایورهای خود را برای دانلود از طریق Windows Update در دسترس قرار دهند. در کنترل پنل، را انتخاب کنید به روز رسانی ویندوزو به روز رسانی درایور دستگاه خود را بررسی کنید. اگر درایور پیدا شد، آن را نصب کنید.
  3. اگر Windows Update درایورهای جدیدی را به شما ارائه نمی دهد، از وب سایت سازنده دستگاه دیدن کنید. شاید درایورهای جدیدی در آنجا موجود باشد. اگر در یافتن درایورها مشکل دارید، لطفاً به انجمن Find Drivers, Firmwares 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) و به کندی کامپیوتر و رفتار عجیب برخی از اپلیکیشن های کاربردی که اصلا به درایور مربوط نمی شوند.

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

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

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

مسابقه با آهن

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

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

هیزم بدون گواهی بلافاصله وارد کوره می شود

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

با هیزم خام چه کنیم؟

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

دور انداختن درایور (به همراه سخت افزار/برنامه ای که از آن استفاده می کند) نیز گزینه ای نیست. هر چند اگر معلوم باشد که صفحه آبی مرگ مقصر است کارت صداسازنده چینی ناآشنا به ارزش 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 باقی بماند. با این حال، با توجه به ویستا، پس از زمانی که توسعه دهندگان درایور به آن سوئیچ کنند، به احتمال زیاد توسعه دهندگان درایور ماشین های چند پردازنده ای را به دست خواهند آورد (زیرا به سادگی هیچ دستگاه دیگری در فروش وجود نخواهد داشت) و ساخته های خود را در یک محیط چند پردازنده ای آزمایش خواهند کرد.

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




بالا