
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 Off
in 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.
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:
Entfernen Sie den
.vbox-<username>-ipc
Verzeichnishinweis im folgenden LinkUpgrade/Downgrade von Virtualbox/Linux-Kernel hat nicht funktioniert
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
Habe versucht, den Quellcode zu lesen, konnte aber die Funktion, die
starvm
den 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 VBox
Skript. Es werden alle Root-Prozesse anstelle des 0x00
wörtlichen Namens abgerufen. Somit wird jedes Mal, wenn starvm
eine VM ausgeführt wird, ein Prozess erstellt.VBoxSVC