pool corruption in file area win 10 как исправить
Как исправить BSOD SPECIAL POOL DETECTED MEMORY CORRUPTION в Windows?
SPECIAL POOL DETECTED MEMORY CORRUPTION – это ошибка, вызывающая “синий экран смерти” (BSOD), которая прерывает работу пользователя и немедленно перезагружает компьютер. Этот код имеет значение проверки 0x000000C1 и может быть вызван в связи с несколькими системными сбоями. Как и многие другие подобные ошибки, проблема встречается во многих версиях Windows, включая XP, 7, 8 и 10.
Хотя данная ошибка может раздражать, например, из-за потери несохранённой работы на компьютере, она выполняет важную функцию, так как сообщает, что система вышла из строя и дальнейшая операция может привести к её повреждению. По сути, это средство защиты для предотвращения серьёзных повреждений компьютера.
Почему появляется ошибка SPECIAL POOL DETECTED MEMORY CORRUPTION?
Если быть точным, код ошибки указывает на неисправность RAM (оперативной памяти) – аппаратного компонента, который отвечает за чтение и запись различных данных при необходимости. Однако это не единственная причина появления экрана BSOD. Другие причины, по которым может возникать ошибка:
Решение 1. Запустите средство устранения неполадок и совместимости программ
В некоторых случаях несовместимые программы могут конфликтовать между собой, и вызывать сбои, поэтому следует запустить средство устранения неполадок:
Решение 2. Проверка диска на наличие ошибок
Для этого есть автоматический инструмент Windows:
Решение 3. Запустить сканирования SFC
Сканирование SFC – отличный встроенный инструмент, который может найти и исправить повреждённые системные файлы. Чтобы запустить его, необходимо получить доступ к командной строке от имени администратора:
Решение 4. Проверьте оперативную память с помощью средства диагностики Windows Media
Как упоминалось ранее, отказ ОЗУ может быть основной причиной BSOD. Вы можете проверить, так ли это, запустив средство диагностики Windows Media:
Решение 5. Проверьте наличие проблемных драйверов / обновите драйверы
В некоторых случаях причиной появления BSOD SPECIAL POOL DETECTED MEMORY CORRUPTION является драйвер адаптера Realtek Wireless USB 2.0. Поэтому следует проверить, есть ли рядом с ним желтый восклицательный знак. Если это так, обновите или переустановите драйвер.
Решение 6. Проверьте компьютер на наличие вредоносных программ
Наличие вредоносного ПО на компьютере может привести к серьёзным проблемам, в том числе – вызвать различные ошибки и сбои. Рекомендуется запустить полное сканирование системы с помощью стороннего антивируса. Если таковой отсутствует, можно использовать встроенный Защитник Windows.
Решение ошибки 0x000000DE: POOL CORRUPTION IN FILE AREA на Windows 7
Согласно данным компании Microsoft, синий экран смерти POOL CORRUPTION IN FILE AREA со стоп-кодом 0x000000DE появляется на Windows 7 и не только по причине повреждения драйвера. Однако, если проанализировать зарубежные и отечественные форумы, то можно отметить, что ошибка 0x000000DE: POOL_CORRUPTION_IN_FILE_AREA появляется по причине повреждения драйвера видеокарты, звуковой карты, при неполадках с оперативной памятью, при несовместимости софта с компонентами операционной системы. Также некоторые пользователи отмечают, что BSOD с кодом 0x000000DE появляется по причине конфликта ОС с файлами антивируса Nod 32 и Касперского.
Методы исправления ошибки 0x000000DE: POOL_CORRUPTION_IN_FILE_AREA
Если на вашем компьютере появился BSOD 0x000000DE: POOL_CORRUPTION_IN_FILE_AREA, то первое, что нужно сделать – перезагрузить систему, чтобы убедиться в том, что ошибка не является результатом банального сбоя. Далее нужно проверить, какие программы обновлялись самостоятельно или вы устанавливали их до появления синего экрана смерти. Для этого нужно открыть «Панель управления», «Программы», «Удаление программ» и выставить сортировку установленного софта по дате установки.
Смотрим, какой софт был установлен или обновлен последним. Удаляем программу. Устанавливаем её с правами Администратора и только с выключенным антивирусом. Если ошибка 0x000000DE исчезла, то проблема кроется в антивирусе. Нужно для начала внести софт в исключения защитника. Если не поможет, то нужно переустановить или вовсе поменять антивирус.
В случае, если с программами все в порядке (никакой софт не устанавливали и не обновили), а BSOD вылетает, то причина может крыться в драйверах. Чаще всего при ошибке 0x000000DE: POOL_CORRUPTION_IN_FILE_AREA сбоят драйвера видеокарты и звуковой карты. Поэтому их нужно переустановить или обновить. Для этого выполняем следующее:
ВАЖНО! Не только эти два драйвера могут стать причиной ошибки. Это указаны самые распространенные виновники BSOD. Поэтому для определения виновника ошибки, нужно включить малый дамп памяти и проанализировать его через программу BlueScreenView.
Если после обновления драйверов ошибка POOL_CORRUPTION_IN_FILE_AREA продолжает появляться, тогда нужно приступить к тестированию оперативной памяти. Для этого стоит соблюсти следующую очерёдность:
Нужно отметить, что такая проверка модулей ОЗУ может занять целый день, однако поможет определить, виновата планка ОЗУ или слот.
Также при появлении синего экрана смерти POOL_CORRUPTION_IN_FILE_AREA разработчики Майкрософт рекомендуют провести диагностику процессора на температурные показатели, а также проверить жесткий диск на битые сектора.
В случае, если вышеописанные методы не помогли исправить неполадку, рекомендуем воспользоваться точкой по восстановлению системы или вовсе переустановить операционную систему.
Понимание ошибки Pool Coruption часть 1 (переполнение буфера)
Пул – это память ядра, которая используется драйверами и кодом ядра. То есть, приложение пользовательского режима не может выделять память в этих пулах – это память только для ядра и драйверов. Мы можем видеть в диспетчере ядра, на скриншоте ниже показано “Выгружаемый пул” и “Невыгружаемый пул”.
В англ. варианте это звучит “paged pool” и “nonpaged pool”. Разница этих пулов только в одном – первый пул может выгружаться в файл подкачки, а второй – нет. Это связано с уровнями IRQL, при которых может выполнятся код в режиме ядра. О размерах пулов, а также о том какие они есть и как их можно настраивать можно почитать в книге Руссиновича и Соломона.
Память ОС Windows разбита на страницы, каждая из которых обычно имеет размер 4КБ = 4096 байтов (это аппаратная особенность). Выделением ядром или драйверами объемов памяти по 4 КБайт считается расточительством. Поэтому ядро выделяет некоторый объем памяти под пулы (определенное количество страниц) заранее (см. Руссиновича и Соломона какое именно и как это можно изменять) и это заранее выделенный объем называется пулом. Каждый раз когда драйвер или ядро выделяет память менеджер памяти выделяет его из этого пула но не по 1024 байта а 32 байта (Windows 2000) и даже 8 байтов (XP). Перед каждый выделенным блоком размещается структура Pool Header. Все эти блоки для разных драйверов следуют друг за другом. Особенность блоков пулов представлена на изображении ниже.
В отладчике можно посмотреть сами поля структуры:
lkd> dt _POOL_HEADER
nt!_POOL_HEADER
+0x000 PreviousSize : Pos 0, 8 Bits
+0x000 PoolIndex : Pos 8, 8 Bits
+0x002 BlockSize : Pos 0, 8 Bits
+0x002 PoolType : Pos 8, 8 Bits
+0x000 Ulong1 : Uint4B
+0x004 PoolTag : Uint4B
+0x008 ProcessBilled : Ptr64 _EPROCESS
+0x008 AllocatorBackTraceIndex : Uint2B
+0x00a PoolTagHash : Uint2B
Очень интересным полем является PoolTag. Оно было изначально задумано для того, чтобы определять, каким именно драйвером было выполнено выделение памяти. В каталоге riagepooltag.txt есть список стандартных драйверов. Вот пример части его содержимого:
ScC1 — classpnp.sys — Registry path buffer
ScC2 — classpnp.sys — PDO relations
ScC6 — classpnp.sys — START_UNIT completion context
ScC7 — classpnp.sys — Sense info buffer
ScC8 — classpnp.sys — Registry value name
ScC9 — classpnp.sys — Device Control SRB
…..
Часть тегов Microsoft “застолбила” за собой. Другие теги должен придумывать разработчик драйверов. Это очень важный момент, поскольку он на порядок облегчает анализ крахов связанных с перезаписью чужого участка памяти. Здесь нет никакой жесткости и любой разработчик может придумать какой хочет тег из четырех символов. Тег используются в ExAllocatePoolWithTag. Пример какого-то кода из github при выделении памяти с тегом ‘klBV’ на скриншоте ниже
Теперь давайте разберемся, как все это связано с крахами. Здесь ситуаций может быть несколько.
Чтобы продемонстрировать все эти ситуации воспользуемся NotMyFault (Скачать можно здесь – https://technet.microsoft.com/en-us/sysinternals/bb963901.aspx). Это утилита разработана Марком Руссиновичем еще во времена sysinternals.com (и идеи с исходным кодом) и устанавливает бажный драйвер в вашу систему, далее вы выбираете, какой тип краха вам нужен и вы его получаете.
Запускаем notmyfault и выбираем “buffer overflow” и нажимаем “Crash”.
Все не должно произойти мгновенно, может потребоваться некоторое время.
Вот кусок кода, который вызывает перезапись пула чужого драйвера:
Через 1 минуту работы я получил
Механизм анализа предполагает, что виновато ядро :). Анализ показывает, что крах произошел во время выполнения
что является индикатором ошибок связанных с нарушением целостности пула.
Подтверждением этого же является описание стоп кода
“An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high. This is
caused by drivers that have corrupted the system pool. Run the driver
verifier against any new (or suspect) drivers, and if that doesn’t turn up
the culprit, then use gflags to enable special pool”
Кроме того, приведена правильная рекомендация использовать Driver Verifier, но мы рассмотрим немного более детально наш крах.
Аргумент 4
Arg4: 81aff010, address which referenced memory
указывает на адрес памяти по которой находится инструкция, выполнение которой завершилось крахом, а именно
81aff010 895804 mov dword ptr [eax+4],ebx
Аргумент 1
указывает на ошибочный адрес памяти, его значение = 4f4f4f53. Что это за значение?
Команда в отладчике
kd> r eax
eax=4f4f4f4f
показывает, что значение регистра eax равно этом значению. Теперь мы можем попробовать посмотреть как оно туда попало.
kd> r edi
edi=8398a810
kd> dq 8398a810
8398a810 4f4f4f4f`4f4f4f4f 4f4f4f4f`4f4f4f4f
8398a820 4f4f4f4f`4f4f4f4f 4f4f4f4f`4f4f4f4f
8398a830 00574f4c`46524556 859a53f8`85994378
8398a840 00010018`8398a848 859cb9e0`859cb9e0
8398a850 859cb9d8`85994378 00010019`8398a860
8398a860 859cbbe0`859cbbe0 859cbbd8`85994378
8398a870 0001001a`8398a878 85988cb8`85988cb8
8398a880 85988cb0`85994378 0001001b`8398a890
Единственный выход — использовать утилиту DriverVerifier.
Давайте теперь рассмотрим полностью цепочку событий.
1. Наш неправильно работающий драйвер выделяет память в невгружаемом пуле
buffer = ExAllocatePool( NonPagedPool, ALLOCATION_SIZE );
Дальше он перезаписывает своими данными, а это строка OVERFLOW, что в 16-ричном виде будет иметь представление
чужие блоки пула, поскольку, там идет такой код
Pool corruption in file area win 10 как исправить
Видео: Low Nation | Mazda 3 Hatchback 2021.
Ошибки типа «Синий экран смерти», такие как POOL_CORRUPTION_IN_FILE_AREA, могут создать много проблем на вашем компьютере, поскольку они, как правило, перезагружают ваш компьютер, чтобы предотвратить повреждение. Эти ошибки могут быть довольно серьезными, поэтому сегодня мы собираемся показать вам, как их исправить в Windows 10.
Как исправить ошибку POOL_CORRUPTION_IN_FILE_AREA BSoD
Содержание:
Решение 1. Обновите драйверы
Наиболее распространенной причиной таких ошибок могут быть устаревшие или неисправные драйверы, поэтому важно их обновить. Используя несовместимые драйверы, Windows 10 не сможет распознавать и использовать ваше оборудование, и вы, скорее всего, получите ошибку BSoD, такую как POOL_CORRUPTION_IN_FILE_AREA. Чтобы исправить эту ошибку, рекомендуется загрузить последние версии драйверов для всех основных компонентов оборудования. Вы можете сделать это легко прямо из диспетчера устройств, выполнив следующие действия:
Это самый простой способ обновления драйверов, но использование диспетчера устройств может быть не лучшим вариантом для загрузки драйверов. По словам пользователей, Диспетчер устройств не всегда загружает последние версии драйверов, и если вы хотите использовать последние версии драйверов на ПК с Windows 10, мы советуем вам загрузить их вручную с веб-сайта производителя оборудования. Пользователи утверждают, что эта ошибка была вызвана устаревшим драйвером сетевого адаптера, поэтому обязательно сначала обновите сетевой адаптер, а затем обновите драйверы для всех других основных компонентов.
Обновлять драйверы автоматически
Поиск драйверов самостоятельно может занять много времени. Поэтому мы советуем вам использовать инструмент, который сделает это автоматически. Использование автоматического средства обновления драйверов, безусловно, избавит вас от необходимости поиска драйверов вручную и всегда будет поддерживать вашу систему в курсе последних версий драйверов.
Модуль обновления драйверов Tweakbit (одобрен Microsoft и Norton Antivirus) поможет вам автоматически обновлять драйверы и предотвратить повреждение ПК, вызванное установкой неправильных версий драйверов. После нескольких испытаний наша команда пришла к выводу, что это наиболее автоматизированное решение.
Вот краткое руководство о том, как его использовать:
Решение 2. Запустите средство устранения неполадок оборудования
Теперь мы собираемся обратиться за помощью к средствам устранения неполадок Windows 10. Первым инструментом, который мы собираемся попробовать, является встроенное средство устранения неполадок. Этот универсальный инструмент может помочь вам решить различные проблемы, включая проблемы BSOD.
Вот как запустить средство устранения неполадок оборудования в Windows 10:
Вот как запустить сканирование SFC в Windows 10:
Мы расскажем вам как о стандартной, так и о процедуре, которая использует установочный носитель ниже:
Многие операционные системы имеют незначительные проблемы с определенным оборудованием или программным обеспечением, и иногда эти проблемы могут приводить к появлению ошибок Blue Screen of Death. Если вы получаете ошибку POOL_CORRUPTION_IN_FILE_AREA, мы советуем вам использовать Центр обновления Windows и загрузить последние исправления. Новые исправления выпускаются часто, и многие из этих исправлений повышают безопасность системы и устраняют проблемы как аппаратной, так и программной совместимости, поэтому важно устанавливать их, чтобы предотвратить появление ошибок BSoD.
Важно использовать антивирусные программы и брандмауэр для защиты вашего ПК, но иногда эти инструменты могут вызывать ошибки BSoD. Если ваша антивирусная программа вызывает эту ошибку, единственным решением является ее временное удаление. Имейте в виду, что Windows 10 поставляется с Защитником Windows, который работает как антивирус по умолчанию, поэтому ваш компьютер не будет полностью уязвим, даже если вы удалите все другие сторонние антивирусные инструменты.
Следует отметить, что удаления антивирусного программного обеспечения может быть недостаточно, поэтому рекомендуется использовать специальный инструмент для удаления. Эти инструменты удаляют все файлы, связанные с вашим антивирусом, поэтому обязательно загрузите этот инструмент с веб-сайта вашего разработчика антивируса. Если удаление антивируса устраняет проблему, вы можете переустановить его или переключиться на другую программу.
Пользователи сообщали, что антивирус AVG является причиной ошибки POOL_CORRUPTION_IN_FILE_AREA Blue Screen of Death, поэтому убедитесь, что вы удалили его со своего компьютера.
Решение 7. Выполните восстановление системы или сброс Windows 10
Если ошибка вызвана программным обеспечением, вы можете исправить эту ошибку, выполнив Восстановление системы. Для этого выполните следующие действия:
Если восстановление системы не устранило ошибку, вы можете попробовать сброс Windows 10. Этот процесс очень похож на чистую установку, поэтому мы настоятельно рекомендуем вам сделать резервную копию ваших файлов и папок. Стоит отметить, что вам может потребоваться загрузочный USB-накопитель с Windows 10 для завершения этого процесса, поэтому обязательно имейте его. Чтобы выполнить сброс Windows 10, выполните следующие действия:
Если ошибка по-прежнему появляется даже после сброса Windows 10, это означает, что она вызвана вашим оборудованием.
Ошибки Blue Screen of Death часто бывают вызваны неисправным оборудованием, поэтому сначала обязательно проверьте свою оперативную память. Если ваша RAM работает нормально, проверьте другие основные компоненты, такие как материнская плата и процессор.
POOL_CORRUPTION_IN_FILE_AREA часто вызывается несовместимым программным обеспечением или устаревшими драйверами, и вы можете легко исправить это путем обновления проблемного программного обеспечения. Если это не сработает, не стесняйтесь попробовать другие решения из этой статьи.
Синий экран смерти POOL_CORRUPTION_IN_FILE_AREA: как исправить
Сегодня мы будем с вами разбирать очередной синий экран смерти – POOL_CORRUPTION_IN_FILE_AREA. Данный критический сбой или же BSoD(в дальнейшем будет использоваться именно это сокращение) представляет собой крайне неприятную проблему, встретиться с которой способны владельцы абсолютно всех версий операционной системы Windows. По-сути, POOL_CORRUPTION_IN_FILE_AREA является указателем на то, что какой-то драйвера в ОС повредил память пула, содержащего в себе страницы, которые были выделены под диск.
Проще говоря, какой-то из драйверов для оборудования на вашем компьютере начал изрядно сбоить, что привело к тотальной нестабильности всю операционную систему. Стоит заметить, что POOL_CORRUPTION_IN_FILE_AREA может как появляться время от времени, так и полностью блокировать систему, если верить утверждения пользователей в сети. Если вы столкнулись с последним случаем, то вам нужно попробовать ввести свой ПК в безопасный режим с загрузкой сетевых драйверов.
Как исправить BSoD POOL_CORRUPTION_IN_FILE_AREA?
Итак, прежде чем мы перейдем к рассмотрению путей устранения критического сбоя 0x000000DE с параметром POOL_CORRUPTION_IN_FILE_AREA – давайте посмотрим, что нужно сделать тем пользователям, у которых данный BSoD блокирует вход в систему.
Безопасный режим с загрузкой сетевых драйверов
Вход в Безопасный режим мы будем показывать на примере операционной системы Windows 10, так как на данный момент она является наиболее распространенной среди пользователей. Учитывая заблокированную синим экраном смерти систему, легче всего войти в Безопасный режим будет через среду восстановления, доступ к которой можно запросто получить с помощью установочного носителя с Windows 10.
Найдите – или же создайте самостоятельно – подобный носитель, а затем загрузитесь через него. Загрузившись через установщик Windows, далее вам понадобится выбрать время, язык и прочее, а затем нажать на кнопку «Восстановление системы» – вы окажетесь в среде восстановления Windows 10. Теперь давайте войдем в нужный нам Безопасный режим с загрузкой сетевых драйверов:
Как правило, POOL_CORRUPTION_IN_FILE_AREA удается обойти, таким образом получив хоть какой-то ограниченный доступ к функционалу системы. Если же у вас не получилось войти в Безопасный режим, т.е. BSoD все еще появляется, то тогда мы рекомендуем вам попытаться использовать точку восстановления(пункт можно найти в среде восстановления) или же переустановить операционную систему, так как это наиболее эффективный и, что более важно, быстрый способ избавиться от BSoD POOL_CORRUPTION_IN_FILE_AREA.
Если же у вас вышло войти в систему через Безопасный режим – следуйте нижеуказанным шагам, чтобы попытаться установить возникшую с ПК неприятность.
Устранение POOL_CORRUPTION_IN_FILE_AREA на Windows 10
Ок, давайте теперь перейдем к разбору действий, которые помогут избавиться вам от BSoD POOL_CORRUPTION_IN_FILE_AREA. Как мы уже говорили в самом начале материала, нестабильность системы была вызвана драйвером для какого-то оборудования в вашем ПК. Вы можете запросто узнать, какой это был драйвер с помощью дампа оперативной памяти. В дампе как раз и будет необходимая вам информация.
Дамп памяти – это не текстовый файл, который вы можете прочесть с помощью обычного Блокнота. Чтобы достать нужную информацию из дампа, вам придется воспользоваться программой под названием BlueScreenView. Это программное обеспечение распространяется по Интернету совершенно бесплатно, так что вы можете загрузить его с любого веб-ресурса, которому можно доверять.
Стоит заметить, что в Windows 10 должен создаваться так называемый «автоматический дамп-памяти», если в операционной системе возникнет какой-то критический сбой. Сохраняться этот дамп должен в директорию C:\Windows. Однако, как отмечают некоторые пользователи в сети, данная функция порой может быть отключена в настройках системы. Пройдите в указанную директорию и проверьте, находится ли там созданный после BSoD’а дамп-памяти.
Если же нет, то вам придется активировать функцию по созданию оного, а затем вызвать BSoD повторно, чтобы нужная информация была записана в дампе. Давайте же посмотрим, что вам нужно нажать для активирования создания дампов:
Как только у вас снова получится вызвать критический сбой в работе системы, вам нужно загрузить на свой компьютер такую программу, как BlueScreenView, о которой мы уже говорили. Загрузив и запустив программу на своем компьютере, вы увидите на экране небольшое окошко BlueScreenBlue, поделенное на две части: верхняя часть отвечает за список малых дампов памяти, а нижная – элементы в системе, которые вызвали критический сбой.
Именно в нижней части окошка BlueScreenView вы и увидите выделенным красным цветом драйвера, которые вызвали POOL_CORRUPTION_IN_FILE_AREA. Как правило, вверху нижнего окна будет выделен один драйвер. Дальше вам нужно сделать следующее: «загуглить» название драйвера в Интернете и отталкиваться от решения проблемы в зависимости от самого драйвера. Например, если BSoD вызывал драйвер для графического адаптера, то вам понадобится переустановить его.
Давайте кратко рассмотрим шаги для переустановки видеодрайвера(вы можете применять эти шаги для любого другого драйвера):
Переустановив или удалив какой-то сбоящий драйвер, вы должны устранить BSoD POOL_CORRUPTION_IN_FILE_AREA.