Как исправить ошибку 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 поверх текущей, заменит все системные файлы, сбросит права и уберёт всё что было побито. Данные и программы останутся на месте. По сути ядерный вариант который ничего не уничтожает.