FAQ / ЧаВо: Софт варез

FAQ ВОПРОС: Windows 7 не запускается после обновления. Проблема решена.

 

Ответ:

FIX: ошибка 0xc0000005 после установки очередного обновлений

13 августа 2013годо Корпорация Microsoft выпустила обновление "KB2859537", и форумы запестрели мольбами о помощи – у людей перестали запускаться программы. "Сериал" продолжился так же в сентябре и октябре…

Обновление KB2859537 было призвано исправить четыре уязвимости в ядре Windows 7, позволяющие несанкционированное повышение прав. Первая уязвимость позволяла загрузить DLL в процесс, обходя механизм защиты ASLR, призванный снизить риск эксплуатации уязвимостей.

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

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

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

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

У такой модификации есть две наиболее вероятные причины.

Вредоносные программы. Это не первый случай, когда обновление ядра выявляет наличие проблем в системе – так, был случайно обнаружен "руткит Alureon".

Нелегальная активация. Этот момент отлично разобрал участник конференции OSZone simplix, который не понаслышке знаком со сборками Windows, а также является автором полезной программы AntiSMS для лечения вирусов и троянов.

Как сообщалось: "Проблема возникает из-за того, что во взломанных системах используется старая версия ntoskrnl.exe, которую патчер (или сборка) переименовывают в xNtKrnl.exe и прописывают в поле kernel через bcdedit. Это нужно для того, чтобы система работала с драйвером, эмулирующим SLIC-таблицу. Старая версия ядра не совместима с новыми файлами подсистемы Wow64, из-за этого в 64-битной системе 32-битные программы перестают запускаться. Вины Microsoft здесь нет, они просто не тестировали обновления на "ломаных сборках". К слову, если пропатчить новую версию ядра, то система будет работать как положено — это означает, что обновление не нацелено на борьбу с пиратскими системами, просто так сложились звёзды."

Кстати, ранее simplix предупреждал читателей своего блога о возможных проблемах г-сборок, в которых заменяются ресурсы.

Возможны и другие причины — Microsoft в настоящее время исследует их.

Как исправить проблему, если она возникла с вашем компьютером?

Существует два метода и оба они исправления сводятся к откату изменений.

Удаление обновлений KB2882822, либо KB2859537 или KB2872339 из командной строки

В командной строке, запущенной с правами администратора, выполните:

1).
wusa.exe /uninstall /kb:2882822
или

2).
wusa.exe /uninstall /kb:2872339
или

3).
wusa.exe /uninstall /kb:2859537

Утилита wusa.exe предназначена для установки и удаления обновлений Windows7.

Другой способ - "Откат к точке восстановления системы".

Запусти восстановление системы и выполни откат к точке до возникновения проблемы. Если не получается или система не загружается, войди в среду восстановления Windows 7 или Windows8 и выполни восстановление системы уже оттуда.

Еще один вариант решения проблемы: удаление обновлений KB2882822, либо KB2859537 или KB2872339 из среды восстановления с помощью DISM. Этот более сложный вариант имеет смысл применять только в том случае, когда первыми двумя способами удалить обновление не удалось.

# Загрузись в среду восстановления Windows7 или Windows8.
# Запусти командную строку и определи букву диска, на котором установлена Windows.
В командной строке cktletn выполнить:

DISM /Image:D:\ /Get-Packages
где, D — буква диска с системой, которую ты определил на предыдущем шаге.

В результатах команды нужно найти пакет, содержащий в названии KB2882822, либо KB2859537 или KB2872339.

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

DISM /Image:D:\ /Remove-Package /PackageName:
и нажми правую кнопку мыши, чтобы вставить имя пакета.

DISM /Image:D:\ /Remove-Package /PackageName:Package_for_KB2859537~31bf3856ad364e35~x86~~6.1.1.3
Теперь нажми Enter, чтобы выполнить команду и удалить пакет.

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

Как не допустить возникновения подобных проблемы в будущем?

Определив и поняв причину неурядиц, нетрудно догадаться, как их избежать в дальнейшем: избегайте сборок и активаторов. Пользуйтесь только легальным программным обеспечением!

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Полное или частичное воспроизведение статей и фотоматериалов, опубликованных на сайте perepoloh.lv запрещается без письменного согласия автора.
Latvijas Reitingi