Сообщение VirtualBox с кодом E_FAIL (0x80004005) значит только одно: операция не удалась. 0x80004005 - стандартный HRESULT E_FAIL, «неспецифический сбой». Сам по себе он не говорит, сломался диск виртуальной машины, драйвер VBoxDrv или мешает Hyper-V. Рядом в окне почти всегда есть Component (часто MachineWrap) и путь к логу. Без лога код бесполезен. Это не синий экран Windows и не ошибка активации с тем же числом в другом месте.
Почему это происходит
Конфликт с Hyper-V и изоляцией ядра. На Windows 10 и 11 включённые Hyper-V, «Платформа виртуальных машин», WSL2 и Memory Integrity (целостность памяти в изоляции ядра) забирают виртуализацию. VirtualBox стартует процесс и падает с E_FAIL. В логе тогда видны hardening и отказ загрузить свои DLL.
Сторонний антивирус режет драйверы VirtualBox. Классика форума virtualbox.org: банковские щиты и корпоративные агенты не дают подписать и загрузить VBoxRT.dll / VBoxDrv.sys. Код снова 0x80004005, причина в VBoxHardening.log, не в «битом ISO гостя».
Сломанная сессия после обновления VirtualBox. Сохранили состояние ВМ, обновили программу, сессия больше не открывается. Или Extension Pack не совпадает с версией VirtualBox. E_FAIL здесь про файл состояния, не про железо хоста.
Права на папку виртуальной машины. Перенесли диск с другого компьютера, владелец папки - старый SID. VirtualBox не пишет в .vbox и логи, итог тот же E_FAIL.
0x80004005 в других местах Windows. Тот же HRESULT бывает у Центра обновления, архива и сетевого диска. Если VirtualBox ни при чём, вы не в этой статье: смотрите общий разбор 0x80004005.
Не ставьте «патч hardening» и не подменяйте VBoxDrv.sys файлом с форума. Подпись не сойдётся, Windows заблокирует драйвер, а часть гайдов ещё и предлагает выключить проверку подписи ядра навсегда. Так делать нельзя: вы открываете машину любому драйверу с торрента.
Что проверить самому
Прочитайте окно целиком и откройте лог. Нужны Result Code E_FAIL (0x80004005), Component и файл
VBoxHardening.logилиVBox.logв папке машины. Если там LoadLibrary failed или «known adversary» - это защита хоста, не гостевая Windows.Сбросьте сохранённое состояние. В меню машины: Discard Saved State, не Delete. После обновления VirtualBox это часто закрывает E_FAIL без переустановки. Проверьте, что Extension Pack той же версии, что и программа, с сайта VirtualBox.
Проверьте виртуализацию на хосте. В параметрах Windows: компоненты Hyper-V, «Платформа гипервизора Windows», WSL. Для старых веток VirtualBox их нужно снять и перезагрузиться. Целостность памяти: Безопасность Windows → Изоляция ядра. Если VirtualBox пишет про конфликт гипервизора - сначала это, не переустановка гостя.
Исключите антивирус из папки VirtualBox и ВМ. Штатный Защитник обычно живёт мирно. Сторонний щит и банковские модули лучше снять на проверку, не «добавить исключение наугад в реестр». Если после удаления щита машина стартует - причина найдена.
Переустановите VirtualBox от администратора. Сначала удалите программу штатно, затем поставьте свежий пакет с virtualbox.org, не репак. Драйвер
VBoxDrvдолжен быть в состоянии Running (sc query vboxdrv). Не копируйте.sysруками вSystem32\drivers.Проверьте права на каталог машины. Свойства папки → Безопасность: ваша учётка должна быть владельцем и писать в файлы. После клона диска это частая причина E_FAIL при живом
.vdi.
Если гость не нужен каждый день, а Hyper-V нужен для WSL и песочницы, честнее оставить Hyper-V и пользоваться другим гипервизором, чем каждые две недели ломать изоляцию ядра. VirtualBox и Hyper-V на одном хосте долго воевали; новые версии живут лучше, но E_FAIL после крупного обновления Windows всё ещё встречается.
Отдельно стоит сохранённое состояние после обновления хоста, не только VirtualBox. Windows поставила накопительный пакет, перезагрузилась, сессия ВМ осталась «замороженной» со старыми модулями ядра. Discard Saved State здесь штатный шаг, удаление .vdi - нет. Если в логе exit code 0xC0000005 рядом с E_FAIL, падает уже процесс VirtualBox из-за чужой DLL в процессе, не гостевой диск: снова hardening и антивирус, не «битый Ubuntu».
Часто задаваемые вопросы
E_FAIL и 0x80004005 - одно? Да. E_FAIL - имя, 0x80004005 - число одного HRESULT.
Это ошибка гостевой Windows? Обычно нет. Падает хостовый процесс VirtualBox ещё до загрузки гостя.
Нужно ли выключать Secure Boot? Не как первый шаг. Сначала Hyper-V, изоляция ядра и антивирус. Secure Boot сам по себе VirtualBox не запрещает.
Можно подложить чужой VBoxDrv.sys? Нельзя. Подпись и версия не сойдутся, Windows заблокирует драйвер.
