Открыть сервисСервис

Ошибка PAGE_FAULT_IN_NONPAGED_AREA

PAGE_FAULT_IN_NONPAGED_AREA — код остановки (stop-код) операционной системы Microsoft Windows, обозначающий ситуацию, когда система обратилась к странице памяти, которая должна находиться в оперативной памяти (в несвопаемой, nonpaged, области), однако эта страница оказалась недоступной. Ошибка сопровождается синим экраном смерти (BSOD) и аварийной перезагрузкой компьютера.

Природа ошибки

В Windows управление памятью осуществляется с помощью системы виртуальной памяти. Адресное пространство процессов разбито на страницы фиксированного размера (обычно 4 КБ). Страницы могут находиться в оперативной памяти либо быть выгруженными в файл подкачки (pagefile.sys). Когда процесс обращается к странице, отсутствующей в ОЗУ, контроллер памяти вызывает так называемую страницную ошибку (page fault) — это нормальное и штатное событие, после которого система подгружает нужную страницу из файла подкачки или диска.

Однако часть ядра Windows использует несвопаемую память (nonpaged pool) — область, страницы которой никогда не выгружаются на диск и должны всегда присутствовать в ОЗУ. Если ядро или драйвер обращается к адресу в несвопаемой области, а соответствующая страница физически недоступна, контроллер памяти не может обработать запрос штатным способом. В этом случае ядро Windows вызывает исключение и останавливает систему с кодом 0x00000050 (PAGE_FAULT_IN_NONPAGED_AREA).

Основные причины

Наиболее частые причины появления ошибки:

  • Проблемы с оперативной памятью. Дефектные модули ОЗУ, ошибки в микросхемах, нестабильность при разгоне — наиболее распространённый источник. Повреждённый бит в RAM приводит к тому, что данные, записанные в несвопаемую область, при чтении оказываются некорректными.
  • Сбойные драйверы. Драйвер, написанный с ошибкой или повреждённый, может обратиться к несвопаемому адресу, который не был корректно выделен. Классический пример — драйверы антивирусов, эмуляторов дисков, виртуализаторов, устаревшие драйверы видеокарт и сетевых адаптеров.
  • Повреждённые системные файлы. Сбой компонентов ядра Windows, повреждение образа системы в результате сбоя электропитания, вредоносного воздействия или ошибок на диске.
  • Проблемы с диском. Ошибки в файловой системе, секторы на жёстком диске (HDD/SSD), из-за которых данные не могут быть корректно прочитаны или записаны.
  • Нестабильное оборудование. Разгон процессора, неисправный блок питания, перегрев, несовместимые модули памяти.

Диагностика

Для определения причины сбоя используются следующие средства:

  • Дампы памяти. При BSOD Windows записывает дамп памяти (memory dump) в файл C:\Windows\MEMORY.DMP или мини-дампы в папку C:\Windows\Minidump. Анализ дампа с помощью утилит WinDbg или BlueScreenView позволяет определить модуль (драйвер), на момент сбоя обращавшийся к недоступной странице.
  • Проверка оперативной памяти. Встроенная утилита Windows «Средство проверки памяти Windows» (mdsched.exe) выполняет тест модулей ОЗУ. Дополнительно рекомендуется запуск стресс-тестов MemTest86, который проверяет память более тщательно.
  • Проверка целостности системных файлов. Команда sfc /scannow запускает проверку и восстановление защищённых системных файлов. Утилита DISM (DISM /Online /Cleanup-Image /RestoreHealth) восстанавливает компонентный магазин Windows.
  • Проверка диска. Команда chkdsk C: /f /r проверяет файловую систему и ищет повреждённые сектора.
  • Просмотр журнала событий. В «Просмотре событий» (eventvwr.msc) в журналах «Система» и «Приложения» можно найти записи о сбоях драйверов и компонентов, предшествовавшие BSOD.

Методы устранения

Последовательность действий при устранении ошибки обычно включает:

  1. Проверку оперативной памяти стресс-тестом (MemTest86, не менее 2–3 полных проходов). При обнаружении ошибок дефектные модули заменяются. Если разгон применялся — его отключают, возвращая частоты и тайминги к штатным значениям.
  2. Обновление или переустановку драйверов. Устанавливаются актуальные версии драйверов видеокарты, чипсета, сетевого адаптера, звуковой карты. Подозрительные драйверы (виртуализаторы, эмуляторы, утилиты «оптимизации») временно удаляются.
  3. Восстановление системных файлов с помощью sfc и DISM.
  4. Проверку диска утилитой chkdsk.
  5. Откат последних изменений. Если ошибка появилась после установки нового программного обеспечения или обновления Windows, выполняется откат через точку восстановления или удаление подозрительного ПО.
  6. Проверку температурного режима и блока питания. Перегрев и просадки напряжения могут вызывать ошибки чтения памяти.

Связанные коды остановки

С ошибкой PAGE_FAULT_IN_NONPAGED_AREA тесно связаны другие stop-коды, указывающие на дефекты памяти:

КодНазваниеОписание
0x0000001AMEMORY_MANAGEMENTОшибка управления памятью ядра
0x0000000AIRQL_NOT_LESS_OR_EQUALОбращение к памяти с недопустимым уровнем прерываний
0x0000007ESYSTEM_THREAD_EXCEPTION_NOT_HANDLEDИсключение в системном потоке, часто из-за драйвера
0x000000D1DRIVER_IRQL_NOT_LESS_OR_EQUALДрайвер обратился к памяти с неверным IRQL
0x0000009CMACHINE_CHECK_EXCEPTIONАппаратная ошибка процессора

Частое появление любых из перечисленных кодов в сочетании с PAGE_FAULT_IN_NONPAGED_AREA указывает преимущественно на аппаратную проблему с оперативной памятью или процессором.

Источники:

  • Документация Microsoft Learn: «Bug check code reference»
  • Документация Microsoft Learn: «Overview of memory management in Windows»
  • BlueScreenView, NirSoft — утилита анализа дампов BSOD
  • MemTest86, Passmark Software — средство тестирования оперативной памяти
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru