Для себе я виділив три основні причини цієї помилки:
- відключені апаратні засоби віртуалізації;
- запущена інша система віртуалізації, яка не дає VirtualBox доступу до апаратних ресурсів;
- VirtualBox не може записати стан машини в файл vbox.
У цій статті ми розглянемо методи виправлення помилки у всіх трьох випадках.
Апаратні засоби віртуалізації
Помилка 0x80004005 в VirtualBox.Для включення апаратної віртуалізації потрібно зайти в BIOS і знайти пункти Intel Virtualization Technology або AMD-V в залежності від чіпсета.
Назви можуть бути і інші. Наприклад, Intel VT. Virtualization Technology або просто Virtualization. Значення параметра має бути Enabled.
Якогось чітко визначеного місця розташування у цього пункту в BIOS немає. Він може бути на вкладці Advanced. System Configuration. Processor або якийсь інший.
Включення апаратної віртуалізації в BIOS.Якщо включення апаратної віртуалізації не допомогло, пройдемося по наступним пунктам.
Конфлікт з іншими системами віртуалізації
VirtualBox, звичайно, далеко не єдине рішення в області віртуалізації і він може конфліктувати з іншим ПЗ для віртуалізації за доступ до Гіпервізор. Вихід в даному випадку - видалити інше програмне забезпечення для віртуалізації.
Для відключення ролі Hyper-V необхідно відкрити Диспетчер сервера. перейти в розділ Ролі і натиснути Видалити ролі.
Запуститься Майстер видалення ролей. Додані сервера ролі будуть відзначені галочками. Вам необхідно прибрати галочку з Hyper-V.
Після видалення сервер зажадає перезавантаження.
Любителі стукати пальцями по клавішах оцінять можливість відключати ролі через PowerShell.
Для цього запустіть Windows PowerShell з правами адміністратора і довантажити модуль Диспетчера серверів:
Після цього можна працювати з Диспетчером серверів з PowerShell. Зокрема, видаляти ролі. Для видалення ролі Hyper-V введіть:
Параметр -restart потрібен для автоматичної перезавантаження і можна обійтися без нього.
Альтернативою PowerShell може стати командний рядок, яку теж треба запускати від імені адміністратора. Видалити Hyper-V допоможе наступна команда:
Як і у випадку з PowerShell, параметр -restart є необов'язковим.
Якщо Вам хочеться зберегти настройки Hyper-V або з якоїсь причини роль Hyper-V не видаляється з системи (буває і так, на жаль), то можна піти іншим шляхом і відключити використання гипервизора в момент завантаження Windows.
Зробити це можна шляхом редагування завантажувача Windows. На жаль, минули ті часи, коли редагування завантажувача відбувалося через зміни простого текстового файлу boot.ini. Тепер треба лізти в командний рядок і використовувати утиліту bcdedit.exe.
При будь-яких операціях з завантажувачем ОС буде розумним спершу зробити резервну копію завантажувача, і тільки потім вносити зміни.
Запускаємо командний рядок від імені адміністратора. Для створення резервної копії використовуємо команду:
Шлях до файлу і ім'я файлу Ви тут можете вказати будь-які. Єдине уточнення - каталог, куди буде вивантажено бекап. вже повинен існувати. Так що спочатку створіть папку (або використовуйте існуючу), а потім запускайте команду.
Якщо в дорозі до файлу присутні прогалини, потрібно використовувати лапки:
У разі чого завантажувач можна відновити командою:
Тепер, коли бекап завантажувача створений, можна відключити через нього використання системою гипервизора.
Після цього потрібно буде перезавантажити систему. Це призведе до того, що роль Hyper-V в Windows збережеться, Ви зможете заходити в оболонку Hyper-V, але запустити створені там віртуальні машини не вийде. Зате вийде запустити віртуальні машини в VirtualBox.
Для включення використання гипервизора використовуйте команду:
Після цієї команди теж потрібно перезавантажити систему.
Якщо конфлікт між системами віртуалізації не наш випадок, звернемося до іншої можливої причини.
Помилка при спробі зберегти стан віртуальної машини
Іноді VirtualBox не може зберегти стан машини в файл. Таке може бути якщо файл пошкоджений або зайнятий іншим процесом. В такому випадку VirtualBox катує зберегти стан машини в файли з тим же ім'ям, але з додаванням до розширення файлу -prev або -tmp на кінці. Тому, якщо віртуальна машина не завантажується, можна спробувати довантажити її стан з цих файлів.
Зайдіть в каталоги:
C: \ Users \ [ім'я користувача] \ VirtualBox VMs \ [ім'я машини]
Шлях до каталогу з машинами може відрізнятися від дефолтного, якщо Ви змінювали його самостійно.
У каталозі з машинами Ви можете виявити файли з .vbox-prev або .vbox-tmp на кінці.
Якщо такі є, скопіюйте абикуди файл з .vbox на кінці, а у файлу з .vbox-prev приберіть -prev, підмінивши таким чином файл стану машини.
Крім цього, перевірте обидві папки на наявність файлів з .xml-prev і .xml-tmp на кінці. Якщо такі знайдуться, поверніть з ними ту ж операцію, що з файлами з розширенням .vbox.
Після цього потрібно перезавантажити комп'ютер. Може статися так, що корінь проблеми крився в таку дрібницю.