Detener la sincronización de tiempo/fechas entre Host y Guest en Virtual Box


Ésta es otra de esas entradas que surgieron a partir de una necesidad sencilla pero para la cual no hay mucha documentación y la que hay no es del todo clara. El problema en cuestión surge al intentar cambiar la fecha del sistema en nuestro SO huésped (virtualizado) y quedar frustrados tras varios intentos porque la fecha cambia después de unos segundos, esto se debe a que un servicio en concreto se encarga de hacerlo, éste servicio es parte de las "Guest Additions", suele ser de mucha ayuda, sin embargo en ocasiones conviene cambiar la fecha de nuestro sistema ya sea para registrar programas, alterar fechas de creación de documento, seguido de una larga lista de etcéteras.

Para el caso de los huéspedes (Guests) Windows se llama "VboxService.exe" y se encuentra ubicado en la carpeta "System32"  y para los huéspedes Linux "vboxadd-timesync" y se encuentra instalado en "/etc/init.d".

Asumiré que tienen instaladas las "Guest Aditions" en sus huéspedes y que se trata de un huésped corriendo Windows, ya que creo que es lo más común, lo primero que tendremos que hacer es detener el servicio y desregistrarlo para luego crear nuevamente nuestro servicio pasándole un parámetro concreto, para detener el servicio basta con enviar al huésped un "Ctrl + Alt + Supr" lo que se hace con la tecla "Host" que tengan configurada (por defecto es Ctrl derecho) y "Supr", una vez que aparezca el administrador de tareas de Windows, buscamos el proceso y lo terminamos:



Aceptamos la molesta advertencia de terminar un proceso en Windows y continuamos, una vez detenido, será necesario desregistrar el servicio lo cual hacemos desde una terminal MS-DOS mediante el comando "VboxService -u" con esto queda eliminado de los servicios de Windows, ahora hay que levantar nuevamente el servicio pero pasándole el parámetro "--disable-timesync" ya aprovechando nuestra terminal ejecutamos:
sc  create VirtualTimex binpath= "C:\Windows\System32\VboxService.exe --disable-timesync" type= own start= auto

Otra alternativa que se me ocurrió fue levantar el servicio como aplicación de inicio mediante "regedit" sin embargo encontré el inconveniente de que a pesar de pasarle el parámetro "-f" aparecía una molesta ventana con la información del servicio.

Me podría pasar mucho tiempo explicando el comando sc, sin embargo por ahora es lo que menos tengo, disculpen las molestias ya será para otra ocasión, lo que si les puedo decir es que puede resultar muy interesante su uso para aquellos que intenten registrar un servicio incluso de manera remota, jajajajaja muchas ideas malignas vienen a mi mente...

Si a alguien le interesa el uso de este comando la documentación esta en el sitio oficial de Mocosoft jaja.

SaluDoS!!!

Comentarios

  1. Y funciona?¿?¿ No se pierde la calidad de las caracteriticas de los Guest Additions?¿??¿

    ResponderEliminar
  2. Sí, funciona a la perfección porque yo mismo lo he usado para poder tener el control del tiempo de mis máquinas virtuales, la calidad de las Guest Addions no se ve afectada porque el único servicio que detienes es el que se encarga de mantener sincronizado el reloj del anfitrión con la máquina virtual, los demás servicios de y componentes de las Guest Addions no se ven afectados por este cambio.

    ResponderEliminar
  3. funciona sin problemas.. gracias

    ResponderEliminar
  4. muchas gracias, me paso que no podía cambiar la fecha para hacer unas pruebas, mate ese servicio y pude hacer el cambio. Gracias

    ResponderEliminar
  5. mas facil en bat

    Echo stop servicio
    VboxService -u
    Echo star servicio sin sincronizacion
    VboxService --disable-timesync
    Echo Creata servicio sin sincronizacion
    sc create VirtualTimex binpath= "C:\Windows\System32\VboxService.exe --disable-timesync" type= own start= auto
    Echo fin
    pause

    ResponderEliminar
  6. Una pregunta, alguno de ustedes intentó reiniciar el guest para comprobar que la sincronización aún siguiera detenida?

    ResponderEliminar
    Respuestas
    1. Aún reiniciando el "Guest" la sincronización prevalece el cambio si lo hiciste de manera correcta, en caso de que por alguna extraña razón no se grabará el cambio, siempre existe la forma posibilidad de volverlo a dejar como estaba mediante un bat como comentaron antes y hacer que se ejecute al inicio.
      SaluDoS!!!

      Eliminar
  7. muy interesante !!! espero que sirva a mis propósitos, gracias por la información

    ResponderEliminar
  8. Funciona, lo probe en un guest winserver12, reinicie y sigio desincronizado.........gracias

    ResponderEliminar
  9. Me ha funcionado, muchas gracias!!!

    ResponderEliminar
  10. no podia me salia ERROR 5, pero me hice el bat del comentario y lo ejecute como administrador y funciono

    ResponderEliminar
  11. muy bueno, fácil de entender muchas gracias

    ResponderEliminar
  12. No funciona cuando reinicias la maquina virtual ¿verdad?

    ResponderEliminar
    Respuestas
    1. en efecto el problema es al reiniciar el equipo, por eso lo puedes editar para que se ejecute al inicio.

      Eliminar
  13. exelente, esto me ha funcionado como esperaba

    ResponderEliminar
  14. Me funciono. Mil Gracias

    ResponderEliminar

Publicar un comentario

Tu opinión es importante compartela...

Entradas populares de este blog

Extraer datos de un archivo.mdb (Access) con python

Solución al problema con odbc pgsql (postgresql) en Windows 7 de 64 bits