¿Cómo se configura Virtualbox VM para que se inicie automáticamente después de reiniciar Windows-10?

37

En 2013 rastreé cómo iniciar / apagar automáticamente una máquina virtual Virtualbox cuando el host es Linux. El proceso fue oficialmente documentado y requirió algunos pasos.

En este momento estoy interesado, ¿cómo configura Virtualbox VM para que se inicie automáticamente después de reiniciar Windows-10?

¿Existe un proceso oficialmente documentado? Si no, ¿cuáles son las soluciones probadas de alguna persona?

Mi ingenuo intento iba a ser algo como:

  • hecho: configurar ventanas para iniciar sesión automáticamente al reiniciar

  • TODO: Crear script por lotes con: sleep 120 && vboxmanage startvm my_vm_name

  • TODO: poner el script por lotes en el directorio de inicio de mi usuario. (Sin embargo, no vi ningún directorio de "inicio" en Windows 10 ...)

Trevor Boyd Smith
fuente
no estaba seguro de usar el menú de inicio ... porque es muy windows-9x-ish (tal vez sea más antiguo). En Linux usé sysvinit / systemd pero simplemente no estoy familiarizado con Windows (tal vez el programador de tareas o algo así).
Trevor Boyd Smith
Podría ser útil si agrega un enlace a The process was officially documentedLinux ;-)
Philippe Gachoud
@PhilippeGachoud según su solicitud, edité la pregunta y agregué un enlace a la documentación
Trevor Boyd Smith
¡Gracias! Esto me pareció más adecuado porque parece menos sensible a los cambios en la configuración de administración de paquetes, como parece ser el caso, ¿cuál es su experiencia con eso? medium.com/@bharatman/…
Philippe Gachoud

Respuestas:

35

El directorio de inicio todavía existe, aunque en un lugar bien escondido ...

Acceda abriendo el cuadro "Ejecutar" (Win + R) e ingresando

shell:startup

Minimiza esto por ahora.

Abra VirtualBox y haga clic derecho en la máquina virtual que desea iniciar automáticamente, haga clic en la opción para crear un acceso directo en el escritorio y cierre VirtualBox.

Simplemente corte el acceso directo del escritorio y péguelo en la carpeta abierta anteriormente y debería estar perfectamente bien.

Sam3000
fuente
44
shell: el inicio es al iniciar sesión, no al iniciar el sistema, ¿correcto? ¿Cómo hacer esto en el arranque del sistema?
alexei
1
Necesitas ejecutarlo como un servicio
AKi
1
No necesariamente. Siempre puede configurar el inicio de sesión automático, abrir un cmd y escribir las contraseñas de usuario de control2. Encontrarás tu camino a través del resto.
Eduardo
13

En realidad, puede iniciar una máquina virtual sin cabeza sin recurrir a un VBoxVmService de terceros ahora. Simplemente cree un acceso directo <VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headlessy colóquelo en su carpeta de inicio.

Del manual de VirtualBox .

Chad
fuente
55
¿Esto todavía no tiene la desventaja de requerir inicio de sesión en lugar de simplemente ejecutarse en el arranque?
HorusKol
Por supuesto. Un servicio es una necesidad si se quiere ejecutar cualquier cosa sin tener que entrar.
rustyx
2
Use una tarea programada para eso en lugar de un acceso directo en la carpeta de inicio.
Bruno Finger
11

Prueba VBoxVmService

Asegúrese de leer el Howto.txt y editar VBoxVmService.ini

AKi
fuente
1
Muchas gracias! Esto parece muy prometedor. En Windows, la falta de integración de Virtualbox con el inicio / apagado del sistema siempre fue una gran negativa cuando deseaba comparar windows-virtualbox frente a linux-virtualbox (aunque la integración de linux virtualbox es solo sysvinit ... y la OMI no es muy robusta ( el apagado de las máquinas virtuales no espera a que la máquina virtual se apague antes de que el sistema emita SIGKILL y luego apaga el sistema)).
Trevor Boyd Smith
1
Probé esto hace aproximadamente un año. Esta solución requiere que actualice virtualbox en bloque con el código contenedor que hace el servicio de Windows. Y entonces tienes que tener cuidado. También una actualización de Windows creo que rompió esta funcionalidad para mí. Y así terminé desinstalando este código de servicio vbox.
Trevor Boyd Smith
Miré este proyecto. El gran volumen de errores ortográficos me hace preocuparme por problemas similares en el código. Mineshaft + canary.
user2066657
@ user2066657 bueno, puedes leer mis comentarios y ver que lo probé y funcionó un poco y luego se rompió. Sus inquietudes sobre los errores ortográficos que indican la calidad del código probablemente estén bien fundamentadas. Todavía no volvería a eso hoy.
Trevor Boyd Smith
7

Si bien tener un Servicio es bueno, puede hacerlo con una tarea programada. Tome el inicio del sistema como desencadenante, marque la opción para ejecutar la tarea sin un usuario conectado y configure la acción en <VirtualBoxDirectory\VBoxManage.exe> startvm "vmname" --type headless. Asegúrese de eliminar la marca de verificación de la opción incomprensiblemente predeterminada "matar la tarea si se ejecuta durante más de 3 días". Srsly, MS, ¿en qué estabas pensando que ninguna computadora con Windows duraría tanto tiempo sin reiniciar?

Hay una advertencia: si una VM se inicia en el arranque de esa manera, la verá en VirtualBox Manager como "apagada", por lo que no hay ningún botón para mostrar la pantalla de la VM. Solo está el botón de "inicio" y probablemente arruinarás las cosas cuando trates de iniciarlo dos veces.

Puede definir un puerto de pantalla remoto para poder acceder a la consola de la VM a través de RDC (mstsc.exe), sin VirtualBox Manager, pero aún debe recordar no creer la información "apagada". No sé si eso funciona mejor con un servicio real.

gonesoft
fuente
1
re "tener un servicio es bueno". desafortunadamente, el servicio VirtualBox se rompe cada vez que hay una actualización menor de virtualbox. así que terminé desinstalando el servicio y ahora mi VM ya no se inicia en el arranque.
Trevor Boyd Smith
re "[la VM aparece como] apagada [en VirtualBox Manager]" creo que esto es causado por la forma en que está iniciando la VM. Sospecho que está iniciando la máquina virtual como usuario root. si intentara iniciar la VM con un "runas" su usuario ... su administrador de VirtualBox podría funcionar.
Trevor Boyd Smith
1
ahora que lo pienso ... el servicio VirtualBox ... TAMBIÉN aparece como "apagado" cuando lo inicia a través del servicio.
Trevor Boyd Smith
1
Esto parece muy prometedor, pero no puedo hacer que funcione ... Creé el trabajo, con dos comandos, para iniciar mis máquinas virtuales también "principales". Lo veo en el planificador. Puedo hacer clic en él y seleccionar "Ejecutar": el estado cambia de "Listo" a "En ejecución", pero las máquinas virtuales no se inician. Tampoco comienzan al arrancar ... Debe haber algo más ...
Mikhail T.
FUNCIONA , probado en Windows 10 + Virtualbox 6.0.2. Receta: tecla de Windows, escriba SCHED y ejecute el programador de tareas, Crear tarea básica, Activador: cuando se inicia la computadora, Acción: Iniciar un programa, Programa (busque VBoxManage.exe), argumentos: startvm "vmname" --tipo sin cabeza, marque "Abrir el cuadro de diálogo de propiedades para esta tarea ... y termine, marque Ejecutar si el usuario ha iniciado sesión o no , tal vez elimine Condiciones / Iniciar solo si la computadora está con alimentación de CA y Configuración / Detenga la tarea si dura más de. . (aunque realmente eso no importa aquí ya que el lanzamiento es rápido).
fgrieu
2

Como se indicó anteriormente por chad y gonesoft, puede usar VboxManage.exe para iniciar la VM en el lanzamiento, sin embargo, si no especifica "--type headless", en realidad se mostrará en el VirtualBox Manager como ejecutando, etc. si lo hubiera comenzado normalmente, sin cabeza es lo que lo oculta, no es algo que probablemente quiera hacer en todos los casos ...

Publicar como respuesta ya que no tengo suficiente reputación para escribir un comentario a las respuestas anteriores

Swizzy
fuente
2

Prueba VBoxHeadlessTray .
Es realmente fácil de usar, lo que restaura automáticamente el estado de la VM cuando Windows arranca y guarda el estado cuando Windows se apaga o reinicia. Lo más sorprendente es que puede usar VBoxHeadlessTray para configurar cada una de sus máquinas virtuales.

chengxuncc
fuente
Eso se ve increíble. Tendré que probarlo cuando tenga tiempo. Gracias.
Trevor Boyd Smith