GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Virtualbox Guru Meditation Kritischer Fehler in Linux

Ich habe KVM diese Woche ausgiebig getestet. Heute habe ich erfahren, dass KVM und Oracle VirtualBox nicht gleichzeitig funktionieren. Bis heute hatte ich keine Gelegenheit, zwei Virtualisierungsanwendungen gleichzeitig zu verwenden, daher ist mir völlig unbekannt, dass KVM und Virtualbox nicht gleichzeitig unter Linux laufen. Wenn eine der KVM-Instanzen ausgeführt wird, habe ich eine VM von VirtualBox gestartet, und sie startete nicht, sondern zeigte ein Fehlerfeld mit dem Titel - Virtualbox Guru Meditation .

Bitte beachten Sie, dass KVM und VirtualBox nebeneinander funktionieren, ohne tatsächlich jemanden zu deinstallieren. Allerdings kann ich sie nicht gleichzeitig verwenden. Dieser Fehler ist mir neu, daher dachte ich, dass das Posten dieser Anleitung hier jemandem helfen wird.

KVM und VirtualBox funktionieren nicht gleichzeitig

Hier ist die vollständige Fehlermeldung, als ich versuchte, VM von Oracle Virtualbox zu starten, wenn bereits ein KVM-Gastcomputer ausgeführt wird:

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.

Dann habe ich den KVM-Gast gestoppt, die KVM-Anwendung geschlossen und VM von Virtualbox aus gestartet, es hat funktioniert!

Ich habe es auch umgekehrt probiert. Ich habe eine VM von Virtualbox und dann einen KVM-Gast gestartet, aber der KVM-Gast startet nicht.

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

Dann habe ich die VM gestoppt und die Virtualbox-Anwendung geschlossen und eine KVM-Instanz gestartet, es hat funktioniert!

Ich habe sogar überprüft, ob kvm- und vbox-Module mit dem Befehl "lsmod" ausgeführt werden.

Finden Sie KVM-Module mit dem lsmod-Befehl:

$ sudo lsmod | grep kvm

Beispielausgabe:

kvm_intel             282624  0
kvm                   663552  1 kvm_intel

Virtualbox-Module finden:

$ sudo lsmod | grep vbox

Beispielausgabe:

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

Alle Module werden geladen.

Nach einem Blick in das Virtualbox-Forum stellte ich fest, dass dieser Fehler auftritt, wenn wir gleichzeitig mehrere Hypervisoren gleichzeitig auf demselben Host ausführen.

Wie behebt man also den Virtualbox Guru Meditation-Fehler unter Linux?

Eigentlich gibt es kein FIX. Sie müssen jeweils einen Hypervisor verwenden. Intel VT-x/AMD-V-Hardwarevirtualisierungserweiterungen können nicht von mehreren verschiedenen Hypervisoren verwendet werden, die gleichzeitig auf demselben Host ausgeführt werden. Sie sollten nur Hypervisor auf einem einzelnen Host ausführen. Wenn Sie einen anderen verwenden möchten, schließen Sie den aktuell laufenden Hypervisor und starten Sie den anderen.

Ein weiterer Grund für Virtualbox-Guru-Meditation ist VT-x könnte im BIOS deaktiviert sein . Stellen Sie sicher, dass Sie es in Ihrem Bios aktiviert haben. Schlagen Sie im Handbuch Ihres Systemherstellers nach, um VT im BIOS zu aktivieren.

Ich kann KVM und VirtualBox nicht nebeneinander verwenden

Ich habe keine Probleme mit KVM und Virtualbox auf meinem Ubuntu 20.04-System. Ich kann beides nebeneinander laufen lassen.

Einige von Ihnen könnten auf diesen Fehler stoßen, wenn Sie KVM und Virtualbox auf demselben Host ausführen:

VERR_VMX_IN_VMX_ROOT_MODE

Wenn Sie Virtualbox nicht zusammen mit KVM verwenden können, können Sie kvm-Module vorübergehend deaktivieren und dann aktivieren, wenn Sie möchten.

Entladen Sie die laufenden KVM-Module mit dem Befehl:

$ sudo rmmod kvm-intel

Wenn es sich um ein AMD-System handelt, verwenden Sie stattdessen diesen Befehl:

$ sudo rmmod kvm-amd

Alternativ können Sie die folgenden Befehle verwenden:

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

Auf AMD:

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

Versuchen Sie nun, Virtualbox-VMs zu starten. Es sollte jetzt funktionieren.

KVM-Module aktivieren

Um die KVM-Module zu aktivieren, müssen Sie sie zuerst finden, wo sie sich auf Ihrer Festplatte befinden. Führen Sie dazu Folgendes aus:

$ sudo updatedb
$ sudo locate kvm

Sie sollten eine Ausgabe wie unten sehen.

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

Suchen Sie nach "kvm-intel.ko " und "kvm.ko " Einträge. Aktivieren Sie diese beiden Module mit folgenden Befehlen:

$ 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

Ersetzen Sie auf AMD-Systemen „kvm-intel.ko " mit "kvm-amd.ko ".

Sie können jetzt KVM-Instanzen ausführen. Bitte denken Sie daran, dass Virtualbox-VMs erst gestartet werden, wenn Sie alle KVM-Instanzen deaktivieren.

Referenz:

  • Virtualbox-Forum

Verwandte Lektüre:

  • So beheben Sie den VirtualBox-Fehler „Kernel-Treiber nicht installiert (rc=-1908)“ in Ubuntu
  • Virtualbox-Fehler „Gruppen-vboxusers für Gerät /dev/vboxdrv kann nicht geändert werden“ lösen
  • CentOS 8 VM funktioniert nicht in VirtualBox 5.2 unter Ubuntu 18.04
  • Beheben Sie den VirtualBox-Fehler „Ergebniscode:NS_ERROR_FAILURE (0x80004005)“ in Arch Linux

Linux
  1. Warum Linux für Edge Computing entscheidend ist

  2. Kali Linux auf VirtualBox:Eine Schritt-für-Schritt-Installationsanleitung

  3. Installieren Sie Linux Mint 12 in VirtualBox | Installieren Sie Linux Mint in VirtualBox

  4. Installation von VirtualBox 4.2 unter Linux Mint 14

  5. Installieren Sie VirtualBox 4.3 auf Linux Mint 15 / LinuxMint 14

So migrieren Sie Virtualbox-VMs in KVM-VMs unter Linux

Virtualbox Guru Meditation Kritischer Fehler in Linux

So migrieren Sie Virtualbox-VMs in KVM-VMs unter Linux

So verwenden Sie Virtualbox-VMs auf KVM in einem Linux-System

So installieren Sie Linux Mint in VirtualBox

Installieren Sie Windows 10 unter Linux mit VirtualBox