Вы здесь: Главная > ВОССТАНОВЛЕНИЕ ОС > Как избавиться от ошибки «Память не может быть read\written»

Как избавиться от ошибки «Память не может быть read\written»

На компьютере с разной периодичностью выскакивала ошибка примерно следующего содержания:

«Инструкция по адресу 0x6fe216e2 обратилась к памяти по адресу 0×0162005. Память не может быть read».

На первый взгляд причина возникновения ошибки довольно проста: менеджер виртуальной памяти обнаруживает попытку доступа к страницам памяти, доступ к которым не разрешён для данного процесса. То есть, для каждого приложения в памяти выделяется некое пространство. И если приложение начинает лезть за пределы этого пространства, т.е. пытается оттуда что-то прочитать (read) или что-то записать туда (written), то появится такая ошибка. Система считает, что эта ошибка не смертельная, поэтому выдается стандартное сообщение: «Память не может быть...». 

Перелистав не один десяток «желтых» страниц Интернета, я пришел к выводу, что причин возникновения данной ошибки может быть несколько, но конкретно в моем случае ошибку вызывает служба «Предотвращения выполнения данных» (DEP).

Предотвращение выполнения данных (Data Execution Prevention, DEP) — это набор программных и аппаратных технологий, позволяющих выполнять дополнительные проверки содержимого памяти и предотвращать запуск вредоносного кода. В операционных системах Windows XP с пакетом обновлений 2 (SP2) и Microsoft Windows XP Tablet PC Edition 2005 функция DEP реализована как на программном, так и на аппаратном уровне.

Основным преимуществом функции DEP является возможность предотвращения запуска вредоносного кода из области данных. Как правило, содержимое стека и кучи по умолчанию не является исполняемым кодом. При аппаратной реализации функция DEP вызывает исключение при запуске кода из указанных местоположений. Функция DEP, реализованная на программном уровне, предотвращает использование вредоносными программами механизма обработки исключений, существующего в Windows.

В отличие от брандмауэра или антивирусного программного обеспечения функция DEP не препятствует установке потенциально опасных программ на компьютер, а только следит за тем, как программы используют память, и после установки SP2, DEP по умолчанию включена для основных программ и служб Windows.

Существует четыре варианта настройки функции DEP:

OptIn — данное значение используется по умолчанию. На компьютерах, оснащенных процессорами с поддержкой DEP, функция DEP включена по умолчанию для ограниченного числа системных файлов и программ. При этом по умолчанию защищаются только системные файлы Windows.

OptOut — по умолчанию функция DEP включена для всех процессов. В диалоговом окне Система панели управления можно вручную создать список приложений, для которых следует отключить DEP. Специалисты по информационным технологиям могут воспользоваться пакетом средств обеспечения совместимости приложений (Application Compatibility Toolkit), чтобы отключить функцию DEP для одной или нескольких программ. При этом вступают в силу исправления, обеспечивающие совместимость программ, для функции DEP.

AlwaysOn — функция DEP включается для всей системы. Все процессы работают с выполнением проверок DEP. В этом режиме нельзя отключить функцию DEP для отдельных приложений. Исправления, обеспечивающие совместимость программ, для функции DEP в силу не вступают. Программы, для которых пакетом средств обеспечения совместимости приложений было отключено использование функции DEP, также работают с выполнением проверок DEP.

AlwaysOff — функция DEP отключена для всей системы, независимо от наличия аппаратной поддержки DEP. Процессор не работает в режиме PAE, если в файле Boot.ini не указан параметр /PAE.

Если какая-то программа вызывает срабатывание этой функции, Microsoft рекомендует выбрать режим OptOut и добавить эту программу в список исключений.

Однако зачастую программа состоит не из одного исполняемого модуля, а из многих динамических библиотек, и не всегда имеется возможность точно определить, какая именно вызывает срабатывание DEP.

В моем случае я решил проблему радикальным способом, отключив DEP целиком, отредактировав файл boot.ini.

На файл boot.ini, находящийся  в корневом каталоге системного раздела жесткого диска с установленной Windows XP, в процессе загрузки компьютера возложена функция управления содержимым меню выбора операционной системы во время загрузки компьютера и задание параметров ее дальнейшего функционирования.

После редактирования файл будет выглядеть следующим образом:

[Boot loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[Operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional SP2" /noexecute=AlwaysOff /fastdetect

Отредактируем его в блокноте, при этом помня, что данный файл является системным, поэтому необходимо перед редактированием снять галочку «Скрывать защищенные системные файлы» в свойствах папки  "Проводника".

Для применения изменений необходимо сохранить файл и перезагрузить компьютер.

Выше я отметил, что причин возникновения ошибки: «Память не может быть read\written» может быть несколько. На что еще следует обратить внимание: — конфликт программного обеспечения;

Одна из программ мешает правильно функционировать другой программе и появляется эта ошибка. — проблемы с файлом подкачки;

Если у вас проблема осталась, попробуйте скачать и установить обновление Windows XP SP2  KB958644, которое лечит уязвимость службы Сервера.

Популярность: 23%

Кстати,
Вам понравилось?

  • Понравилась статья - поделитесь с друзьями через кнопки социальных сетей.
  • Не хотите пропускать новые статьи - подпишитесь на рассылку.

Ваш e-mail: * Ваше имя: *

 

19 комментариев к “Как избавиться от ошибки «Память не может быть read\written»”

  1. vadik66 пишет:

    Спасибо за совет

    Отредактировал boot.ini

  2. Юрий пишет:

    И появляется эта ошибка после пользования игрушками фирмы «Алавар». Когда дочка перестала использовать эту дрянь, пропала и ошибка. И не только у меня...

  3. валера пишет:

    спасибо за совет!

  4. Людмила пишет:

    А с какого сайта посоветуете качать игрушки,где не будут выскакивать эти ошибки? спасибо.

    • Aysan пишет:

      У Вас то же появляется эта ошибка после установки игр с сайта «Алавар»? По моему это не факт.

  5. валера пишет:

    спасибо за информацию!

  6. Monumentum пишет:

    зделал все как написано,не помогло( бновление Windows XP SP2 KB958644, которое лечит уязвимость службы Сервера тоже ставил,не помогает(а винду впадлу менять,только неделю назад поменял!

Оставьте комментарий