1/31/2020

Как исправить ошибку память не может быть "read\written"

Привет всем читателям блога.
Каждый пользователь рано или поздно сталкивается с таким сообщением и пытается найти решение данной проблемы в сети Интернет.
Там он может встретить разные мнения о причине возникновения этой ошибки.
Это и плохая память (ОЗУ), и атака вирусов на компьютер, и отсутствие необходимых обновлений для операционной системы. Но в этих случаях наблюдаются совершенно другие проявления.




Правильный общий ответ о проблеме: - нестыковка некоторых устаревших (или крякнутых программ) с Windows
 (хотя они тоже бывают разных сборок, типа Зверь). Особенно часто, данная ошибка начинает доставать при установке SP2.
Одним из вариантов исправления этого предлагают

 переустановку Винды на более старую версию... что, не очень то нам нужно.
Другим вариантом предлагается установка ВСЕХ программ последних версий, что тоже не подходит, т.к. даже самые современные версии программ  могут выдавать эту ошибку.

И как выясняется, причастна к этой ошибке - функция:  
"Предотвращение выполнения данных"(DEP)


т. к.  данная ошибка возникает при обращении какой - либо программы или модуля программы напрямую к закрытому участку памяти.
Важно. При любой ошибке (или подозрении,что произошла ошибка) жмите Ctrl+Z..

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


               Для чего именно DEP следит за тем, как используется память:

"Предотвращение выполнения данных (DEP) используется для предотвращения проникновения на компьютер вирусов и других угроз безопасности, которые выполняют вредоносный код из областей памяти, которые должны использоваться только операционной системой Windows и другими программами. Такой тип угроз безопасности наносит ущерб, занимая по очереди все области памяти, используемые программой. Затем вирус распространяется и повреждает другие программы, файлы и даже контакты электронной почты.

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

Если какая-то программа вызывает срабатывание этой функции, Microsoft
рекомендует выбрать режим OptOut и добавить эту программу в список исключений.
Однако зачастую программа состоит не из одного исполняемого модуля, а из многих
динамических библиотек, и не всегда имеется возможность точно определить, какая
именно вызывает срабатывание DEP.
Если программа вам очень нужна, а добиться ее работоспособности вышеописанным
методом не получается, проще отключить DEP целиком, путем редактирования
boot.ini.
Хотя, если вероятность возникновения этой ошибки невелика, и если вы не
сталкиваетесь с нею, лучше оставить DEP включенной - так система будет больше
защищена от возможности выполнения вируса.
            Cуществует четыре варианта настройки функции DEP

OptIn - (установлено по умолчанию). В этой конфигурации под действие функции DEP
подпадают только основные системные программы и службы.
OptOut - DEP включена для всех процессов и приложений, кроме тех, которые
вручную добавлены пользователем в список исключений.
AlwaysOn - В этом режиме DEP включена всегда для системы в целом, всех процессов
и приложений, не взирая на установки пользователя или производителя ПО.
AlwaysOff - DEP полностью отключена.

Первые два варианта настройки можно переключать с помощью панели управления:
"Система"; "Дополнительно"; "Быстродействие"; кнопка "Параметры" ;
закладка "Предотвращение выполнения данных".

Для полного включения или выключения DEP необходимо вручную отредактировать
находящийся в корне загрузочного раздела диска скрытый файл boot.ini, добавив в
разделе [operating systems] в конец строки ?\WINDOWS="Microsoft Windows XP
Professional" /fastdetect ключ /NoExecute с одной из опций:

NoExecute = Optin
NoExecute = OptOut
NoExecute = AlwaysOn
NoExecute = AlwaysOff 



Optin - (установлено по умолчанию). В этой конфигурации под действие функции DEP подпадают только основные системные программы и службы.

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

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

AlwaysOff - DEP полностью отключена.


Для редактирования boot.ini нужно в панели управления "Система", на вкладке
"Дополнительно" в разделе "Загрузка и восстановление" нажать кнопку "Параметры"
и в открывшемся окне - кнопку "Правка".


Файл boot.ini будет открыт в "Блокноте".

Или: Пуск - Выполнить - %systemdrive%\Boot.ini

После редактирования boot.ini не забудьте сохранить этот файл и перезагрузить
компьютер, чтобы изменения вступили в силу.

Например,если у Вас по умолчанию  стоит строка..

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional
SP2"
/noexecute=optin /fastdetect

То понятно что, надо установить у себя /NoExecute=AlwaysOff

В отличие от брандмауэра или антивирусной программы средство DEP не препятствует установке потенциально опасных программ на компьютер. Вместо этого выполняется наблюдение, чтобы программы использовали системную память безопасным образом. Для этого DEP работает отдельно или вместе с совместимыми микропроцессорами и помечает некоторые области как «невыполняемые». Если программа пытается запустить код (любой код) из защищенной области, DEP закрывает программу и отображает уведомление. В Windows XP SP2 технология DEP обеспечивается аппаратными и программными средствами..."

                            Ну и конечно же рекомендую проверить...

                              Конфликт программного обеспечения

Это когда одна из программ мешает правильно функционировать другой программе и появляется эта ошибка. Чёткого списка конфликтного софта не существует. Однако достоверно известно, что если Windows простояла полгода или больше, то вполне может появиться эта ошибка, особенно если ОС активно используется, т.е. часто устанавливаются новые программы, игры и драйвера. Можно попробовать загрузиться в Безопасном режиме. Если там проблемное приложение запустится нормально, значит, программа - причина ошибки грузится при обычной загрузке системы.

                                                 Путь установки


Путь C:\ProgramFiles\Имя_разработчика\Имя_издателя\Имя_локализатора\Имя_основной_папки... все видели при установке очередной игры. Но мало кто утруждает себя тем, чтобы исправить это  нагромождение папок на что-нибудь более простое и понятное. Однако длинный путь (да ещё и с русскими буквами) может послужить причиной возникновения ошибки чтения памяти. Пример -всем известный Steam.
Об этом много информации в сети.Чуть ли не в половине случаев Steam-игры появлялось окно с сообщением об ошибке чтения памяти. А всё потому, что пользователи ставили Steam куда попало (например: C:\Игры\Программы для игр\Steam - вместо D:\Games\Steam). То же самое касается и программ. Если в процессе работы какого-нибудь приложения появляется ошибка «Память не может быть read\written», удалите его, а затем установите заново, но при этом используйте как можно более короткий путь. Если установка по более короткому пути не поможет, то попробуйте установить проблемное приложение в другой раздел диска.

                                    Проблемы с оперативной памятью

Оперативная память обычно не является виновником возникновения ошибки "Память не может быть read\written". Тем не менее, есть рекомендации, которые имеют непосредственное отношение к оперативке, и, возможно, помогут вам убрать ошибку чтения памяти.
Во - первых, желательно использовать память от одного и того же производителя.
Конечно, существует множество компьютеров, в которых работает память от разных фирм, однако если у вас начала вылезать ошибка чтения памяти, а в компьютере установлены модули от разных производителей, или даже если у вас оперативная память от одной фирмы, то можно все равно поэкспериментировать с модулями памяти (переткнуть их в свободные слоты или просто поменять местами), имеет смысл попробовать по очереди выдернуть каждый из модулей и посмотреть на результаты.

Если выше перечисленное не помогло :
Попробуйте откатиться назад и отключить последние обновления, если Вы их устанавливали. Частенько после обновлении выскакивает эта ошибка. Вспомните какое ПО последний раз устанавливали, возможна она конфликтует. Если ничего не помогло попробуйте перенести важные файлы на внешний HDD и переставить Винду.


SP3 весьма полезно в этих случаях, ставится легко и проблемы с DEP становятся
менее актуальны


Завершая сегодняшнюю статью, я бы хотел еще сказать, что не каждому пользователю по карману установить лицензионную операционную систему. Поэтому если Вы устанавливаете не оригинальную версию Windows на свой компьютер,то будьте готовы к тому, что такая сборка в скором времени может проявиться с появлением возможных ошибок, зависаний компьютера.
То, что касается сегодняшней статьи, я Вам рассказал, и думаю это
Вам пригодится еще...

Какие бывают ошибки Windows,часть 2 читайте здесь
Как устранить наиболее частые ошибки Windows, Вы узнаете здесь
Как исправить ошибку "отсутствующий файл framedyn.dll" читайте здесь







6 комментариев :

Введите Ваш E-mail

ВведитеВашEmail:

Понравилась статья? Поделись с друзьями.