GNU/Linux >> Tutoriels Linux >  >> Linux

Erreur critique de Virtualbox Guru Meditation sous Linux

J'ai testé intensivement KVM cette semaine. Aujourd'hui, j'ai appris que KVM et Oracle VirtualBox ne fonctionnent pas en même temps. Jusqu'à aujourd'hui, je n'ai pas eu la chance d'utiliser deux applications de virtualisation à la fois, donc j'ignore complètement que KVM et virtualbox ne fonctionnent pas simultanément sous Linux. Lorsque l'une des instances KVM est en cours d'exécution, j'ai démarré une machine virtuelle à partir de VirtualBox, et elle n'a pas démarré mais a affiché une boîte d'erreur intitulée - Virtualbox Guru Meditation .

Veuillez noter que KVM et VirtualBox fonctionnent côte à côte sans désinstaller personne. Cependant, je ne peux pas les utiliser simultanément. Cette erreur est nouvelle pour moi, alors j'ai pensé que publier ce guide ici aiderait quelqu'un.

KVM et VirtualBox ne fonctionnent pas en même temps

Voici le message d'erreur complet lorsque j'ai essayé de démarrer VM à partir d'oracle virtualbox alors qu'une machine invitée KVM est déjà en cours d'exécution :

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.

Ensuite, j'ai arrêté l'invité KVM, fermé l'application KVM et démarré VM à partir de virtualbox, cela a fonctionné !

J'ai aussi essayé à l'envers. J'ai démarré une machine virtuelle à partir de virtualbox, puis j'ai démarré un invité KVM, mais l'invité KVM ne démarre pas.

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

Ensuite, j'ai arrêté la VM et fermé l'application Virtualbox et démarré une instance KVM, cela a fonctionné !

J'ai même vérifié si les modules kvm et vbox sont en cours d'exécution à l'aide de la commande "lsmod".

Trouvez les modules KVM avec la commande lsmod :

$ sudo lsmod | grep kvm

Exemple de résultat :

kvm_intel             282624  0
kvm                   663552  1 kvm_intel

Trouver des modules de virtualbox :

$ sudo lsmod | grep vbox

Exemple de résultat :

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

Tous les modules sont chargés.

Après avoir consulté le forum Virtualbox, j'ai réalisé que cette erreur se produisait si nous exécutions simultanément plusieurs hyperviseurs en même temps sur le même hôte.

Alors, comment corriger l'erreur Virtualbox Guru Meditation sous Linux ?

En fait, il n'y a pas de FIX. Vous devez utiliser un hyperviseur à la fois. Les extensions de virtualisation matérielle Intel VT-x/AMD-V ne peuvent pas être utilisées à partir de plusieurs hyperviseurs différents exécutés simultanément sur le même hôte. Vous ne devez exécuter que l'hyperviseur sur un seul hôte. Si vous souhaitez en utiliser un autre, fermez l'hyperviseur en cours d'exécution et démarrez l'autre.

Une autre raison de la méditation du gourou de la virtualbox est que VT-x peut être désactivé dans le BIOS . Assurez-vous de l'avoir activé dans votre bios. Reportez-vous au manuel du fabricant de votre système pour activer VT dans le BIOS.

Je ne peux pas utiliser KVM et VirtualBox côte à côte

Je n'ai aucun problème avec KVM et Virtualbox sur mon système Ubuntu 20.04. Je peux être capable de courir les deux côte à côte.

Certains d'entre vous peuvent rencontrer cette erreur lors de l'exécution de KVM et Virtualbox sur le même hôte :

VERR_VMX_IN_VMX_ROOT_MODE

Si vous ne pouvez pas utiliser Virtualbox avec KVM, vous pouvez temporairement désactiver les modules kvm, puis les activer quand vous le souhaitez.

Déchargez les modules KVM en cours d'exécution à l'aide de la commande :

$ sudo rmmod kvm-intel

S'il s'agit d'un système AMD, utilisez plutôt cette commande :

$ sudo rmmod kvm-amd

Vous pouvez également utiliser les commandes suivantes :

$ sudo modprobe -r kvm_intel
$ sudo modprobe -r kvm

Sur AMD :

$ sudo modprobe -r kvm_amd
$ sudo modprobe -r kvm

Essayez maintenant de démarrer les machines virtuelles Virtualbox. Cela devrait fonctionner maintenant.

Activer les modules KVM

Pour activer les modules KVM, vous devez d'abord les trouver où se trouvent-ils sur votre disque. Pour ce faire, exécutez :

$ sudo updatedb
$ sudo locate kvm

Vous devriez voir une sortie comme ci-dessous.

/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
[...]

Recherchez "kvm-intel.ko " et "kvm.ko ". Activez ces deux modules à l'aide des commandes :

$ 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

Sur les systèmes AMD, remplacez "kvm-intel.ko " avec "kvm-amd.ko ".

Vous pouvez maintenant exécuter des instances KVM. N'oubliez pas que les machines virtuelles Virtualbox ne démarreront pas tant que vous n'aurez pas désactivé toutes les instances KVM.

Référence :

  • Forum Virtualbox

Lire connexe :

  • Comment réparer l'erreur VirtualBox "Pilote du noyau non installé (rc=-1908)" dans Ubuntu
  • Résoudre l'erreur Virtualbox "Impossible de modifier les vboxusers du groupe pour l'appareil /dev/vboxdrv"
  • La machine virtuelle CentOS 8 ne fonctionne pas dans VirtualBox 5.2 sur Ubuntu 18.04
  • Résoudre l'erreur VirtualBox "Code de résultat :NS_ERROR_FAILURE (0x80004005)" dans Arch Linux

Linux
  1. Pourquoi Linux est essentiel à l'informatique de pointe

  2. Kali Linux sur VirtualBox :un guide d'installation étape par étape

  3. Installer Linux Mint 12 dans VirtualBox | Installer Linux Mint dans VirtualBox

  4. Macro IS_ERR() sous Linux

  5. Erreur lors de l'initialisation de la carte SD sous Linux

Comment migrer des machines virtuelles Virtualbox vers des machines virtuelles KVM sous Linux

Erreur critique de Virtualbox Guru Meditation sous Linux

Comment migrer des machines virtuelles Virtualbox vers des machines virtuelles KVM sous Linux

Comment utiliser les machines virtuelles Virtualbox sur KVM dans le système Linux

Comment installer Linux Mint dans VirtualBox

Installer Windows 10 sur Linux avec VirtualBox