Боремося з bsod (blue screen of death)

Стоп-повідомлення про помилки - сумнозвісні «сині екрани смерті», Blue Screen of Death, BSOD - виникають в тому випадку, якщо операційна система виявляє фатальний збій, в результаті якого вона не може продовжити своє функціонування.

Q: Купив в січні систему (Athlon 1600XP +, 256ОЗУ, MS-6380 ATX Mainboard (K7T266 Pro2-RU), GeForce2 DDR (64MB), SoundBlaster Live! 5.1) на Савеловський ринок, зібрали і поставили (попередньо куплений) WINDOWS XP HOME EDITION в комп`ютерній фірмі поруч з будинком. Система орала справно, але вимагала реєстрації, перевстановив на Professional, і в лютому все щастя накрилося (синій екран і т.п.). Захотілося поставити Win 98, Me, нічого не встановлювалося, і поставив знову XP Professional - все працювало справно, але через місяць знову все впало. Перевстановив ту ж вінду (звик до краси і зручності), але пройшов місяць, і знову перевстановлення. Все відновив, через місяць при скануванні сис-ми антивірусником з`явився ... ви вгадали - синій екран. Новий місяць вже під кінець, вважаю дні. Вчора запускаючи гру, здався він - синій екран смерті, видав якісь нулі:

Відео: Windows 10 BSOD Blue Screen of death 101 Part 2 Most common causes of Blue screens on Windows PC

STOP: 0x0000007a (0xE17ABA94,0xC000000e, 0xBF8F92C8,0X039D860) KERNEL_DATA_INPAGE_ERROR
win32k.sys - ADRESS BF8F92C8 BASE AT BF800000, DATESTAMP 3b7de698

Перезавантажився, вставив диск і через кілька спроб запустився і тут же знову повис. Плюнув на все і пішов спати. З ранку все загрузилось без проблем, наче й не було нічних кошмарів, проте при щоденному скануванні NORTON ANTIVIRUS з`явився синій:

STOP: 0x00000077 (0xC0000185, 0xC0000486, 0x00000000, 0x008D7000) KERNEL_STACK_INPAGE_ERROR

Мені цікаво, так у всіх висне, або я такий щасливий? Як з цим боротися "кувалдою і молотком»?




А: Боюся, ваша проблема близька серцю багатьох користувачів, а тому варто розглянути її детальніше. Стоп-повідомлення про помилки - сумнозвісні «сині екрани смерті», Blue Screen of Death, BSOD - виникають в системах сімейства Windows NT в тому випадку, якщо операційна система виявляє фатальний збій, в результаті якого вона не може продовжити своє функціонування. Як відомо, у звичайних програм в Windows NT, якщо можна так висловитися, кілька обмежені повноваження. Однак існують і такі процеси, яким дозволено все - працюють в режимі ядра, що мають доступ до всієї системи. ОС ніяк не може запобігти некоректні або помилкові операції таких процесів і при виникненні в них збою просто припиняє свою роботу і радує користувача веселим BSOD з трудновоспрінімаемимі кодами (насправді, BSOD з`являється навіть при простих збої процесів, що працюють в режимі ядра, при яких робота ОС в цілому могла б бути продовжена). Правда, якщо система налаштована таким чином, що при виникненні збою відбувається автоматичне перезавантаження, то задоволення споглядати BSOD мине користувача (відключити автоматичну перезавантаження можна в діалозі «Властивості Системи», на вкладці «Завантаження і відновлення»).

Повідомлення STOP містять спеціальний, що ідентифікує кожне з них, шістнадцятковий код (наприклад - STOP: 0x000000DI, плюс якісь параметри), що відповідає цьому коду текстовий ідентифікатор (наприклад - IRQL_NOT_LESS_OR_EQUAL), інформацію отладочного порту, а також не завжди марні рекомендації користувачеві щодо можливих способів усунення причин збою. У ряді випадків в тексті BSOD може згадуватися ім`я файлу або пристрою, пов`язаного з причинами збою і адреса пам`яті, по якому виникла проблема.




Всього стоп-кодів близько 200 - детально з ними можна познайомитися в документі Error and Event Messages зі складу Windows 2000 Server Resource Kit або в статті Q103059 бази даних служби технічної підтримки Microsoft, найчастіше ж звичайним користувачам під час роботи (BSOD, що виникають, наприклад , при установці системи, і пов`язані головним чином з несумісністю обладнання, розглядати поки не будемо) зустрічається «гаряча дюжина» найбільш поширених BSOD:

  • KMODE_EXCEPTION_NOT_HANDLED - процес режиму ядра спробував виконати неприпустиму або невідому процесорну інструкцію. Може бути пов`язаний з несумісністю «заліза», несправністю устаткування, помилками де в іншому місці системної службі.
  • NTFS_FILE_SYSTEM - збій при виконанні коду драйвера файлової системи ntfs.sys. Причиною може бути порушення цілісності даних на диску (зіпсований кластер) або в пам`яті, пошкодження драйверів IDE або SCSI.
  • DATA_BUS_ERROR - в оперативній пам`яті виявлена помилка парності. Причина - дефектний або несумісне обладнання, наприклад - збій в мікросхемі кеша другого рівня, в відеопам`яті. Також може бути пов`язаний з некоректно працюють або невірно сконфігурованим драйвером, зі збоєм на диску.
  • IRQL_NOT_LESS_OR_EQUAL - процес режиму ядра спробував звернутися до області пам`яті, використовуючи неприпустимо високий для нього рівень IRQL (Interrupt Request Level). Може бути викликаний помилками в драйвері, системної службі, BIOS або несумісним драйвером, службою, програмним забезпеченням (наприклад - антивірусом).
  • PAGE_FAULT_IN_NONPAGED_AREA - запитувані дані відсутні в пам`яті (наприклад, система шукає потрібні дані у файлі підкачки, але не знаходить їх). Зазвичай пов`язаний зі збоєм устаткування (дефектна пам`ять), порушенням файлової системи, помилкою системної служби або антивіруса.
  • KERNEL_STACK_INPAGE_ERROR - не вдається прочитати з файлу підкачки в фізичну пам`ять запитувану сторінку пам`яті. Причини - дефектний сектор файлу віртуальної пам`яті, збій контролера жорстких дисків, недостатньо місця на диску, неправильне підключення жорсткого диска, конфлікт переривань, дефект ОЗУ, вірус.
  • MISMATCHED_HAL - рівень апаратних абстракцій (HAL) і ядро системи не відповідають типу комп`ютера. Найчастіше пов`язаний з ситуацією, коли в спочатку однопроцесорних систему встановлюють другий процесор, забуваючи вручну оновити HAL і ntoskrnl. Може також бути викликаний розбіжністю версій hal.dll і ntoskrnl.exe.
  • KERNEL_DATA_INPAGE_ERROR - не вдається прочитати в фізичну пам`ять запитувану сторінку даних. Причини - дефектний сектор файлу віртуальної пам`яті, збій контролера жорстких дисків, збій оперативної пам`яті, вірус, збій дискового контролера, дефектна оперативна пам`ять.
  • INACCESSIBLE_BOOT_DEVICE - в процесі завантаження ОС не змогла отримати доступ до системного розділу. Причин цього поширеного збою може бути дуже багато: дефектний завантажувальний диск або дисковий контроллер- несумісність обладнання-завантажувальний вірус-помилка в файлової системі, наприклад - в таблиці розділів Partition Table- пошкодження або відсутність необхідного при завантаженні файлу, наприклад - NTLDR- відсутність драйвера контролера жорстких дисків або невідповідність поточного драйвера встановленого оборудованію- включений в BIOS режим DMA- включений в CMOS Setup режим зміни букв дисководів DRIVE SWAPPING- конфлікт розподілу ресурсів між ді Сковен контролером і іншим устройством- пошкодження даних про завантажуються драйвери в системному реестре- установка системи в розділ за межами перших 1024 циліндри жорсткого диска-помилка у файлі boot.ini.
  • UNEXPECTED_KERNEL_MODE_TRAP - виникнення непідтримуваної ядром пастки (trap) або фатальна помилка (типу поділу на нуль). Несправність обладнання або збій програмного забезпечення.
  • STATUS_SYSTEM_PROCESS_TERMINATED - збій в службі, що працює в режимі користувача. Збій може бути пов`язаний з некоректною роботою прикладних програм, драйверів, сторонніх системних служб.
  • STATUS_IMAGE_CHECKSUM_MISMATCH - пошкоджений або загублений файл драйвера або системної бібліотеки. Може бути викликаний збоєм файлової системи або випадковим видаленням системного файлу.

Виходячи з цих даних і слід планувати процес пошуку причин збою, який може включати в себе:

  • видалення застарілих або несумісних додатків;
  • видалення не мають цифрового підпису драйверів;
  • оновлення програмного забезпечення і драйверів обладнання;
  • видалення несумісного устаткування;
  • перевірка файлової системи;
  • сканування антивірусом;
  • перевірка системних файлів за допомогою утиліти sfc.exe (команда sfc / scannow);
  • тестування або заміна пам`яті;
  • установка останніх оновлень і патчів операційної системи і програмного забезпечення;
  • зміна налаштувань CMOS Setup, наприклад - відключення кешування або режиму DMA;
  • відновлення головного завантажувального запису (MBR) і системного завантажувача Windows NT;
  • перевірка правильності підключення дисків, дискових контролерів і SCSI-адаптерів;
  • відмова від розгону;
  • перевстановлення системи, нарешті.

У вашій же ситуації я б почав пошук причин несправності з заміни оперативної пам`яті - Останнім часом дуже часто саме вона є причиною проблем багатьох користувачів. Зрозуміло, ні в якому разі не можна нехтувати пошуком рішення збою в базі даних служби технічної підтримки Microsoft (https://search.support.microsoft.com/kb/c.asp) - способи вирішення багатьох проблем давно відомі і описані. В принципі, можна змусити систему зробити при збої повний дамп вмісту оперативної пам`яті, однак, зміст цього процедури з`являється тільки при наявності повної підтримки з боку виробника викликає збій програмного забезпечення або з боку розробника або постачальника операційної системи, оскільки розібратися з дампом навряд чи зможе навіть системний адміністратор середньої руки, не кажучи вже про звичайний користувача.

В особливо важких випадках система вилітає в BSOD відразу ж після завантаження або безпосередньо в її процесі, і немає ніякої можливості зайнятися пошуком причини збою, провести діагностику або видалити проблемний драйвер. В цьому випадку вам може допомогти вибір при завантаженні режиму захисту від збоїв або завантаження останньої вдалої конфігурації, тимчасове видалення всіх пристроїв, крім жорсткого диска і відеокарти.

Відео: The History of the BSOD (Blue Screen of Death)

Так що «кувалдою і молотком» боротися з BSOD не треба. Краще запастися терпінням і почитати документацію.


Поділися в соц. мережах:

По темі: