Как исправить ошибку 0x80004005 в Windows 11/10

0x80004005 это буквально "Неопределённая ошибка." Windows что-то не смог сделать, но даже сам не понял почему и выкинул этот универсальный код. Встречается где угодно: при обновлениях, при распаковке ZIP-архивов, при попытке зайти на сетевую шару, иногда при запуске виртуалки в VirtualBox.

Почему это происходит

  • Кэш обновлений или компоненты Windows Update испорчены
  • ZIP-файл повреждён или антивирус блокирует распаковку
  • Сетевое обнаружение или SMB настроены криво
  • Ключи реестра связанные с проблемной функцией сломались
  • VirtualBox и Hyper-V пытаются работать одновременно
  • Права доступа где-то не пускают

1. Средство устранения неполадок

Если ошибка при обновлении, начните отсюда. Звучит бесполезно, но на практике помогает чаще чем кажется.

Windows 11: Параметры → Система → Устранение неполадок → Другие средства устранения неполадок, жмите Запустить рядом с Центром обновления Windows.

Windows 10: Параметры → Обновление и безопасность → Устранение неполадок, выбираете Центр обновления.

Перезагрузка, повторная попытка. Подробнее на сайте Microsoft.

2. Сброс компонентов Windows Update

Останавливаем службы обновления, сносим кэш, запускаем заново. Это то что помогает чаще всего. Откройте командную строку от администратора (Win+X → Терминал (Администратор)):

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver

Переименуйте папки с кэшем:

ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old

Запустите службы обратно:

net start wuauserv
net start cryptSvc
net start bits
net start msiserver

Перезагрузка, проверка обновлений. Папки .old можно удалить потом когда убедитесь что всё работает.

3. Перерегистрация jscript и vbscript

Эти две DLL-ки слетают с регистрации чаще чем хотелось бы, и именно это вызывает 0x80004005. Командная строка от администратора:

regsvr32 jscript.dll
regsvr32 vbscript.dll

Для каждой должно выскочить окно об успешной регистрации. Если какая-то не хочет регистрироваться, сначала прогоните SFC (шаг 6) и вернитесь сюда.

4. Сетевая папка не открывается

Если 0x80004005 вылезает при попытке зайти на общую папку на другом компе, почти всегда дело в SMB или сетевом обнаружении.

Проверьте что сетевое обнаружение включено: Параметры → Сеть и Интернет → Дополнительные сетевые параметры → Дополнительные параметры общего доступа. Включите Сетевое обнаружение и Общий доступ к файлам и принтерам для текущего профиля.

Подключаетесь к старому NAS или ПК? Возможно нужен SMB 1.0. Зайдите в Панель управления → Программы → Включение или отключение компонентов Windows, найдите Поддержка общего доступа к файлам SMB 1.0/CIFS и включите Клиент. Перезагрузка обязательна.

Быстрая проверка: попробуйте зайти по IP вместо имени:

\\192.168.1.100\SharedFolder

Если по IP работает а по имени нет, у вас проблема с DNS или NetBIOS, а не с правами.

5. Не распаковывается архив

Если 0x80004005 при извлечении архива, обычно файл повреждён, заблокирован Windows или антивирус лезет куда не надо.

Правая кнопка по ZIP-файлу → Свойства. Если внизу вкладки "Общие" есть галка "Разблокировать", поставьте её и нажмите Применить. Windows блокирует файлы скачанные из интернета и это порождает кучу непонятных ошибок.

Не помогло? Попробуйте 7-Zip вместо встроенного распаковщика. Он лучше справляется с побитыми архивами и хотя бы говорит нормальным языком что пошло не так.

Всё ещё не работает? Временно вырубите антивирус и попробуйте снова. Некоторые антивирусы сканируют файлы прямо в процессе распаковки и на больших архивах просто не успевают.

6. SFC и DISM

Если повреждены сами системные файлы, ничего из вышеперечисленного не поможет пока не почините это. Командная строка от администратора:

sfc /scannow

Занимает 5-15 минут. Если SFC нашёл проблемы но не всё смог исправить, запускайте DISM:

DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth

RestoreHealth качает чистые файлы с серверов Microsoft, нужен интернет. После завершения запустите sfc /scannow ещё раз и перезагрузитесь.

7. Очистка Temp

Оставшиеся временные файлы иногда провоцируют эту ошибку. Win+R, %temp%, Enter. Выделите всё (Ctrl+A) и удалите. Файлы которые говорят что заняты другими программами пропустите, они ни при чём.

То же самое с C:\Windows\Temp если есть права администратора.

8. VirtualBox против Hyper-V

Если ошибка при запуске виртуалки в VirtualBox, скорее всего Hyper-V включён и они дерутся за гипервизор.

Проверяем из командной строки от администратора:

bcdedit

Ищите hypervisorlaunchtype. Если стоит auto, Hyper-V активен. Выключить:

bcdedit /set hypervisorlaunchtype off

Перезагрузка. Включить обратно когда понадобится:

bcdedit /set hypervisorlaunchtype auto

Если вам нужны оба, посмотрите документацию VirtualBox по совместной работе с Hyper-V, там описано текущее состояние дел.

Если вообще ничего не помогло

Скачайте Media Creation Tool с сайта Microsoft. Запустите, выберите "Обновить этот компьютер", сохраните файлы и программы. Это переустановит Windows поверх текущей, заменит все системные файлы, сбросит права и уберёт всё что было побито. Данные и программы останутся на месте. По сути ядерный вариант который ничего не уничтожает.