Помилка 0x80070005 "Немає доступу" найбільш часто зустрічається в трьох випадках - при установці оновлень Windows, активації системи і при відновленні системи. Якщо ж аналогічна проблема виникає в інших ситуаціях, як правило, рішення будуть тими ж, так як причина помилки одна.
У цій інструкції детально опишу працюють в більшості випадків способи виправити помилку доступу відновлення системи і установки оновлень з кодом 0x80070005. На жаль, рекомендовані кроки не гарантовано призводять до її виправлення: в деяких випадках потрібно вручну визначати, до якого файлу або папці і якому процесу потрібен доступ і надавати його вручну. Описане нижче підійде для Windows 7, 8 і 8.1 і Windows 10.
Виправляємо помилку 0x80070005 за допомогою subinacl.exe
Перший спосіб більшою мірою відноситься до помилки 0x80070005 при оновленні та активації Windows, так що якщо проблема у вас виникає при спробі відновлення системи, рекомендую почати з наступного способу, а вже потім, якщо не допоможе, повернутися до даного.
Для початку, завантажте утиліту subinacl.exe з офіційного сайту Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=23510 і встановіть її на комп'ютер. При цьому, рекомендую встановлювати в якусь папку, близьку до кореня диска, наприклад C: \ subinacl \ (саме з таким розташуванням я буду наводити приклад коду далі).
Після цього, запустіть Блокнот і введіть в нього наступний код:
@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, збережіть його (я зберігаю на робочий стіл).
Клацніть правою кнопкою миші по створеному файлу і виберіть пункт "Запуск від імені Адміністратора". По завершенні ви побачите напис: "Gotovo" і пропозиція натиснути будь-яку клавішу. Після цього закрийте командний рядок, перезавантажте комп'ютер і спробуйте виконати ту операцію, яка видавала помилку 0x80070005 знову.
Якщо зазначений сценарій не спрацював, спробуйте аналогічним чином ще один варіант коду (Увага: код нижче може привести до непрацездатності Windows, виконуйте його тільки якщо готові до такого результату і знаєте, що робите):
@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 8, 8.1 (а незабаром і в Windows 10) буває причиною функцій захисту антивіруса. Спробуйте, використовуючи налаштування самого антивіруса, тимчасово відключити його самозахист і інші функції. В крайньому випадку, можна спробувати видалити антивірус.
Якщо це не допомогло, то слід спробувати виконати наступні кроки щодо виправлення помилки:
- Перевірити, чи не переповнені чи локальні диски комп'ютера. Очистити, якщо так. Також, можливий варіант, коли помилка з'являється, якщо відновлення системи використовує один із зарезервованих системою дисків і потрібно відключити захист для цього диска. Як це зробити: зайдіть в панель управління - Відновлення - Налаштування відновлення системи. Виберіть диск і натисніть кнопку "Налаштувати", після чого виберіть пункт "Відключити захист". Увага: при цьому дії наявні точки відновлення будуть видалені.
- Подивитися, чи у налаштуваннях "Тільки читання" для папки System Volume Information. Для цього в панелі керування відкрийте "Параметри папок" і на вкладці "Вид" приберіть позначку з "Приховувати захищені системні файли", а також включите "Показувати приховані файли і папки". Після цього, на диску C клікніть правою кнопкою миші по System Volume Information, виберіть пункт "Властивості", перевірте, щоб не було позначки "Тільки читання".
- Спробуйте виконати вибірковий запуск Windows. Для цього натисніть клавіші Win + R на клавіатурі, введіть msconfig і натисніть Enter. У вікні на вкладці "Загальні" включите або діагностичний запуск, або вибірковий, відключивши всі елементи автозавантаження.
- Перевірте, чи включена служба Тіньове копіювання тому. Для цього натисніть Win + R на клавіатурі, введіть services.msc і натисніть Enter. У списку знайдіть цю службу, при необхідності запустіть її і встановіть для неї автоматичний запуск.
- Спробуйте скинути репозиторій. Для цього перезавантажте комп'ютер у безпечному режимі (можна використовувати вкладку "Завантаження" в msconfig) з мінімальним набором сервісів. Запустіть командний рядок від імені адміністратора і введіть команду net stop winmgmt і натисніть Enter. Після цього перейменуйте папку Windows \ System32 \ wbem \ repository в щось інше, наприклад, repository-old. Знову перезавантажте комп'ютер у безпечному режимі і введіть ту ж команду net stop winmgmt в командному рядку від імені адміністратора. Після цього використовуйте команду winmgmt /resetRepository і натисніть Enter. Перезавантажте комп'ютер у звичайному режимі.
Додаткова інформація: якщо помилку викликають будь-які програми, пов'язані з роботою веб-камери, спробуйте відключити в параметрах вашого антивіруса захист веб-камери (наприклад, в ESET - Контроль пристроїв - Захист веб камери).
Мабуть, на даний момент - це все способи, які я можу радити для виправлення помилки 0x80070005 "Немає доступу". Якщо ця проблема виникає у вас в якихось інших ситуаціях, потрібно описувати їх в коментарях, можливо, я зможу допомогти.