0

Running guest machines show as powered off in Virtualbox

Questions:

I have many VMs in virtualbox, some VMs were created by Vagrant, others created manually via GUI. But whenever I start VMs using vboxmanage starvm , the state of the VM shows as Powerd Off in GUI or vboxmanage showvminfo, even if the VM is running in GUI.

The host OS is Manjaro with R9-7945HX processor, and secure boot is disabled.

(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

Reproduce:

eg. start a VM called 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 λ 

When the GUI pops up there is no distinct errors , though you can see that the state of the machine is not matched as expected.

I do not have 10 reputation it won't let me upload images, if you want to see the picture that shows VM GUI state check the link below

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

But in the processes list the VM shows as running

(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 ring buffer after clear dmesg -C (before the VM started)

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

There is no distinct errors in vbox.log

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

Full information of vboxmanage showvminfo Gparted

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

Things I tried:

  1. Remove the .vbox-<username>-ipc directory mention in below link

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

  2. Upgrade/downgrade virtualbox/linux kernel didn’t work

  3. Start virtualbox as root and create a virtual machine usinig the same ISO, then to reproduce the steps mentioned above. The state mathced as expected !!! (runnging-running)

    It’s various from

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

  4. Tried to read some source code, but didn’t find the function that handle starvm subcommand

Any of workarounds or hints would be appreciated

1 Answer 1

0

For days I find the root cause is the unconventional username 0x00(hex decimal 0) which confused the command

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

in the VBox script. It will get all the root processes instead of the 0x00 literal name. Thus everytime starvm a VM, a VBoxSVC process will be created.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .