Попался мне в руки очередной проблемный компьютер с установленной пиратской Windows 7, который после обновления при запуске программ выдавал ошибку 0xC0000005. Есть конечно вариант откатить эти обновления и потом скрыть их, чтобы они не устанавливались, но это не решение, в будущем могут появиться и другие обновления приводящие к данной проблеме. Поэтому искореним данную проблему своими руками, раз и на всегда.
Проблема связана с тем что старые активаторы Windows 7 модифицировали ядро системы и новые обновления с этим модифицированным ядром не совместимы. поэтому нам нужно вернуть системе родное ядро.
В первую очередь удалим чужеродные файлы:
system32\drivers\oem-drv64.sys
system32\xNtKrnl.exe
system32\xOsLoad.exe
system32\ru-RU\xOsLoad.exe.mui
system32\en-US\xOsLoad.exe.mui
Теперь удалим их следы в реестре:
HKLM\SYSTEM\CurrentControlSet\services\oem-drv64
HKLM\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_OEM-DRV64
Теперь нужно перезагрузиться. После перезагрузки Windows не сможет запуститься нормально и запустит автоматическое восстановление системы. В первый раз система отрапортует об удачном восстановление, но после перезагрузки опять запустит автоматическое восстановление и в этот раз ничего не исправит и внизу окна у нас появится кнопка "Параметры восстановления системы" (System Recovery Options).
Если по каким то причинам добраться до командной строки не получается, попасть в неё можно если запустить компьютер с установочного диска Windows 7 и вместо Установки выбрать Средства восстановления.
Жмем на нее, выбираем "Командную строку" и пишем следующие команды по очереди:
bcdedit /set {default} path \Windows\system32\winload.exe
bcdedit /deletevalue {default} nointegritychecks
bcdedit /deletevalue {default} kernel
bcdedit /deletevalue {default} custom:26000027
теперь после перезагрузки Windows запустися как надо и все программы будут работать, также можно теперь ставить смело все обновления.
После этой процеры Windows нужно будет активировать по новой.