Ошибка 0xc0000005 после установки обновления на Windows 7. Почему она возникает?

0xc0000005 windows 7В недавнем прошлом, а именно летом-осенью 2013 года, многие юзеры Windows 7 столкнулись с неприятностью — после установки обычных обновлений системы переставали запускаться программы. Проблема коснулась не всех версий Windows 7, а только 64-разрядных и тех, которые были… пиратскими копиями. Что же произошло?

А произошло следующее: ряд обновлений, а именно KB2859537, KB2872339 и KB2882822, предназначенных для исправления критических уязвимостей ядра Windows 7, в процессе установки заменили часть системных файлов на новые. В том числе и ядро — файл ntoskrnl.exe. Некоторые пиратские копии Windows 7 сохраняют «активацию» только за счет наличия старой версии ntoskrnl.exe, который не должен ни при каких условиях меняться — иначе «активация» слетит. Программа взлома переименовывает старый ntoskrnl.exe в xNtKrnl.exe и в настройках запуска системы передает управление ему. То есть, после такой «активации» Windows 7 функционирует с двумя ядрами, из которых задействовано только одно — xNtKrnl.exe.

Это сделано для того, чтобы Windows 7 могла работать с драйвером эмулятора таблицы SLIC — особой области в BIOS компьютера, где содержатся сведения о лицензировании системы и ряда программ. Эмулятор вместо настоящей SLIC-таблицы «подсовывает» системе фальшивую, в которую сведения о лицензии уже внесены.

Если не понятно, как это связано с ошибками установки обновлений, поясняем. Замененные файлы подсистемы WOW64 (32-разрядной части Windows) не поддерживаются старой версией ядра, поэтому при попытках запуска 32-разрядных приложений возникает характерная ошибка 0xc0000005.

0xc0000005 windows 7

Сама система и 64-битные приложения продолжают работать как прежде.

Хронология появления ошибки 0xc0000005

Первый раз ошибка 0xc0000005 стала возникать после установки обновления KB2859537, выпущенного в августе 2013. Это обновление путем замены системных файлов закрывает 4 уязвимости Windows 7, которые использовались вредоносными программами для получения повышенных привилегий и выполнения в режиме ядра собственного кода .

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

В третий раз ошибка 0xc0000005 настигла многострадальные пиратки в октябре 2013. На этот раз обновление KB2882822 привнесло в Windows 7 поддержку интерфейса ITraceRelogger, расширяющего функциональные возможности, и снова — заменой системных файлов на новые.

Когда ожидать следующего «сюрприза» от Microsoft — неизвестно. Но стоит ли обвинять корпорацию в намеренных диверсиях против пользователей? Разумеется, нет. Обновления, принесшие столько бед, не были нацелены на борьбу с пиратством — просто они не тестировались на взломанных системах.

Как исправить ошибку 0xc0000005 после установки обновления?

Поскольку основная работоспособность Windows 7 при появлении ошибки 0xc0000005 не нарушается, исправить ситуацию можно несколькими способами:

  • с помощью «Восстановления системы»;
  • путем деинсталляции обновления через «Программы и компоненты»;
  • удалением с помощью Wusa.exe — установщика системных обновлений;
  • удалением с помощью утилиты Dism.exe.

А чтобы исключить повторное появление ошибки 0xc0000005, нужно сделать так, чтобы вышеупомянутые обновления KB2859537, KB2872339 и KB2882822 больше не устанавливались. Конечно, если вы готовы мириться с незакрытыми уязвимостями ядра Windows 7 — «дырой» в системе защиты».

Восстановление системы

  • Запустить «Восстановление» можно через Пуск — Программы — Стандартные — Служебные
0xc0000005 windows 7 как исправить

или с помощью программы «Выполнить»: нажмите R+Windows на клавиатуре, введите команду rstrui и щелкните ОК.

обновление windows 7 ошибка 0xc0000005
  • После запуска «Восстановления» выберите подходящую контрольную точку — она должна быть создана до даты установки проблемного обновления и первого появления ошибки 0xc0000005. Если последняя сохраненная точка не затрагивает этих изменений, отметьте пункт «Выбрать другую точку» и кликните «Далее».
0xc0000005 windows 7 после обновления
  • Перед каждой установкой обновления Windows 7 создает контрольную точку. В нашем примере есть несколько точек, созданных установщиком системных модулей — среди них есть и та, которая нам нужна. Выбираем наиболее подходящую по дате.
0xc0000005 windows 7 обновление
  • Далее подтверждаем выбор и ждем окончания восстановления. Если всё пройдет как нужно, ошибка 0xc0000005 больше нас не побеспокоит.

Восстановление системы в Виндовс 7 можно запускать из нормального и безопасного режимов, а также из среды восстановления. Последний вариант очень выручает, если кроме упомянутой ошибки есть еще и проблемы с загрузкой.

Деинсталляция обновлений через «Программы и компоненты»

  • Запустите панель управления и откройте «Программы и компоненты».
0xc0000005 windows 7
  • Щелкните в левой панели кнопку «Просмотр установленных обновлений».
0xc0000005 windows 7 как исправить
  • Выберите из списка вышеупомянутый источник проблем (в нашем примере это обновление KB2882822) и нажмите «Удалить».
обновление windows 7 ошибка 0xc0000005
  • Перезагрузите компьютер. Таким же способом удалите два других обновления, о которых мы говорили.

Удаление проблемных обновлений с помощью консольных утилит

Следующие способы также успешно помогают справиться с ошибкой 0xc0000005, причем второй — даже тогда, когда Виндовс не загружается.

Удаление с помощью установщика обновлений Windows

  • Откройте командную консоль: впишите в поисковую строку Пуска команду cmd. Кликните правой кнопкой мыши по одноименной программе из списка найденных файлов и выберите «Запуск от администратора».
0xc0000005 windows 7 после обновления
  • Выполните команду: wusa.exe /uninstall /kb:1234567, где вместо 1234567 должен быть указан номер удаляемого обновления, к примеру, «kb:2882822».
0xc0000005 windows 7 обновление
  • После перезагрузки компьютера проверьте, помогло ли удаление справиться с ошибкой 0xc0000005 при запуске программ. Если ее больше нет — проблему можно считать решенной.

Удаление с помощью утилиты DISM

  • Запустите командную строку. Если вы выполняете удаление пакета в нормальном или безопасном режиме, выполните команду DISM /Online /Get-Packages.
0xc0000005 windows 7
  • Если вы работаете в среде восстановления, команда пишется немного по-другому: DISM /Image:С: /Get-Packages, где С: — буква раздела винчестера, куда установлена Windows 7.
0xc0000005 windows 7 как исправить
  • Для определения буквы системного раздела нужно выполнить следующую последовательность консольных команд (показано на скриншоте). Системный том в данном случае — С.
обновление windows 7 ошибка 0xc0000005
  • Вернемся к DISM. Команда, которую мы выполнили, выведет в окно консоли список установленных обновлений. Их имена достаточно длинные, но в них всегда есть упоминание конкретного номера пакета — KB с цифрами. В этом списке нужно найти пакет, который вы собираетесь удалить, и скопировать его имя. Копирование выполняется щелчком правой кнопки мыши. Для выделения текста в консоли нужно щелкнуть внутри окна правой кнопкой и выбрать команду «Пометить».
0xc0000005 windows 7 после обновления
  • После этого пишем команду удаления: DISM /Online /Remove-Package /PackageName: и следом без пробела вставляем имя скопированного пакета. Должно получиться примерно так же, как на скриншоте.
0xc0000005 windows 7 обновление
  • В среде восстановления вместо «/Online» нужно писать «/Image:С:«. После этих действий ошибка 0xc0000005 должна быть устранена.

Как избежать повторения проблемы

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

  • Откройте Центр обновлений Windows 7.
0xc0000005 windows 7
  • Нажмите «Проверку обновлений».
0xc0000005 windows 7 как исправить
  • Щелкните по списку найденных доступных обновлений.
обновление windows 7 ошибка 0xc0000005
  • Кликните правой кнопкой по тому, которое не нужно устанавливать и выберите из меню команду «Скрыть обновление».
0xc0000005 windows 7 после обновления

После этого проблемные пакеты устанавливаться не будут, и ошибка 0xc0000005 больше не повторится.

Как исправить ошибку автоматического перехода на летнее время (KB2570791)

Еще одна ошибка, имеющая отношение к обновлениям Windows, связана с автоматическим переводом системных часов на летнее время. Поскольку вопрос перевода часов в России сейчас не актуален, чтобы время не сбивались, удобнее всего эту функцию отключить. Если она до сих пор работает — значит, у вас не установлен пакет обновлений KB2570791.

KB2570791 отключает автопереход на летнее время. Чтобы проверить, присутствует ли ошибка в вашей системе, щелкните по часам в системном трее и щелкните «Изменение настроек даты и времени».

0xc0000005 windows 7 обновление

После этого загляните в настройки часового пояса. Если вы видите фразу о том, что перевода на летнее время не ожидается, всё нормально — пакет KB2570791 у вас уже стоит.

0xc0000005 windows 7

Если вместо этого вы видите опцию «Включить автопереход на летнее время…», значит, обновления KB2570791 у вас нет. Чтобы исправить ситуацию, скачайте его со страницы Microsoft для вашей версии системы и установите. После перезапуска компьютера ошибка KB2570791 будет устранена.