Многие пользователи при запуске, а в некоторых случаях и до запуска виртуальной машины в VirtualBox, независимо от того, какая операционная система на ней установлена (Windows 10 и более ранние версии, Linux и другие) сталкиваются с ошибкой E_FAIL 0x80004005 от MachineWrap, MediumWrap и других компонентов.
В этом руководстве вы найдете подробную информацию о наиболее распространенных причинах ошибки 0x80004005 в виртуальных машинах VirtualBox и способах ее устранения. Некоторым читателям может быть полезна статья Виртуальные машины VirtualBox для начинающих.
Исправление кода ошибки E_FAIL 0x80004005 в VirtualBox
Существуют различные причины ошибки E_FAIL 0x80004005 в VirtualBox, давайте начнем с самых простых, которые очень легко исправить:
- Изменение пути к месту с файлами виртуальной машины, путем изменения буквы диска, переименования папки, содержащей файлы виртуальной машины, изменения имени папки пользователя (если папки виртуальной машины находились внутри нее, как это обычно бывает по умолчанию). В этом случае при запуске VirtualBox (если менеджер VB не был запущен перед переименованием) вы увидите отметку "Inaccessible" рядом с именем виртуальной машины, а при ее выборе — информацию об этой ошибке, как на рисунке ниже. Возможные решения: вернуть исходное расположение виртуальной машины (путь будет указан вверху вместе с сообщением File Not Found), либо удалить эту виртуальную машину в менеджере и импортировать ее из нового расположения (через меню Machine — Add).
- Удаление файлов виртуального диска, ранее использовавшихся в виртуальной машине. Решение — зайдите в настройки виртуальной машины и удалите удаленный виртуальный диск из раздела "Хранилище".
- Если вы подключили физический диск, USB-накопитель или другой накопитель к виртуальной машине VirtualBox (как здесь: Как подключить физический USB-накопитель к виртуальной машине VirtualBox), то вы можете получить тот же код ошибки 0x, если нет такого физического диска или если вы запустили менеджер VirtualBox не от имени администратора, то следующие решения: поставьте диск обратно; удалите диск в настройках виртуальной машины в разделе "Mass Storage"; запустите VirtualBox от имени администратора.
Выше были приведены простые для диагностики случаи возникновения этой ошибки, но есть и другой вариант: вы обычно запускаете виртуальную машину, при этом никаких изменений в последнее время не производилось и, тем не менее, появляется ошибка E_FAIL 0x80004005. Обычно это вызвано проблемами с конфигурационными файлами .vbox, .vbox-tmp и .vbox-prev находится в папке с каждой виртуальной машиной VirtualBox.
Допустим, наша виртуальная машина называется Win10. Тогда идея заключается в следующем: при запуске сеанса виртуальной машины VirtualBox переименовывает файл Win10.vbox в Win10.vbox-prev и, в то же время, создает файл Win10.vbox-tmp в той же папке. Последний файл будет использоваться в качестве текущего конфигурационного файла для этой сессии, а .vbox-prev сохраняется как резервная копия. После завершения сеанса Win10.vbox-tmp переименовывается в Win10.vbox. При следующем запуске все повторяется.
Чтобы исправить ошибку E_FAIL 0x80004005 в этом случае, выполните следующие действия:
- Полностью закройте менеджер VirtualBox и проверьте наличие процессов VirtualBox.exe и VBoxSVC.exe в диспетчере задач (закройте их, если они запущены).
- Перейдите в папку с вашей виртуальной машиной. Стандартный путь: C:\users\user_name\Virtualbox VMs\virtual_machine_name.
- В случае отсутствия файла в указанной папке имя_виртуальной_машины.vbox, Но файлы .vbox-tmp или .vbox-prev, На всякий случай, сохраните эти файлы в каком-нибудь месте на вашем компьютере.
- Измените расширение файла .vbox-prev на .vbox
- Запустите менеджер VirtualBox и посмотрите, запускается ли теперь виртуальная машина.
- Если это не сработает, вы также можете попробовать следующее .vbox-prev Переименуйте файл таким же образом .vbox-tmp.
- Если файл .vbox уже присутствовали в папке, вы можете попробовать переместить их в другое место, а затем попробовать шаги 4-6.
- Более старые версии VirtualBox использовали .xml вместо .файлы vbox, но суть решения остается неизменной для них.
В крайнем случае, если ни один из вышеперечисленных файлов не находится, можно создать новую виртуальную машину VirtualBox и подключить к ней существующий виртуальный диск.
Дополнительные возможные причины ошибки
Если предыдущие варианты не помогли, ниже приведены еще несколько возможных причин, которые могут вызвать такую же проблему при запуске виртуальной машины:
- Отключен файл подкачки Windows или недостаточно памяти для запуска виртуальной машины.
- Нет поддержки виртуализации или виртуализация отключена, вот как включить аппаратную виртуализацию в BIOS/UEFI.
- Включенные компоненты Hyper-V в Windows 10, подробнее: Как запустить виртуальные машины Hyper-V и VirtualBox на одном компьютере.
Иногда помогает исправить ошибку 0x80004005 запуск виртуальной машины не из менеджера VirtualBox, а после его закрытия — просто выполните команду .vbox из папки виртуальной машины.