Der Status der Gastmaschinen stimmt in Virtualbox nicht überein

Der Status der Gastmaschinen stimmt in Virtualbox nicht überein

Laufende Gastcomputer werden in Virtualbox als ausgeschaltet angezeigt

Fragen:

Ich habe viele VMs in Virtualbox, einige VMs wurden von Vagrant erstellt, andere manuell über die GUI. Aber immer wenn ich VMs mit starte vboxmanage starvm, wird der Status der VM als Powerd Offin der GUI oder angezeigt vboxmanage showvminfo, selbst wenn die VM in der GUI ausgeführt wird.

Das Host-Betriebssystem ist Manjaro mit R9-7945HX-Prozessor und der sichere Start ist deaktiviert.

(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ inxi 
CPU: 16-core AMD Ryzen 9 7945HX with Radeon Graphics (-MT MCP-)
speed/min/max: 1055/400/5461 MHz Kernel: 6.7.0-0-MANJARO x86_64 Up: 4h 8m
Mem: 8.47/30.53 GiB (27.8%) Storage: 2.75 TiB (22.9% used) Procs: 544
Shell: Zsh inxi: 3.3.33

Reproduzieren:

Starten Sie beispielsweise eine VM namens Gparted.

(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ vboxmanage startvm Gparted                       
Waiting for VM "Gparted" to power on...
VM "Gparted" has been successfully started.

(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ vboxmanage showvminfo Gparted | grep State
State:                       powered off (since 2024-02-22T08:25:59.000000000)
                                                                                                                                                                                      
(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ vboxmanage list runningvms                
                                                                                                                                                                                      
(base) 0x00 in ~/Hypervisor/virtual-machines/Tools/Gparted/Logs λ 

Beim Erscheinen der GUI werden keine eindeutigen Fehler angezeigt. Allerdings können Sie erkennen, dass der Zustand der Maschine nicht den Erwartungen entspricht.

Ich habe keine 10 Reputation, deshalb kann ich keine Bilder hochladen. Wenn Sie das Bild sehen möchten, das den VM-GUI-Status zeigt, klicken Sie auf den Link unten.

https://raw.githubusercontent.com/dhay3/image-repo/master/20240222/image-20240222164536709.2urzybsbf0ao.webp

Aber in der Prozessliste wird die VM als ausgeführt angezeigt

(base) 0x00 in /var/log λ ps -ef | grep -iE 'vbox|virtual|slot'  | grep -v grep
root         467       2  0 12:39 ?        00:00:00 [iprt-VBoxTscThread]
0x00       53520    1638  0 15:51 ?        00:00:11 /usr/lib/virtualbox/VirtualBox
0x00       53539    1096  0 15:51 ?        00:00:02 /usr/lib/virtualbox/VBoxXPCOMIPCD
0x00       53545    1096  0 15:51 ?        00:00:06 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
0x00       72847    1096  0 16:51 ?        00:00:01 /usr/lib/virtualbox/VBoxXPCOMIPCD
0x00       72853    1096  0 16:51 ?        00:00:05 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
0x00       72881   72853  0 16:51 ?        00:01:09 /usr/lib/virtualbox/VirtualBoxVM --comment Gparted --startvm 4c830005-8675-45da-bc9f-a11964d3f610 --no-startvm-errormsgbox

Kernel-Ringpuffer nach dem Löschen dmesg -C(vor dem Start der VM)

(base) 0x00 in /var/log λ sudo dmesg            
[15066.546635] vboxdrv: 0000000037a5da6e VMMR0.r0
[15066.652917] vboxdrv: 00000000a81b79f7 VBoxDDR0.r0

Es gibt keine eindeutigen Fehler in vbox.log

https://gist.github.com/dhay3/a19d46e3231790b9f926d6610f70888c

Vollständige Informationen übervboxmanage showvminfo Gparted

https://gist.github.com/dhay3/6013ae1e704a26cac0c7e6337410e868

Dinge, die ich versucht habe:

  1. Entfernen Sie den .vbox-<username>-ipcVerzeichnishinweis im folgenden Link

    https://www.virtualbox.org/manual/ch02.html#2.3.5.%20Starting%20Oracle%20VM%20VirtualBox%20on%20Linux

  2. Upgrade/Downgrade von Virtualbox/Linux-Kernel hat nicht funktioniert

  3. Starten Sie Virtualbox als Root und erstellen Sie eine virtuelle Maschine mit demselben ISO. Führen Sie dann die oben beschriebenen Schritte aus. Der Status stimmte wie erwartet überein !!! (läuft-läuft)

    Es ist anders als

    https://forums.virtualbox.org/viewtopic.php?p=426082

  4. Habe versucht, den Quellcode zu lesen, konnte aber die Funktion, die starvmden Unterbefehl verarbeitet, nicht finden

Für Workarounds und Hinweise bin ich dankbar

Antwort1

Seit Tagen finde ich die Ursache ist der unkonventionelle Benutzername 0x00(Hex Dezimal 0), der den Befehl verwirrt

SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'` 

im VBoxSkript. Es werden alle Root-Prozesse anstelle des 0x00wörtlichen Namens abgerufen. Somit wird jedes Mal, wenn starvmeine VM ausgeführt wird, ein Prozess erstellt.VBoxSVC

verwandte Informationen