Возможные причины ошибки "Память не может быть read\written":
Возможная причина №1 - служба DEP
Чаще всего можно увидеть советы по отключению службы DEP (Data execution prevention = Предотвращение выполнения данных). Она представляет из себя совокупность программных и аппаратных решений для выполнения дополнительных проверок памяти, защищающих от выполнения вредоносного кода. Соответственно, иногда помогает простое отключение этой службы. Для этого необходимо открыть файл C:\boot.ini и заменить в нём строку /noexecute=optin на /noexecute=AlwaysOff. Для применения изменений необходимо перезагрузить компьютер.
Справка: файл boot.ini является одним из важнейших системных файлов, поэтому по умолчанию он скрыт. Соответственно, для его отображения потребуется разрешить отображение скрытых и системных файлов. Также его можно открыть для редактирования, если в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать кнопку "Параметры" (самая нижняя). В открывшемся окне нажмите кнопку "Правка", чтобы открыть boot.ini для редактирования.
Возможная причина №2 - конфликт программного обеспечения
Проще говоря, одна из программ мешает правильно функционировать другой программе и появляется эта ошибка. Понятное дело, что чёткого списка конфликтного софта не существует. Тем не менее, в Интернете засветился пакет Norton Internet Security 2007, Outpost Firewall, K-Lite Mega Codec Pack и антивирус Dr.Web, а также драйвера от принтеров фирмы Hewlett-Packard. Сюда же можно отнести и "захламленную" систему. Если Windows простояла полгода или больше, то вполне может появиться эта ошибка, особенно если ОС активно используется, т.е. часто устанавливаются новые программы, игры и драйвера.
Полезная информация: если у вас ТВ-тюнер фирмы Beholder, то не устанавливайте драйвера на него через install.exe. Укажите путь к inf-файлу драйвера вручную, через Мастер установки оборудования (Диспетчер устройств - правой кнопкой на устройство - Обновить драйвер...).
Возможная ошибка №3 - работа отладчика Dr. Watson
В Windows XP есть дебаггер под названием Dr. Watson. Для того, чтобы отключить его, откройте реестр (Пуск-Выполнить: regedit) и раскройте ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion. В ней одним из самых первых разделов будет AeDebug. Щёлкните по нему правой кнопкой и выберите Удалить. Но учтите, что данное действие не претендует на решение ошибки чтения памяти, оно может лишь убрать само сообщение об ошибке.
Возможная ошибка №4 - русские символы в пути к файлу.
Даже в наши времена необходимо стараться устанавливать игры\программы по нормальным путям, стараясь избегать русских букв в названии, а также слишком длинных путей. Например, куда лучше устанавливать игру в папку D:\Games\Earth 2150, чем в C:\Program Files\Земля 2150 - Война миров. А в случае установки программ в путь могут быть добавлены лишние папки с названиями разработчика или версия программы. Используйте как можно более короткие и понятные пути (например E:\Programs\Fraps).
Возможная ошибка №5 - проблема обращения к системной библиотеке
Эта ошибка может быть связана с проблемой обращения к системной библиотеке ole32.dll, которая могла быть испорчена или разрегистрирована (например, при установке\удалении других программ). Чтобы пофиксить эту возможную причину, сделайте Пуск-Выполнить:regsvr32 %SystemRoot%\system32\ole32.dll
Возможная причина №6 - попытка отправить отчёт об ошибке.
Весьма оригинальный совет, в котором было сказано, что подобной ошибки (Память не может быть read\written) можно избежать, если отключить в WinXP отправку любых отчётов об ошибках в Microsoft. В Свойствах Моего компьютера надо выбрать вверху Дополнительно и нажать кнопку "Отчет об ошибках". Откроется небольшое окно. Его необходимо привести вот к такому виду:
Возможная причина №7 - проблемы с файлом подкачки.
Рекомендуется проконтролировать обращение системы к этому файлу. Для этого необходимо в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать кнопку "Параметры" (самая верхняя). Откроется новое окно. В нём также надо выбрать вверху Дополнительно и нажать в нижней части кнопку "Изменить". Выделите диск, на котором хотите расположить файл подкачки (желательно, чтобы он был поменьше фрагментирован). Поставьте точку напротив пункта Особый размер и введите числа в поля:
Минимальный и максимальный объём желательно выставлять одинаковым. Перед выходом необходимо нажать кнопку "Задать". При уменьшении\отключении файла подкачки потребуется перезагрузка. При увеличении\включении файла подкачки перезагрузка обычно не нужна. Ниже будут приведены рекомендуемые значения для объёма файла подкачки в зависимости от объёма RAM самого компьютера:
• 512Мб RAM = 1536Мб для файла подкачки
• 1024Мб RAM = 1024Мб для файла подкачки
• 1536Мб RAM = 512Мб для файла подкачки
• 2048Мб RAM = 256Мб для файла подкачки или вообще 0Мб
Возможная причина №8 (!!!)- несовместимость оперативной памяти.
Маловероятно, но подобная ошибка может быть вызвана в том случае, если в паре работают два модуля оперативной памяти от разных производителей. Соответственно, проверить это просто: просто вытащите один из модулей.
Возможная причина №9 (!!!)- плохой блок питания.
Ошибка чтения памяти может быть вызвана и некачественным\старым БП. Конечно, это очень уж маловероятно, но наиболее идеальным вариантом будет подключение компьютера к заведомо нормальному блоку питания. Если же у вас нет возможности одолжить у кого-нибудь БП, то просто отключите различную мелочь, т.е. CD\DVD-привод, карты расширения, установленные в PCI-слотах, принтер и т.д.
Возможная ошибка №10 (!!!) - некорректно установленные тайминги памяти.
Возможная ошибка №11 (!!!) - перегрев памяти.
Безусловно, модули RAM нагреваются во время работы, но дополнительное охлаждение требуется лишь конкретным планкам памяти, например, которые разогнаны самим производителем и потому нуждаются в хорошем охлаждении. Но обычная память (которая стоит у 95% пользователей) нормально работает даже в плохо вентилируемых корпусах. Хотя в данном случае всё это можно проверить очень легко - достаточно просто открыть корпус.
На первом месте, безусловно, стоит конфликт программ\драйверов. К сожалению, даже имея в наличии полный список установленных приложений, нельзя сказать, какое из них вызывает ошибку. Соответственно, единственным вариантом остаётся только методичное тестирование приложений. Для этого потребуется приложение\игра, которое 100% вызывает ошибку (это необходимо для экономии времени), а также чистая система.
Что такое чистая система.
Чистой системой называют Windows XP + Service Pack 2 русской или английской версии, которая была установлена на предварительно отформатированный раздел на жёстком диске. Это значит, что многочисленные самопальные сборки WinXP, которые разбросаны в Интернете, не годятся для тестов.
Важно! В известной сборке под названием ZverCD ошибка чтения памяти проявляется чаще.
Методика тестирования
Методика очень простая. Итак, вы установили чистую систему. Создали пользователя (кстати, желательно с английским именем) и вошли в систему. Устанавливаете проблемное приложение и смотрите на его поведение. Если всё в порядке, то начинаете ставить те приложения, которыми привыкли обычно пользоваться. После установки каждого из них тестируете проблемную софтину. Если всё в порядке - продолжаем ставить программы.
Если же переустановка системы для вас неприемлема, а какие-то приложения отказываются работать из-за ошибки чтения памяти, то можно попробовать загрузиться в Безопасном режиме и попытаться запустить их там. Если при таком раскладе ошибки не будет, то значит, виновник ошибки грузится при обычной загрузке системы.
Справка: при загрузке в Безопасном режиме не загружаются видеодрайвера, поэтому протестировать игры в нём не получиться. Если необходимо протестировать программу, использующую сеть, то выбирайте не обычный Безопасный режим, а с поддержкой сети.
Большинство компьютеров после переустановки Windows нуждаются в следующих драйверах:
-Видеодрайвер
-Аудиодрайвер
-Сетевой драйвер
• Практика показала, что для видеокарт GeForce 7xxx-серии в WinXP наиболее оптимальными оказываются драйвера ForceWare 93.71. Знаю, что это старая версия, но с ней у меня не было ни одной проблемы, поэтому я и рекомендую её всем остальным людям. Этот совет пригодится вам, если ошибка "Память не может быть read" вылетает в какой-нибудь игре (особенно этим славится Half-Life 2), а игра не запускается, т.к. "не видит" видеокарту без драйверов.
• Драйверы для звука (особенно если это интегрированный звуковой чип типа RealTek или SoundMAX) способны вызывать самые различные ошибки, поэтому для чистоты эксперимента постарайтесь воздерживаться от их установки как можно дольше.
• Драйверы для сетевого контроллера крайне редко были замечены в каких-либо проблемах, поэтому их можно спокойно устанавливать. Пригодится, если вы будете тестировать программу, которая использует сеть (например, браузер).
Общие рекомендации по оперативной памяти.
Как показывает практика, можно снизить риск появления ошибки чтения памяти, если следовать двум рекомендациям.
1) Желательно использовать память от одного и того же производителя. Конечно, существует множество компьютеров, в которых работает память от разных фирм, но всё же лучше не рисковать.
2) Лучше всего устанавливать парные модули одинакового объёма, т.е. нежелательно втыкать оперативку типа 2х256Мб + 2х512Мб. Разумеется, с большой долей вероятности такая комбинация нормально заработает, но всё-таки желательно ставить одинаковые модули (например, 4х512Мб или 2х1024Мб).
Мифы и легенды об ошибке "Память не может быть read\written":
1) Плохая память - на многих форумах первым делом советуют проверить оперативную память (RAM), но битая память ведёт себя несколько по-иному. Как правило, это либо мгновенная перезагрузка компьютера, либо просто зависание\вылет в различных приложениях. Более подробно про выявление RAM-ошибок можно прочитать здесь (ссылка).
2) Вирусная атака - вирусная активность обычно проявляется несколько по-иному. Зачастую это выглядит как отказ в запуске заражённых приложений, отсутствие Рабочего стола (т.е. Проводник\explorer.exe не запускается) или 100% загрузка процессора.
3) Отсутствие обновлений для Windows - на самом деле количество установленных обновлений никак не влияет на данную ошибку.
Иными словами, можно установить стандартную WinXP+SP2 и спокойно сидеть за компьютером, а можно скачать все апдейты, которые только есть, но всё равно получать эту ошибку, хотя в Интернете иногда можно встретить советы по удалению того или иного обновления.
Кроме того, многие пользователи ставят комплексные пакеты обновлений (более известные как Service Pack), которые содержат несколько сотен обновлений для WinXP, что делает невозможным определение виновника.
Внимание! После установки Service Pack 3 данная ошибка начала появляться во всем известной игре "Герои Меча и Магии III", так что можно считать доказанным, что вероятность получения ошибки "память не может быть read" значительно повышается после установки какого-то апдейта, который входит в SP3.''
У себя я решил эту проблемму радикально - переустановил систему. (может и самый лёгкий выход, но зато самый действенный).