На этой неделе я тестировал KVM.

Сегодня я узнал, что KVM и Oracle VirtualBox не работают одновременно.

До сегодняшнего дня у меня не было возможности использовать два приложения виртуализации одновременно, поэтому я совершенно не знаю, что KVM и virtualbox не работают одновременно на Linux

Когда был запущен один из экземпляров KVM, я запустил виртуальную машину из VirtualBox, и она не запустилась, а показала окно с ошибкой под названием — Virtualbox Guru Meditation.

Обратите внимание, что KVM и VirtualBox работают бок о бок, фактически никого не удаляя.

Однако я не могу использовать их одновременно.

Эта ошибка является новой, поэтому я решил, что публикация этого руководства поможет кому-то.

KVM и VirtualBox не работают одновременно

Вот полное сообщение об ошибке, когда я пытался запустить ВМ из oracle virtualbox, когда гостевая машина KVM уже запущена:

Virtualbox Guru Meditation

A critical error has occurred while running the virtual machine and the machine execution has been stopped.

For help, please see the Community section on https://www.virtualbox.org or your support contract. Please provide the contents of the log file VBox.log and the image file VBox.png, which you can find in the /home/sk/VirtualBox VMs/Ubuntu 20.04 Server/Logs directory, as well as a description of what you were doing when this error happened. Note that you can also access the above files by selecting Show Log from the Machine menu of the main VirtualBox window.

Press OK if you want to power off the machine or press Ignore if you want to leave it as is for debugging. Please note that debugging requires special knowledge and tools, so it is recommended to press OK now.

Затем я остановил гостевую KVM, закрыл приложение KVM и запустил виртуальную машину из virtualbox, все заработало!

Я также попробовал это в обратном порядке.

Я запустил виртуальную машину из virtualbox, а затем запустил гостевую систему KVM, но гостевая система KVM не запускается.

Error starting domain: internal error: process exited while connecting to monitor: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
2020-07-08T11:28:43.524617Z qemu-system-x86_64: failed to initialize KVM: Device or resource busy

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 66, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1279, in startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1234, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirt.libvirtError: internal error: process exited while connecting to monitor: ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
2020-07-08T11:28:43.524617Z qemu-system-x86_64: failed to initialize KVM: Device or resource busy

Затем я остановил виртуальную машину, закрыл приложение Virtualbox и запустил экземпляр KVM, все заработало!

Я даже проверил, работают ли модули kvm и vbox, используя команду «lsmod».

Найдем модули KVM с помощью команды lsmod:

$ sudo lsmod | grep kvm

Вывод:

kvm_intel             282624  0
kvm                   663552  1 kvm_intel

Найдем модули virtualbox:

$ sudo lsmod | grep vbox

 Вывод:

vboxnetadp             28672  0
vboxnetflt             28672  0
vboxdrv               487424  2 vboxnetadp,vboxnetflt

Все модули загружены.

Так как же исправить ошибку «Virtualbox Guru Meditation» на Linux?

На самом деле, нет решения.

Вы должны использовать любой гипервизор за один раз.

Аппаратные расширения виртуализации Intel VT-x / AMD-V нельзя использовать с несколькими разными гипервизорами, работающих одновременно на одном хосте.

Вы должны запускать только один гипервизор на одном хосте.

Если вы хотите использовать другой, закройте работающий в данный момент гипервизор и запустите другой.

Другая причина этой ошибки — это то, что VT-x может быть отключен в BIOS.

Убедитесь, что вы включили его в своем BIOS.

Обратитесь к руководству производителя вашей системы, чтобы включить VT в BIOS.

Я не могу использовать KVM и VirtualBox вместе

У меня нет проблем с KVM и Virtualbox в моей системе Ubuntu 20.04.

Некоторые из вас могут столкнуться с этой ошибкой при запуске KVM и Virtualbox на одном хосте:

VERR_VMX_IN_VMX_ROOT_MODE

Если вы не можете использовать Virtualbox вместе с KVM, вы можете временно отключить модули kvm, а затем включить их, когда захотите.

Выгрузите работающие модули KVM с помощью команды:

$ sudo rmmod kvm-intel

Если это система AMD, используйте эту команду:

$ sudo rmmod kvm-amd

В качестве альтернативы вы можете использовать следующие команды:

$ modprobe -r kvm_intel
$ modprobe -r kvm

на AMD:

$ modprobe -r kvm_amd
$ modprobe -r kvm
Теперь попробуйте запустить виртуальные машины Virtualbox.

Как включить модули KVM

Чтобы включить модули KVM, вы должны сначала найти их, где они находятся на вашем диске.

Для этого запустите:

$ sudo updatedb
$ sudo locate kvm

Вы должны увидеть результат, как показано ниже.

/lib/modules/5.4.0-39-generic/kernel/arch/x86/kvm
/lib/modules/5.4.0-39-generic/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/5.4.0-39-generic/kernel/arch/x86/kvm/kvm-intel.ko
/lib/modules/5.4.0-39-generic/kernel/arch/x86/kvm/kvm.ko
/lib/modules/5.4.0-39-generic/kernel/drivers/gpu/drm/i915/gvt/kvmgt.ko
/lib/modules/5.4.0-39-generic/kernel/drivers/ptp/ptp_kvm.ko
/lib/modules/5.4.0-40-generic/kernel/arch/x86/kvm
/lib/modules/5.4.0-40-generic/kernel/arch/x86/kvm/kvm-amd.ko
/lib/modules/5.4.0-40-generic/kernel/arch/x86/kvm/kvm-intel.ko
[...]
Найдите записи «kvm-intel.ko» и «kvm.ko».
Включите эти два модуля, используя команды:
$ sudo insmod /lib/modules/`uname -r`/kernel/arch/x86/kvm/kvm.ko
$ sudo insmod /lib/modules/`uname -r`/kernel/arch/x86/kvm/kvm-intel.ko

В системах AMD замените «kvm-intel.ko» на «kvm-amd.ko».

Теперь вы можете запускать экземпляры KVM.

Помните, что виртуальные машины Virtualbox не будут запускаться, пока вы не отключите все экземпляры KVM.
Поделитесь статьей:

Добавить комментарий