Ошибка VERR_VMX_IN_VMX_ROOT_MODE означает, что аппаратную виртуализацию (VT-x/AMD-V) уже использует другое ПО. Чаще всего это модуль ядра KVM, который в новых версиях ядра Linux активирует виртуализацию по умолчанию. Это особенно актуально для Ubuntu 24.04 и 25.04.
Ниже приведены решения — от самого простого временного до постоянного.
[Быстрые действия]
1. Проверьте, используется ли KVM прямо сейчас:
lsmod | grep kvm
Если в выводе вы видите `kvm_intel` (или `kvm_amd` для процессоров AMD), модуль активен.
2. Найдите конкретное приложение, которое его использует:
sudo lsof /dev/kvm
Это может быть Docker, QEMU, Gnome Boxes или другой гипервизор. Закройте его.
Если не хотите каждый раз выяснять причину, примените одно из решений ниже.
[Сравнение решений]
В таблице ниже показаны основные пути устранения проблемы.
| Способ |
Описание |
Действует |
Необходимые действия |
| Временное отключение |
Выгружает модуль KVM до перезагрузки. |
До первого перезапуска системы. |
Выполнить команду в терминале. |
| Постоянное отключение KVM |
Полностью отключает модуль KVM в системе. |
Постоянно. |
Изменить конфигурацию модулей ядра. |
| Параметр для ядра (рекомендуется) |
Разрешает сосуществовать KVM и VirtualBox. |
Постоянно. |
Добавить параметр загрузки ядра. |
[Как применить каждое решение]
1. Временное отключение KVM
Это решение подходит, чтобы быстро запустить VirtualBox, но после перезагрузки компьютера его нужно будет повторить.
# Для процессоров Intel
sudo rmmod kvm_intel
# Для процессоров AMD
sudo rmmod kvm_amd
Затем попробуйте запустить виртуальную машину в VirtualBox снова.
2. Постоянное отключение модулей KVM
Это полностью предотвратит загрузку KVM, что поможет VirtualBox, но может сломать другие гипервизоры (QEMU, libvirt, Docker).
1. Создайте файл конфигурации:
sudo nano /etc/modprobe.d/blacklist-kvm.conf
2. Добавьте в него строки и сохраните файл (Ctrl+O, Enter, Ctrl+X):
# Отключение KVM для работы VirtualBox
blacklist kvm
blacklist kvm_intel # Для Intel
blacklist kvm_amd # Для AMD
3. Обновите конфигурацию и перезагрузитесь:
sudo update-initramfs -u
sudo reboot
3. Параметр для ядра (оптимальное решение)
Это предпочтительный метод, позволяющий сосуществовать VirtualBox и KVM на одном компьютере.
1. Отредактируйте параметры загрузки GRUB:
sudo nano /etc/default/grub
2. Найдите строку GRUB_CMDLINE_LINUX_DEFAULT. Внутри кавычек добавьте параметр:
GRUB_CMDLINE_LINUX_DEFAULT="... kvm.enable_virt_at_load=0"
(Не удаляйте существующие параметры, просто добавьте новый через пробел).
3. Примените изменения и перезагрузитесь:
sudo update-grub
sudo reboot
Этот параметр укажет KVM не захватывать аппаратную виртуализацию сразу при загрузке, предоставив VirtualBox доступ к ней.
Рекомендуется использовать параметр ядра `kvm.enable_virt_at_load=0`, так как он решает проблему навсегда и сохраняет совместимость с другим ПО, использующим KVM.
Если вы уверены, что больше никогда не будете использовать KVM, можно полностью отключить его модули. А временное отключение подходит для быстрой проверки.
Мне подошло временное решение:
$ lsmod | grep kvm
kvm_intel 487424 0
kvm 1425408 1 kvm_intel
irqbypass 12288 1 kvm
$ sudo rmmod kvm_intel