Objetivo
Quiero ejecutar este comando VBoxManage startvm MyVM --type headless
en el sistema de arranque tal como lo hace un servicio (postgres, apache).
lo que he probado
1. He intentado crear unserviciousandoCarolina del Surdominio
Descubrí en Internet que podría ser la solución, así que probé todas estas versiones:
sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless"
sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"
No tuve éxito, así que intenté suprimir la salida detallada del comando.
sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage.exe startvm MyVM --type headless > NUL"
sc create "vboxMyVMService" binPath= "C:\Progman Files\Oracle\VirtualBox\VBoxManage startvm MyVM --type headless"
Aún no hay resultados. Toda esta versión me devolvió un1053error. Entonces la última llamada fue agregar el comando Virtualbox a la Ruta
sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless"
sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless"
suprimiendo la salida
sc create "vboxMyVMService" binPath= "VBoxManage.exe startvm MyVM --type headless > NUL"
sc create "vboxMyVMService" binPath= "VBoxManage startvm MyVM --type headless > NUL"
No siempre hay resultados positivos1053error.
2. Asignar scripts de inicio de computadora
Seguí estotutorialcon mi última esperanza, pero sin éxito.
lo que queda
Estoy pensando en descargar Visual Studio y probar algo relacionado concrear un proyecto de servicio.
Entonces chicos, ¿dónde está mi error? ¿Hay esperanza para mí?
Preguntas frecuentes
¿Puedes cambiar tu sistema operativo a Linux?
- No. Está fuera de discusión.
¿Por qué necesita esta máquina virtual para iniciar el sistema?
- Desafortunadamente, este host de Windows 7 es un servidor pequeño para la aplicación que se ejecuta en la VM. La máquina no es mía y es la única opción que me dieron para realizar el despliegue.
¿Por qué no realiza la implementación de la aplicación dentro del host de Windows?
- No estoy ejecutando PHP ni ningún elemento .NET, así que no.
Respuesta1
corro conNSSM.
Cree un servicio NSSM en un mensaje como:
nssm/win64/nssm.exe install vbox
Seleccione el ejecutivo VBoxHeadless.exe como imagen:
Utilice su cuenta de Windows al iniciar sesión (esto es muy importante)
instalar servicio
Funciona para mi.
Respuesta2
No pude encontrar un mecanismo para iniciar una VM como servicio con el comando VBoxManager sin que nadie tuviera que iniciar sesión primero.
Habilité mi VM de servidor Ubuntu para que se ejecutara como servicio usando la VBoxVmService
herramienta:
https://github.com/onlyfang/VBoxVmService
Breve descripción: VBoxVmService es una aplicación de Windows que le permite ejecutar máquinas virtuales VirtualBox de Oracle desde una entidad de servicio nativa de Windows.
La razón principal por la que necesitaba esto es para iniciar la máquina virtual sin que nadie tenga que iniciar sesión. La mía es una estación de trabajo de desarrollador, se reinicia para recibir actualizaciones y, a veces, me olvido de iniciar la máquina virtual hasta que alguien me presiona.
Así es como funciona:
Primero, asegúrese manualmente de que la máquina virtual requerida se inicie y funcione bien sin errores. De lo contrario, será difícil depurar la búsqueda en los registros.
Una vez instalado,
VMBoxService
es ejecutable como un servicio de Windows.Edite su archivo INI de configuración (consulteaquípara una muestra completamente documentada)
Reinicie la máquina o simplemente inicie el
VMBoxService's
servicio de Windows instaladoA continuación se muestra un ejemplo de INI.
[Settings] VBOX_USER_HOME=C:\Users\YOUR_NAME_HERE\.VirtualBox PauseShutdown=8000 [Vm0] VmName=ubuntu-server ShutdownMethod=savestate AutoStart=yes
ACTUALIZACIÓN: solo admite Win 10+