El estado de las máquinas invitadas no coincide en virtualbox

El estado de las máquinas invitadas no coincide en virtualbox

Las máquinas invitadas en ejecución se muestran como apagadas en Virtualbox

Preguntas:

Tengo muchas máquinas virtuales en virtualbox, algunas máquinas virtuales fueron creadas por Vagrant, otras se crearon manualmente a través de GUI. Pero cada vez que inicio VM usando vboxmanage starvm, el estado de la VM se muestra como Powerd Offen GUI o vboxmanage showvminfo, incluso si la VM se está ejecutando en GUI.

El sistema operativo host es Manjaro con procesador R9-7945HX y el arranque seguro está deshabilitado.

(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

Reproducir:

p.ej. Inicie una máquina virtual llamada 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 λ 

Cuando aparece la GUI, no hay errores distintos, aunque puede ver que el estado de la máquina no coincide como se esperaba.

No tengo 10 reputación y no me deja subir imágenes. Si quieres ver la imagen que muestra el estado de la GUI de la VM, consulta el siguiente enlace.

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

Pero en la lista de procesos la VM se muestra como en ejecución.

(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

Búfer de anillo del kernel después del borrado dmesg -C(antes de que se iniciara la VM)

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

No hay errores distintos en vbox.log

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

información completa devboxmanage showvminfo Gparted

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

Cosas que probé:

  1. Eliminar la .vbox-<username>-ipcmención del directorio en el siguiente enlace

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

  2. Actualizar/degradar el kernel de virtualbox/linux no funcionó

  3. Inicie virtualbox como root y cree una máquina virtual usando el mismo ISO, luego reproduzca los pasos mencionados anteriormente. ¡¡¡El estado funcionó como se esperaba !!! (corriendo-corriendo)

    Es diferente de

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

  4. Intenté leer algún código fuente, pero no encontré la función que maneja starvmel subcomando

Se agradecería cualquier solución alternativa o sugerencia.

Respuesta1

Durante días encuentro que la causa principal es el nombre de usuario poco convencional 0x00(hexadecimal 0) que confundió el comando.

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

en el VBoxguión. Obtendrá todos los procesos raíz en lugar del 0x00nombre literal. Por lo tanto, cada vez que se crea una VM, se creará starvmun proceso.VBoxSVC

información relacionada