В окне обновления, в VirtualBox, при копировании файла или в журнале установщика бывает строка E_FAIL и рядом 0x80004005. Люди набирают это как «e fail» - так и есть, это имя HRESULT, не выдуманный код. Официально E_FAIL значит «неуточнённая ошибка». Система говорит: операция не удалась, а более узкого статуса нет. Поэтому один рецепт на все случаи 0x80004005 не существует.

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

Центр обновления Windows не смог завершить операцию. Каталог пакетов битый, служба застряла, антивирус держит файлы в SoftwareDistribution. Рядом могут быть более узкие коды, 0x80004005 часто идёт обёрткой. Это история рабочего стола, не синего экрана и не отказа флешки на чистой установке.

Виртуальная машина или общий диск. VirtualBox и похожие среды любят 0x80004005 на общей папке, на запуске сессии, на снимке. Причина там в дополнениях гостевой ОС, в правах папки или в том, что сессия не закрылась. Лечить это «очисткой Windows» бессмысленно.

Файл, архив, сетевая папка. Нет прав, файл занят, диск отвалился по сети, путь слишком длинный. Проводник иногда прячет настоящую причину за E_FAIL. Если тот же файл копируется на другой носитель - смотрите источник и права, не «восстановление системы».

Установщик программы или игры. Пакет MSI, лаунчер, распаковка. Опять 0x80004005 как заглушка. Истинная причина чаще в журнале этого установщика: занятый dll, нехватка места, блокировка защитником. Это уже не установка самой Windows.

Повреждённые системные компоненты. Реже, но бывает после оборванного обновления. Тогда падают сразу несколько штатных функций. Имеет смысл sfc и DISM, а не сторонний «ремонт HRESULT».

Не путайте 0x80004005 с 0xc0000005. Похожи глазом, смысл разный. 0xc0000005 - нарушение доступа к памяти в процессе. 0x80004005 - отказ вызова COM или API без уточнения. Лечение «как у доступа к памяти» здесь не работает.

Что делать самому

  1. Зафиксируйте, в какой программе всплыло E_FAIL. Обновление Windows, VirtualBox, копирование, setup игры - четыре разных пути. Скриншот окна и точное имя приложения обязательны. Без контекста код бесполезен.
  2. Для центра обновления запустите штатное средство устранения неполадок. В Windows 10: «Параметры» → «Обновление и безопасность» → «Устранение неполадок». В Windows 11: «Параметры» → «Система» → «Устранение неполадок» → «Другие средства» → «Центр обновления Windows». Если не помогло - остановите службу обновления, очистите содержимое C:\Windows\SoftwareDistribution\Download, запустите службу снова. Папку целиком сносить не нужно, достаточно загрузок.
  3. Для копирования файлов проверьте права, длину пути и занятость. Закройте программу, которая держит файл. Скопируйте в корень другого диска. Если падает только по сети - это уже шара, не Windows.
  4. Для виртуальной машины обновите саму программу и дополнения гостя с официального сайта. Пересоздайте общую папку. Не ставьте «патч 0x80004005 для VirtualBox» с рекламных страниц.
  5. Для установщика программы возьмите другой дистрибутив с сайта автора и ставьте от имени администратора. Временные файлы в %TEMP% можно почистить штатно. Не отключайте защитник насовсем: достаточно исключения на папку установщика, если он легальный.
  6. Проверьте системные файлы, если 0x80004005 сыпется в разных местах. sfc /scannow, затем DISM /Online /Cleanup-Image /RestoreHealth. Это чинит хранилище компонентов, не права на одну папку.
  7. Не импортируйте .reg из старых гайдов. Часть советов про 0x80004005 родом из Windows XP и правит ключи, которых в Windows 10 и 11 уже нет или они значат другое. Случайная правка прав на HKLM ломает активацию и обновления сильнее, чем исходный E_FAIL.

Если код всплыл один раз при копировании большого файла и больше не повторялся - можно не лечить систему. Если центр обновления стоит на 0x80004005 неделю - сначала средство устранения и DISM, потом уже мысль о переустановке.

Часто задаваемые вопросы

E_FAIL и 0x80004005 - разные ошибки? Нет. E_FAIL - символическое имя, 0x80004005 - его числовое значение.

Почему в поиске пишут «e fail»? Так набирают латиницу с пробелом. Имеется в виду E_FAIL, не отдельный код.

Это синий экран? Нет. Это код отказа операции в уже работающей среде или в установщике программы.

Поможет ли «очиститель реестра»? Нет. Он как раз умеет производить новые E_FAIL на ровном месте.

Смотрите также