Ошибка «0x80070005 Отказано в доступе» может возникнуть в разных ситуациях: при обновлении, активации, восстановлении Windows, реже – при удалении какого-либо приложения. Проблема характерна для всех версий и редакций системы, вне зависимости от уровня прав пользователя.
Ошибка при активации и обновлении
Чаще всего сбой с сообщением «0x80070005 Отказано в доступе» возникает при попытке обновить систему. Если вы столкнулись с такой проблемой, то устранить её поможет утилита Subinacl.exe от Microsoft.
- Скачайте и установите Subinacl.exe со страницы. Инсталлировать программу нужно в корень системного диска – чаще всего это раздел C.
- После установки программы запустите Блокнот и скопируйте в него приведенный ниже скрипт:
@echo off
Set OSBIT=32
IF exist “%ProgramFiles(x86)%” set OSBIT=64
set RUNNINGDIR=%ProgramFiles%
IF %OSBIT% == 64 set RUNNINGDIR=%ProgramFiles(x86)%
C:\subinacl\subinacl.exe /subkeyreg “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing” /grant=”nt service\trustedinstaller”=f
@Echo Gotovo.
@pause
Сохраните документ с расширением *.bat. Для этого:
- Раскройте меню «Файл», выберите «Сохранить как».
- В поле «Тип файла» выберите «Все файлы».
- Задайте файлу любое имя с расширением *.bat.
- После сохранения запустите «батник» от имени администратора.
После непродолжительного ожидания вы увидите на экране сообщение «Gotovo». Закройте командную строку и перезагрузите систему. Если после перезагрузки ошибка сохраняется, попробуйте выполнить другой скрипт, также сохранив его в файле *.bat.
@echo off
C:\subinacl\subinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
C:\subinacl\subinacl.exe /subdirectories %SystemDrive% /grant=administrators=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CURRENT_USER /grant=system=f
C:\subinacl\subinacl.exe /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
C:\subinacl\subinacl.exe /subdirectories %SystemDrive% /grant=system=f
@Echo Gotovo.
@pause
Прежде чем выполнять этот скрипт, сделайте резервную копию важных данных на внешних накопителях или облачных хранилищах, так как он может вызвать другие ошибки в работе ОС. После завершения выполнения скрипта перезагрузите компьютер, а затем снова попробуйте выполнить обновление или активацию Windows.
Ошибка при восстановлении
Еще одна типичная ситуация появления сообщения «0x80070005 Отказано в доступе» – ошибка при восстановлении Windows. Чтобы исправить её, примените следующие методы:
- Отключите антивирус и выполните восстановление системы. Часто именно работа антивирусного ПО является причиной появления сообщения о сбое.
- Посмотрите статус службы «Теневое копирование тома». Нажмите Win+R и выполните «services.msc», чтобы открыть список служб. Найдите «Теневое копирование» и убедитесь, что служба включена и запускается автоматически.
- Убедитесь, что директория System Volume Information доступна для записи, а не только для чтения. Сделайте видимыми скрытые файлы и папки, а затем найдите на системном диске каталог System Volume Information и откройте его свойства.
- Выполните восстановление после выборочного запуска системы, без служб и элементов автозагрузки. Нажмите Win+R и введите «msconfig». На вкладке «Общие» отметьте «Выборочный запуск».
- Сбросьте репозиторий. Для этого зайдите в систему в безопасном режиме, запустите командную строку с администраторскими полномочиями и выполните команду «net stop winmgmt».
Затем найдите каталог Windows\System32\wbem\repository и измените его название на любое другое. После этого перезагрузите компьютер, снова зайдите в безопасный режим, запустите командную строку и выполните «net stop winmgmt». Затем выполните другую команду – «winmgmt /resetRepository». Перезагрузите компьютер.
Если эти методы не помогли исправить ошибку при восстановлении системы, то попробуйте способ, указанные для устранения сбоя при активации или обновлении.