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

Увага!Аварійний дамп не створюється, якщо відмовила дискова підсистемаабо критична помилка виникла на початковій стадії завантаження Windows.

Типи аварійних дампів пам'яті Windows

На прикладі актуальною операційної системи Windows 10 (Windows Server 2016) розглянемо основні типи дампов пам'яті, які може створювати система:

  • Міні дамп пам'яті (Small memory dump)(256 КБ). Цей тип файлу включає мінімальний обсяг інформації. Він містить тільки повідомлення про помилку BSOD, інформацію про драйвери, процесах, які були активні в момент збою, а також який процес або потік ядра викликав збій.
  • Дамп пам'яті ядра (Kernel memory dump). Як правило, невеликий за розміром - одна третина обсягу фізичної пам'яті. Дамп пам'яті ядра є більш докладним, ніж міні дамп. Він містить інформацію про драйвери і програмах в режимі ядра, включає пам'ять, виділену ядру Windows і апаратного рівнем абстракції (HAL), а також пам'ять, виділену драйверам і іншим програмам в режимі ядра.
  • Повний дамп пам'яті (Complete memory dump). Найбільший за обсягом і вимагає пам'яті, що дорівнює оперативної пам'яті вашої системи плюс 1MB, необхідний Windowsдля створення цього файлу.
  • Автоматичний дамп пам'яті (Automatic memory dump). Відповідає дампи пам'яті ядра з точки зору інформації. Відрізняється лише тим, скільки місця він використовує для створення файлу дампа. Цей тип файлів не існував в Windows 7. Він був доданий в Windows 8.
  • Активний дамп пам'яті (Active memory dump). Цей тип відсіває елементи, які не можуть визначити причину збою системи. Це було додано в Windows 10 і особливо корисно, якщо ви використовуєте віртуальну машину, або якщо ваша система є хостом Hyper-V.

Як включити створення дампа пам'яті в Windows?

За допомогою Win + Pause відкрийте вікно з параметрами системи, виберіть « Додаткові параметрисистеми»(Advanced system settings). У вкладці « додатково»(Advanced), розділ« »(Startup and Recovery) натисніть кнопку« параметри»(Settings). У вікні, налаштуйте дії при відмові системи. Поставте галку в чек-боксі « Записати події в системний журнал»(Write an event to the system log), виберіть тип дампа, який повинен створюватися при збої системи. Якщо в чек-боксі « Замінювати існуючий файл дампа»(Overwrite any existing file) поставити галку, то файл буде записуватись при кожному збої. Краще цю галку зняти, тоді у вас буде більше інформаціїдля аналізу. Вимкніть також автоматичну перезавантаження системи (Automatically restart).

У більшості випадків для аналізу причини BSOD вам буде досить малого дампа пам'яті.

Тепер при виникненні BSOD ви зможете проаналізувати файл дампа і знайти причину збоїв. Міні дамп за замовчуванням зберігається в папці% systemroot% \ minidump. Для аналізу файлу дампа рекомендую скористатися програмою WinDBG(Microsoft Kernel Debugger).

Установка WinDBG в Windows

утиліта WinDBGвходить в " Пакет SDK для Windows 10»(Windows 10 SDK). .

файл називається winsdksetup.exe, Розмір 1,3 МБ.

Запустіть установку і виберіть, що саме потрібно зробити - встановити пакет на цей комп'ютер або завантажити для установки на інші комп'ютери. Встановимо пакет на локальний комп'ютер.

Можете встановити весь пакет, але для установки тільки інструменту налагодження виберіть Debugging Tools for Windows.

Після установки ярлики WinDBG можна знайти в стартовому меню.

Налаштування ассоціаціі.dmp файлів з WinDBG

Для того, щоб відкривати файли дампов простим кліком, Зіставте расшіреніе.dmp з утилітою WinDBG.

  1. Відкрийте командний рядок від імені адміністратора і виконайте команди для 64-розрядної системи: cd C: \ Program Files (x86) \ Windows Kits \ 10 \ Debuggers \ x64
    windbg.exe -IA
    для 32-розрядної системи:
    C: \ Program Files (x86) \ Windows Kits \ 10 \ Debuggers \ x86
    windbg.exe -IA
  2. В результаті типи файлів: .DMP, .HDMP, .MDMP, .KDMP, .WEW - будуть співставлені з WinDBG.

Налаштування сервера налагоджувальних символів в WinDBG

Налагодження символи (debug-символи або symbol files) - це блоки даних, які генеруються в процесі компіляції програми спільно з виконуваним файлом. У таких блоках даних міститься інформація про імена змінних, що викликаються функціях, бібліотеках і т.д. Ці дані не потрібні при виконанні програми, але корисні при її налагодженні. Компоненти Microsoft компілюються з символами, що розповсюджуються через Microsoft Symbol Server.

Налаштуйте WinDBG на використання Microsoft Symbol Server:

  • Відкрийте WinDBG;
  • Перейдіть в меню File –> Symbol File Path;
  • Пропишіть рядок, що містить URL для завантаження символів налагодження з сайту Microsoft і папку для збереження кешу: SRV * E: \ Sym_WinDBG * http: //msdl.microsoft.com/download/symbols У прикладі кеш завантажується в папку E: \ Sym_WinDBG, можете вказати будь-яку.
  • Не забувайте зберегти зміни в меню File–>Save WorkSpace;

WinDBG зробить пошук символів в локальній папці і, якщо не виявить в ній необхідних символів, то самостійно завантажить символи з вказаного сайту. Якщо ви хочете додати власну папку з символами, то можна зробити це так:

SRV * E: \ Sym_WinDBG * http: //msdl.microsoft.com/download/symbols; c: \ Symbols

Якщо підключення до інтернету відсутня, то завантажте попередньо пакет символів з ресурсу Windows Symbol Packages.

Аналіз аварійного дампа пам'яті в WinDBG

Отладчик WinDBG відкриває файл дампа і завантажує необхідні символи для налагодження з локальної папкиабо з інтернету. Під час цього процесу ви не можете використовувати WinDBG. Внизу вікна (в командному рядкувідладчика) з'являється напис Debugee not connected.

Команди вводяться в командний рядок, розташовану внизу вікна.

Найголовніше, на що потрібно звернути увагу - це код помилки, який завжди вказується в шістнадцятковому значенні і має вигляд 0xXXXXXXXX(Вказуються в одному з варіантів - STOP:, 02.07.2019 0008F, 0x8F). У нашому прикладі код помилки 0х139.

Отладчик пропонує виконати команду! Analyze -v, досить навести курсор миші на посилання і клікнути. Для чого потрібна ця команда?

  • Вона виконує попередній аналіз дампа пам'яті і надає докладну інформацію для початку аналізу.
  • Ця команда відобразить STOP-код і символічне ім'я помилки.
  • Вона показує стек викликів команд, які привели до аварійного завершення.
  • Крім того, тут відображаються несправності IP-адреси, процесів і регістрів.
  • Команда може надати готові рекомендації щодо вирішення проблеми.

Основні моменти, на які ви повинні звернути увагу при аналізі після виконання команди! Analyze -v (лістинг неповний).

1: kd>! Analyze -v


* *
* Bugcheck Analysis *
* *
*****************************************************************************
Символічне ім'я STOP-помилки (BugCheck)
KERNEL_SECURITY_CHECK_FAILURE (139)
Опис помилки (Компонент ядра пошкодив критичну структуру даних. Це пошкодження потенційно може дозволити зловмиснику отримати контроль над цією машиною):

A kernel component has corrupted a critical data structure. The corruption could potentially allow a malicious user to gain control of this machine.
Аргументи помилки:

Arguments:
Arg1: 0000000000000003, A LIST_ENTRY has been corrupted (i.e. double remove).
Arg2: ffffd0003a20d5d0, Address of the trap frame for the exception that caused the bugcheck
Arg3: ffffd0003a20d528, Address of the exception record for the exception that caused the bugcheck
Arg4: 0000000000000000, Reserved
Debugging Details:
------------------

Лічильник показує скільки раз система впала з аналогічною помилкою:

CUSTOMER_CRASH_COUNT: 1

DEFAULT_BUCKET_ID: FAIL_FAST_CORRUPT_LIST_ENTRY

Код STOP-помилки в скороченому форматі:

BUGCHECK_STR: 0x139

Процес, під час виконання якого стався збій (не обов'язково причина помилки, просто в момент збою в пам'яті виконувався цей процес):

PROCESS_NAME: sqlservr.exe

Розшифровка коду помилки: В цьому додатку система виявила переповнення буфера стека, що може дозволити зловмиснику отримати контроль над цим додатком.

ERROR_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.
EXCEPTION_CODE: (NTSTATUS) 0xc0000409 - The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.

Останній виклик в стеці:

LAST_CONTROL_TRANSFER: from fffff8040117d6a9 to fffff8040116b0a0

Стек викликів в момент збою:

STACK_TEXT:
ffffd000`3a20d2a8 fffff804`0117d6a9: 00000000`00000139 00000000`00000003 ffffd000`3a20d5d0 ffffd000`3a20d528: nt! KeBugCheckEx
ffffd000`3a20d2b0 fffff804`0117da50: ffffe000`f3ab9080 ffffe000`fc37e001 ffffd000`3a20d5d0 fffff804`0116e2a2: nt! KiBugCheckDispatch + 0x69
ffffd000`3a20d3f0 fffff804`0117c150: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: nt! KiFastFailDispatch + 0xd0
ffffd000`3a20d5d0 fffff804`01199482: ffffc000`701ba270 ffffc000`00000001 000000ea`73f68040 fffff804`000006f9: nt! KiRaiseSecurityCheckFailure + 0x3d0
ffffd000`3a20d760 fffff804`014a455d: 00000000`00000001 ffffd000`3a20d941 ffffe000`fcacb000 ffffd000`3a20d951: nt! ?? :: FNODOBFM :: `string" + 0x17252
ffffd000`3a20d8c0 fffff804`013a34ac: 00000000`00000004 00000000`00000000 ffffd000`3a20d9d8 ffffe001`0a34c600: nt! IopSynchronousServiceTail + 0x379
ffffd000`3a20d990 fffff804`0117d313: ffffffff`fffffffe 00000000`00000000 00000000`00000000 000000eb`a0cf1380: nt! NtWriteFile + 0x694
ffffd000`3a20da90 00007ffb`475307da: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: nt! KiSystemServiceCopyEnd + 0x13
000000ee`f25ed2b8 00000000`00000000: 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000: 0x00007ffb`475307da

Ділянка коду, де виникла помилка:

FOLLOWUP_IP:
nt! KiFastFailDispatch + d0
fffff804`0117da50 c644242000 mov byte ptr, 0
FAULT_INSTR_CODE: 202444c6
SYMBOL_STACK_INDEX: 2
SYMBOL_NAME: nt! KiFastFailDispatch + d0
FOLLOWUP_NAME: MachineOwner

Ім'я модуля в таблиці об'єктів ядра. Якщо аналізатору вдалося виявити проблемний драйвер, Ім'я відображається в полях MODULE_NAME і IMAGE_NAME:

MODULE_NAME: nt
IMAGE_NAME: ntkrnlmp.exe

1: kd> lmvm nt
Browse full module list
Loaded symbol image file: ntkrnlmp.exe
Mapped memory image file: C: \ ProgramData \ dbg \ sym \ ntoskrnl.exe \ 5A9A2147787000 \ ntoskrnl.exe
Image path: ntkrnlmp.exe
Image name: ntkrnlmp.exe
InternalName: ntkrnlmp.exe
OriginalFilename: ntkrnlmp.exe
ProductVersion: 6.3.9600.18946
FileVersion: 6.3.9600.18946 (winblue_ltsb_escrow.180302-1800)

У наведеному прикладі аналіз вказав на файл ядра ntkrnlmp.exe. Коли аналіз дампа пам'яті вказує на системний драйвер (наприклад, win32k.sys) або файл ядра (як в нашому прикладі ntkrnlmp.exe), найімовірніше даний файлне є причиною проблеми. Дуже часто виявляється, що проблема криється в драйвері пристрою, налаштуваннях BIOSабо в несправності обладнання.

Якщо ви побачили, що BSOD виник через стороннього драйвера, Його ім'я буде вказано в значеннях MODULE_NAME і IMAGE_NAME.

наприклад:

Image path: \ SystemRoot \ system32 \ drivers \ cmudaxp.sys
Image name: cmudaxp.sys

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

Або як його ще називають BSOD, може неабияк зіпсувати життя як комп'ютера так і сервера, а ще з'ясувалося і віртуальній машині. Сьогодні розповім як аналізувати синій екран dump memory в Windows, так як правильна діагностика і отримання причини через що не працює ваша система, 99 відсотків її рішення, тим більше системний інженер, просто зобов'язаний вміти це робити, та й ще в найкоротші терміни, так як від цього бізнес може в слідстві простою сервісу, втрачати купу грошей.

BSOD розшифровка

Давайте для початку розберемо, що означає ця абревіатура, BSOD від англійського Blue Screen of Death або ще режим STOP помилки.

Помилки синього екрану смерті виникають з різних причин, серед яких можуть бути проблеми з драйверами, може бути якийсь Збійний додаток, або зіпсований модуль оперативної пам'яті. Як тільки у вас з'явився синій екран в Windows, то ваша система автоматично створить файл crash memory dump, який ми і будемо аналізувати.

Як налаштувати створення memory dump

за замовчуванням windowsпри синьому екрані створює аварійний дамп файл memory.dmp, зараз покажу як він налаштовується і де зберігається, я буду показувати на прикладі Windows Server 2008 R2, так як у мене недавно була задача по вивченню питання синього екрану у віртуальній машині. Для того щоб дізнатися де налаштований dump memory windows, відкриваємо пуск і клацаємо правим кліком по значку Комп'ютер і вибираємо властивості.

Як аналізувати синій екран dump memory в Windows-Властивості комп'ютера

Як аналізувати синій екран dump memory в Windows-параметри системи

Переходимо у вкладку Додатково-Завантаження і відновлення. Тиснемо кнопку Параметри

Як аналізувати синій екран dump memory в Windows-Завантаження і відновлення

Де зберігається файл memory.dmp

і бачимо, що по-перше варто галка виконати автоматичне перезавантаження, для запису налагоджувальної інформації, вибрано Дамп пам'яті ядра і нижче є нехай куди зберігається дамп пам'яті% SystemRoot% \ MEMORY.DMP

Перейдемо в папку c: \ windows \ і знайдемо файл MEMORY.DMP в ньому міститися коди синього екрану смерті

Як аналізувати синій екран dump memory в Windows-memory.dmp

Як налаштувати mini dump

У малий дамп пам'яті теж записуються помилки синього екрану смерті, налаштовується він там же, потрібно тільки його вибрати.

Зберігається він у папці c: \ windows \ minidump. Перевага в тому, що він займає менше місця і на кожен синій екран створюється окремим файлом. Завжди можна переглянути історію появ синього екрану.

Тепер коли ми розібралися де шукати файл memory dump, потрібно навчитися його интерпритировать і розуміти причину через що відбувається синій екран смерті. У вирішенні цього завдання нам допоможе Microsoft Kernel Debugger. Завантажити Microsoft Kernel Debugger можна з офіційного сайту, головне виберіть потрібну версію ОС якщо кому то влом, то можете завантажити з яндекс диска за прямим посиланням. Так само він входить до складу ADK.

Викачуємо Microsoft Kernel Debugger, в результаті у вас буде маленький файл який дозволить завантажити з інтернету все що вам потрібно. Запускаємо його.

приєднуватися до програми по поліпшенню якості брати участь не будемо

тиснемо Accept і погоджуємося з ліцензією

Як встановити Microsoft Kernel Debugger-погоджуємося з ліцензією

почнеться установка Microsoft Kernel Debugger

Як встановити Microsoft Kernel Debugger-установка MKD

Бачимо, що Microsoft Kernel Debugger успішно встановлений

Після чого бачимо, що в пуску з'явилася папка Debugging Tools for Windows як для 32 так і для 64 бітних систем.

Крім самого пакету Debugging Tools for Windows, також знадобляться набір налагоджувальних символів - Debugging Symbols. Набір налагоджувальних символів специфічний для кожної ОС, на якій був зафіксований BSoD. Тому доведеться завантажити набір символів для кожної ОС, аналізувати роботу якої Вам доведеться. Для 32-розрядної Windows XP потрібні набір символів для Windows XP 32-біт, для 64-розрядної ОС будуть потрібні набір символів для Windows XP 64-біт. Для інших ОС сімейства Windowsнабори символів підбираються згідно таким же принципом. Завантажити налагоджувальні символи можна звідси. Встановлювати їх рекомендується за адресою % Systemroot% \ symbolsхоча мені подобається встановлювати їх в окремі папки і не захаращувати папку Windows.

Аналіз синього екрану в Debugging Tools

Після установки Debugging Symbols під систему на якій був синій екран смерті запускаємо Debugging Tools

Як встановити Microsoft Kernel Debugger-Запуск

Перед аналізом вмісту дампа пам'яті, буде потрібно провести невелику налаштування відладчика. Конкретно - повідомити програмі, яким шляхом слід шукати налагоджувальні символи. Для цього вибираємо в меню File> Symbol File Path ...

Натискаємо кнопку Browse ...

і вказуємо папку, в яку ми встановили налагоджувальні символи для розглянутого дампа пам'яті, можна вказати кілька папок через кому і можна запитувати інформацію про необхідні налагоджувальних символах прямо через Інтернет, з публічного сервера Microsoft. Таким чином у вас буде сама Нова версіясимволів. Зробити це можна в такий спосіб - в меню File> Symbol File Path ... вводимо:

SRV *% systemroot% \ symbols * http: //msdl.microsoft.com/download/symbols

Як аналізувати синій екран смерті

Копіюємо з комп'ютера де вискочив синій екран, файл memory.dmp або minidump, і відкриваємо його, вибираємо в меню File> Open Crash Dump ... і вибираємо необхідний для розгляду файл.

Як аналізувати синій екран смерті-01

Вибираємо для прикладу minidump

Як аналізувати синій екран смерті-відкриваємо minidump

Розпочнеться аналіз мінідампа, бачимо з'явилося посилання на помилку, клацаємо по ній для більш детальної інформації про синьому екрані.

Як аналізувати синій екран смерті-03

І бачимо Збійний додаток яке трощить вашу систему, так само можна ще детальніше подивитися в чому справа, тицьнувши посилання.

Як аналізувати синій екран смерті-04

Отримайте більш детальну інформацію по причині синього екрану.

Як аналізувати синій екран смерті-05

Якщо відкрити memory.dmp то ви отримаєте подібну картину і бачимо чому синій екран у вас з'явився.

Як аналізувати синій екран смерті-06

Ось так ось просто діагностувати і усунути синій екран смерті.

Всі Windows-системи для виявлення фатальної помилки роблять аварійний дамп (знімок) вмісту оперативної пам'яті і зберігає його на жорсткий диск. Існують три типи дампа пам'яті:

Повний дамп пам'яті - зберігає весь вміст оперативної пам'яті. Розмір знімка дорівнює розміру оперативної пам'яті + 1 Мб (заголовок). Використовується дуже рідко, так як в системах з великим об'ємом пам'яті розмір дампа буде занадто великим.

Дамп пам'яті ядра - зберігає інформацію оперативної пам'яті, що стосується тільки режиму ядра. Інформація для користувача режиму не зберігається, так як не несе в собі інформації про причини краху системи. Обсяг файлу дампа залежить від розміру оперативної пам'яті і варіюється від 50 Мб (для систем з 128 Мб оперативної пам'яті) до 800 Мб (для систем з 8 Гб оперативної пам'яті).

Малий дамп пам'яті (міні дамп) - містить досить невелика кількість інформації: код помилки з параметрами, список драйверів завантажених в оперативну пам'ять на момент краху системи і т.д., але цих відомостей достатньо, для визначення збійного драйвера. Ще однією перевагою даного виду дампа є маленький розмір файлу.

Налаштування системи

Для виявлення драйвера викликав нам досить буде використовувати малий дамп пам'яті. Для того щоб система при краху зберігала міні дамп необхідно виконати наступні дії:

Для Windows Xp Для Windows 7
  1. Мій комп'ютер властивості
  2. Переходьте на вкладку додатково;
  3. параметри;
  4. В полі Запис налагоджувальної інформаціївибираємо Малий дамп пам'яті (64 Кб).
  1. Правою клавішею миші натиснути на значку комп'ютерз контекстного менюОберіть властивості(Або комбінація клавіш Win + Pause);
  2. У лівому меню клацаємо на пункт Додаткові параметри системи;
  3. Переходьте на вкладку додатково;
  4. В поле Завантаження і відновлення необхідно натиснути кнопку параметри;
  5. В полі Запис налагоджувальної інформаціївибираємо Малий дамп пам'яті (128 Кб).

Проробивши всі маніпуляції, після кожного BSoD в папці C: \ WINDOWS \ Minidump буде зберігатися файл з расшіреніе.dmp. Раджу ознайомитися з матеріалом "". Також можна встановити галочку на " Замінити існуючий файл дампа". У цьому випадку кожен новий аварійний дамп буде записуватися поверх старого. Я не раджу включати дану опцію.

Аналіз аварійного дампа пам'яті за допомогою програми BlueScreenView

Отже, після появи синього екрану смерті система зберегла новий аварійний дамп пам'яті. Для аналізу дампа рекомендую використовувати програму BlueScreenView. Її можна безкоштовно завантажити. Програма досить зручна і має інтуїтивний інтерфейс. Після її установки перше, що необхідно зробити - це вказати місце зберігання дампов пам'яті в системі. Для цього необхідно зайти в пункт меню " Options"І вибрати" AdvancedOptions". Вибираємо радіокнопку " LoadfromthefollowingMini Dumpfolder"І вказуємо папку, в якій зберігаються дампи. Якщо файли зберігаються в папці C: \ WINDOWS \ Minidump можна натисканням кнопки " Default". Натискаємо OK і потрапляємо в інтерфейс програми.

Програма складається з трьох основних блоків:

  1. Блок головного меню і панель управління;
  2. Блок списку аварійних дампів пам'яті;
  3. Залежно від обраних параметрів може містити в собі:
  • список всіх драйверів знаходяться в оперативній пам'яті до появи синього екрану (за замовчуванням);
  • список драйверів знаходяться в стеку оперативної пам'яті;
  • скріншот BSoD;
  • і інші значення, які ми використовувати не будемо.

У блоці списку дамп пам'яті (на малюнку позначено цифрою 2) вибираємо цікавить нас дамп і дивимося на список драйверів, які були завантажені в оперативну пам'ять (на малюнку позначено цифрою 3). Рожевим кольором пофарбовані драйвера, які перебували в стеці пам'яті. Вони то і є причиною появи BSoD. Далі переходите до Головного меню драйвера, визначайте до якого пристрою або програмі вони належать. В першу чергу звертайте увагу на НЕ системні файли, Адже системні файли в будь-якому випадку завантажені в оперативній пам'яті. Легко зрозуміти, що на зображенні збійних драйвером є myfault.sys. Скажу, що це програма була спеціально запущена для виклику Stop помилки. Після визначення збійного драйвера, необхідно його або оновити, або видалити з системи.

Для того щоб програма показувала список драйверів знаходяться в стеку пам'яті під час виникнення BSoD необхідно зайти в пункт меню " Options"Натискаємо на меню" LowerPaneMode"І вибираємо" OnlyDriversFoundInStack"(Або натисніть клавішу F7), а для показу скріншота помилки вибираємо" BlueScreeninXPStyle"(F8). Що б повернутися до списку всіх драйверів, необхідно вибрати пункт " AllDrivers"(F6).

Якщо перед вами з'явився так званий синій екран смерті в Windows 10 і ви вже готові впасти в нервове коматозний стан, візьміть себе в руки і спробуйте вирішити проблему. Для початку варто сказати, що це зловісне повідомлення сигналізує вам про критичну системну помилку. Більш того, далеко не завжди можна зловити момент і встигнути прочитати код помилки, коли Windows випаде в синій екран смерті і відбудеться перезавантаження пристрою. Відразу відзначимо, що існує величезна кількість рішень цієї проблеми, як і причин появи синього екрану. У цій статті ми спробуємо розглянути ймовірні причинипояви синього екрану щастя, а також про можливих рішенняхпроблеми.

У переважній більшості випадків синій екран смерті сигналізує про помилку BAD_POOL_CALLER - stop 0x000000c2. Діагностувати цю помилку скажімо прямо складно, але можливо і ми спробуємо на прикладі цієї помилку описати алгоритм ваших наступних дій.

Щоб правильно здійснити діагностику проблеми, спочатку слід проаналізувати спеціальний файл системи під назвою minidump (дамп пам'яті). До створення таких файлів призводить збій в роботі системи, більш того, вони можуть нас проінформувати - що саме призвело до збою.

1. Щоб включити таку автоматичну запис малого дампа пам'яті (за замовчуванням вимкнено) зайдіть в властивості комп'ютера і перейдіть в розділ "Додаткові параметри системи" (таке включення передбачено для все систем, а не тільки Windows 10):

Як правило всі файли minidump при появі синього екрану смерті (BSOD) зберігаються, а знайти їх можна в папці C: \ Windows \ Minidump. Примітно, що в імені файлу міститься поточна дата - коли він був створений, що значно полегшує ідентифікацію дати виникнення помилки, особливо з огляду на, що такий файл може бути не один.

Два способи як розшифрувати малий дам пам'яті minidump

перший спосіб, Полягає в використанні досить популярною утиліті BlueScreenView. Ця утиліта може також стати хорошим варіантомдля аналізу дампа пам'яті. Застосування цієї утиліти як не можна до речі стане в нагоді, як спосіб щоб визначити проблемний драйвер.

Більш того, вона особливо примітна тим, що з її допомогою можливий перегляд BSOD (синій екран смерті) як би в стоп-кадрі, як це було, коли система краш. Вона відображає час і дату збою, дані про драйвер або модулі з версією і коротким описом. Крім того, утиліта доступна на багатьох мовах, включаючи російську. Так що утиліта BlueScreenView якраз саме те, якщо потрібно зробити швидкий аналіз дампов пам'яті при BSOD.

для другого способупотрібно встановити Debugging Tools for Windows, а також завантажити утиліту bsdos_utility. Далі після розпакування скрипта bsdos_utility.cmd слід перемістити його на диск C: \ (можна створити окрему папку, але варто пам'ятати, що рядок адреси запуску скрипта буде відрізняться від нашого прикладу). Потім в командному рядку слід написати:

C: \ bsdos_utility.cmd

Після виведення списку всіх дампов зі списку C: \ Windows \ Minidump \, після чого скрипт запитає який саме дамп повинен піддатися аналізу. Вибрати потрібний мінідампа можна також самостійно при запуску скрипта:

Подібним чином можливе виявлення маси помилок Windows 10, через які випав BSOD, а також проблематичних программ.exe через які стався синій екран.

У Windows 8, Microsoft представила новий дамп пам'яті - опція автоматичного дампа пам'яті. Цей параметр в операційній системівстановлений за замовчуванням. У Windows 10 ввели новий тип файлу дампа - активний дамп пам'яті. Для тих, хто не знає, в Windows 7 у нас є малий дамп, дамп ядра і повний дамп пам'яті. Ви можете здивуватися, чому Microsoft вирішила створити цей новий параметр дамп пам'яті? За словами Роберта Симпкинс, старшого інженера підтримки, автоматичний дамп пам'яті, може створити підтримку для сторінки "системи" в файлі конфігурації.
Система управління конфігурацією файлу підкачки відповідає за управління розміром файлу підкачки - це дозволяє уникнути зайвого запасу або розміру файлу підкачки. Ця опція введена в основному для ПК, які працюють на SSD-дисках, які, як правило, мають менший розмір, але величезна кількість оперативної пам'яті.

Параметри дампа пам'яті

Головна перевага "Автоматичний дамп пам'яті" полягає в тому, що це дозволить сеансу підсистеми в диспетчері процесів автоматично зменшити файл підкачки до розміру, меншого, ніж розмір оперативної пам'яті. Для тих, хто не знає, сесія диспетчера підсистеми відповідає за ініціалізацію системи, середу запуску служб і процесів, які необхідні для входу користувача в систему. Він в основному встановлює сторінку файлів в віртуальну пам'ять і запускає процес winlogon.exe.

Якщо ви хочете змінити параметри автоматичного дампа пам'яті, ось як це можна зробити. натисніть клавіші Windows+ X і виберіть - Система. Далі натисніть на кнопку "Додаткові параметри системи - Advance System Settings”.

Натисніть на кнопку Додаткові параметри системи.

Тут ви можете побачити меню, що випадає, де написано "Додатково".

Тут ви можете вибрати потрібний варіант. Пропоновані варіанти:

Ніяких дампов пам'яті.
Малий дамп пам'яті.
Дамп пам'яті ядра.
Повний дамп пам'яті.
Автоматичний дамп пам'яті. Додані в Windows 8.
Активний дамп пам'яті. Додали в Windows 10.
Розташування файлу дампа пам'яті у файлі% SystemRoot% \ MEMORY.DMP.

Якщо ви використовуєте SSD диск, То краще залишити його на "Автоматичний дамп пам'яті"; але якщо ви потребуєте в файлі аварійного дампа, то краще встановити його на "малий дамп пам'яті", з ним ви можете, якщо ви хочете, відправити його комусь, щоб він міг поглянути на нього.

У деяких випадках вам, можливо, буде потрібно збільшити розмір файлу підкачки більше, ніж оперативна пам'ять, Щоб він міг відповідати повній дампи пам'яті. У таких випадках, вам потрібно створити ключ реєстру:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ CrashControl

він називається "LastCrashTime".

Це автоматично збільшить розмір файлу підкачки. Щоб зменшити його, пізніше, ви можете просто видалити цей ключ.

У Windows 10 ввели новий файл дампа активний дамп пам'яті. Він містить тільки найнеобхідніше і, отже, він меншого розміру.

У мене немає можливості протестувати його, але я створив цей ключ і виконав моніторинг розміру файлу підкачки. Я знаю, що рано чи пізно я отримаю критичну помилку. Тоді я буду перевіряти його.

Ви можете проаналізувати дамп пам'яті Windows.dmp файлів за допомогою WhoCrashed. Утиліта WhoCrashed Home безкоштовна, в ній представлені драйвери, які були врізані в ваш комп'ютер за допомогою одного кліка. У більшості випадків вона може визначити не справний драйвер, який заподіюють страждання вашого комп'ютера. Це краш-дамп аналізу системи, дампи пам'яті і тут представлена ​​вся зібрана інформація в доступній формі.

Як правило, набір інструментів налагодження відкриває аварійний дамп аналізу. За допомогою цієї утиліти вам не потрібні ніякі знання і навички налагодження, щоб з'ясувати, які драйвери викликають проблеми на вашому комп'ютері.

WhoCrashed покладається на пакет налагодження (програми windbg) від Microsoft. Якщо цей пакет не встановлено, WhoCrashed буде сама завантажувати і автоматично витягне цей пакет для вас. Просто запустіть програму і натисніть на кнопку Аналіз. Коли у вас є WhoCrashed встановлений в системі і, якщо він несподівано скидає або закривається, програма дасть вам знати, якщо аварійний дамп включений на вашому комп'ютері, і вона буде пропонувати Вам пропозиції про те, як їх включити.