GNU/Linux >> Linux Esercitazione >  >> Linux

Errore critico di meditazione Virtualbox Guru in Linux

Ho testato ampiamente KVM questa settimana. Oggi ho appreso che KVM e Oracle VirtualBox non funzionano contemporaneamente. Fino ad oggi, non ho avuto la possibilità di utilizzare due applicazioni di virtualizzazione alla volta, quindi sono completamente ignaro del fatto che KVM e virtualbox non funzionano contemporaneamente in Linux. Quando una delle istanze KVM è in esecuzione, ho avviato una VM da VirtualBox e non si è avviata ma ha mostrato una casella di errore intitolata - Virtualbox Guru Meditation .

Tieni presente che KVM e VirtualBox funzionano fianco a fianco senza effettivamente disinstallare nessuno. Tuttavia, non posso usarli contemporaneamente. Questo errore è nuovo per me, quindi ho pensato che pubblicare questa guida qui aiuterà qualcuno.

KVM e VirtualBox non funzionano contemporaneamente

Ecco il messaggio di errore completo quando ho provato ad avviare VM da Oracle virtualbox quando una macchina guest KVM è già in esecuzione:

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.

Quindi ho interrotto il guest KVM, chiuso l'applicazione KVM e avviato VM da virtualbox, ha funzionato!

Ho provato anche al contrario. Ho avviato una VM da virtualbox e quindi ho avviato un guest KVM, ma il guest KVM non si avvia.

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

Quindi ho arrestato la VM, ho chiuso l'applicazione Virtualbox e ho avviato un'istanza KVM, ha funzionato!

Ho anche controllato se i moduli kvm e vbox sono in esecuzione usando il comando "lsmod".

Trova i moduli KVM con il comando lsmod:

$ sudo lsmod | grep kvm

Risultato di esempio:

kvm_intel             282624  0
kvm                   663552  1 kvm_intel

Trova i moduli virtualbox:

$ sudo lsmod | grep vbox

Risultato di esempio:

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

Tutti i moduli sono caricati.

Dopo aver esaminato il forum di Virtualbox, mi sono reso conto che questo errore si verifica se eseguiamo più hypervisor contemporaneamente sullo stesso host.

Allora, come correggere l'errore di meditazione Virtualbox Guru in Linux?

In realtà, non c'è FIX. È necessario utilizzare un qualsiasi hypervisor alla volta. Le estensioni di virtualizzazione hardware Intel VT-x/AMD-V non possono essere utilizzate da più hypervisor diversi in esecuzione contemporaneamente sullo stesso host. Dovresti eseguire solo hypervisor su un singolo host. Se vuoi usarne un altro, chiudi l'hypervisor attualmente in esecuzione e avvia l'altro.

Un altro motivo per la meditazione del guru di virtualbox è VT-x potrebbe essere disabilitato nel BIOS . Assicurati di averlo abilitato nel tuo bios. Fare riferimento al manuale del produttore del sistema per abilitare VT nel BIOS.

Non posso usare KVM e VirtualBox fianco a fianco

Non ho problemi con KVM e Virtualbox sul mio sistema Ubuntu 20.04. Posso essere in grado di correre entrambi insieme.

Alcuni di voi potrebbero riscontrare questo errore durante l'esecuzione di KVM e Virtualbox sullo stesso host:

VERR_VMX_IN_VMX_ROOT_MODE

Se non puoi utilizzare Virtualbox insieme a KVM, puoi disabilitare temporaneamente i moduli kvm e quindi abilitarli quando vuoi.

Scarica i moduli KVM in esecuzione usando il comando:

$ sudo rmmod kvm-intel

Se è un sistema AMD, usa invece questo comando:

$ sudo rmmod kvm-amd

In alternativa, puoi utilizzare i seguenti comandi:

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

Su AMD:

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

Ora prova ad avviare le VM Virtualbox. Dovrebbe funzionare ora.

Abilita moduli KVM

Per abilitare i moduli KVM, devi prima trovarli dove si trovano nel tuo disco. Per farlo, esegui:

$ sudo updatedb
$ sudo locate kvm

Dovresti vedere un output come di seguito.

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

Cerca "kvm-intel.ko " e "kvm.ko " voci. Abilita questi due moduli usando i comandi:

$ 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

Sui sistemi AMD, sostituisci "kvm-intel.ko " con "kvm-amd.ko ".

Ora puoi eseguire istanze KVM. Ricorda che le VM virtualbox non si avviano finché non disattivi tutte le istanze KVM.

Riferimento:

  • Forum Virtualbox

Lettura correlata:

  • Come risolvere l'errore VirtualBox "Driver del kernel non installato (rc=-1908)" in Ubuntu
  • Risolvi l'errore Virtualbox "Impossibile modificare gli utenti vbox del gruppo per il dispositivo /dev/vboxdrv"
  • CentOS 8 VM non funziona in VirtualBox 5.2 su Ubuntu 18.04
  • Risolvi "Codice risultato:NS_ERROR_FAILURE (0x80004005)" Errore VirtualBox in Arch Linux

Linux
  1. Installazione di VirtualBox 4.2 su Linux Mint 14

  2. Installa VirtualBox 4.3 su Linux Mint 15 / LinuxMint 14

  3. macro IS_ERR() in Linux

  4. Errore su Vagrant Up su Linux

  5. Errore durante l'inizializzazione della scheda SD su Linux

Come migrare le VM Virtualbox in VM KVM in Linux

Errore critico di meditazione Virtualbox Guru in Linux

Come migrare le VM Virtualbox in VM KVM in Linux

Come utilizzare le macchine virtuali Virtualbox su KVM nel sistema Linux

Come installare Linux Mint in VirtualBox

Installa Windows 10 su Linux con VirtualBox