46 Votos

VirtualBox: Cambiar la Fecha y la Hora

Tutorial de Stefan Trost | Última actualización el 17/04/2024 | Creado el 11/05/2021

Si desea cambiar el tiempo en un sistema invitado en VirtualBox, de forma predeterminada, puede experimentar el siguiente comportamiento: Después de cambiar el reloj de un sistema operativo que se inició desde VirtualBox, no pasa mucho tiempo antes de que el tiempo vuelva a su estado original. Parece que no hay posibilidad de cambiar la fecha y la hora.

Esto se debe a la sincronización automática de la hora con el sistema host. Esto significa que, por defecto, la hora del ordenador host siempre se adopta automáticamente para la máquina virtual. Pero, ¿qué puede hacer si desea ejecutar la máquina virtual con una fecha u hora diferente a la del sistema host?

Tenemos dos opciones para esto y también debemos prestar atención a los puntos enumerados en "Requisitos importantes":

Cambiar los Adjustes a través del Archivo de Configuración

Cada máquina virtual tiene dos archivos de configuración en los que se especifica la configuración de esta máquina. Puede encontrar los archivos en la carpeta en la que tiene almacenada la máquina virtual y la imagen del disco duro de la máquina virtual.

La forma más fácil de encontrar la carpeta es hacer clic derecho en la máquina virtual en cuestión en VirtualBox en la lista en el lado izquierdo de la ventana principal y luego seleccionar "Mostrar en Explorador" en el menú contextual (también puede usar el menú "Máquina" > "Mostrar en Explorador" cuando se selecciona una máquina virtual).

  • Por ejemplo, la ruta a la carpeta puede ser "C:\Users\<Nombre de usuario>\VirtualBox VMs\<Nombre de la máquina virtual>", "C:\Documents and Settings\<Nombre de usuario>\.VirtualBox\Machines\", "C:\Users\<Nombre de usuario>\.VirtualBox\Machines\<Nombre de la máquina virtual>" o, por supuesto, cada carpeta definida por el usuario.

Los archivos están estructurados en formato XML y tienen la extensión .vbox y .vbox-prev. El nombre antes de la extensión es igual al nombre de la máquina virtual. Por ejemplo, "<nombre de la máquina virtual>.vbox" y "<nombre de la máquina virtual>.vbox-prev".

Después de abrir los archivos en un editor de texto, puede agregar (o cambiar) la siguiente línea en la sección "<ExtraData>". Esta línea configura si el tiempo debe tomarse del sistema host:

<ExtraDataItem name="VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" value="1"/>

Al establecer "value" en "0", la hora se sincroniza, si "value" se establece en "1", no hay sincronización con el sistema host.

Para evitar la sincronización automática de la hora en el futuro, debemos establecer este valor en 0 en ambos archivos y luego de eso, debemos guardar los archivos.

Cambiar la Configuración a través de la Línea de Comandos

En lugar de cambiar los archivos de configuración XML manualmente con un editor de texto, también puede realizar los cambios necesarios desde la línea de comandos. Para ello, puede ingresar el siguiente comando desde la Terminal:

VBoxManage setextradata "<NombreMV>" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"

Por supuesto, debe insertar el nombre de la máquina virtual que desea cambiar en el comando en lugar de "<NombreMV>".

La herramienta VBoxManage se encuentra en la carpeta de instalación de VirtualBox. Por lo tanto, debe ejecutar el comando directamente desde la carpeta de instalación o debe especificar la ruta completa a VBoxManage para que funcione y el programa se encuentre y se pueda llamar.

De forma predeterminada, VirtualBox se instala en la carpeta "C:\Program Files\Oracle\VirtualBox" en Windows. Por lo tanto, una llamada a la ruta completa utilizando esta ruta de instalación predeterminada podría verse así:

"C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" setextradata "Mi Máquina Virtual" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"

Si el nombre de su máquina virtual contiene espacios, es importante recordar no olvidar poner el nombre de la VM entre comillas. Lo mismo se aplica a la ruta de VBoxManage.exe, ya que la carpeta "Program Files" contiene un espacio en su nombre.

Requisitos importantes

Sin duda, el requisito previo más importante para realizar correctamente el cambio de la fecha y la hora es cambiar los archivos de configuración como se describe en las últimas secciones. Sin embargo, para que funcione de forma permanente y se mantenga el tiempo establecido, debemos tener en cuenta dos cosas importantes (independientemente de nuestro método elegido de cambio de configuración):

  • Por un lado, tenemos que salir de VirtualBox antes de realizar cambios en los archivos de configuración (no solo la máquina virtual que queremos cambiar, sino todo el programa),
  • por otro lado, tenemos que asegurarnos de que una posible sincronización horaria automática no esté activa en el sistema invitada.

Examinaremos estos dos puntos con más detalle en las dos secciones siguientes.

Importante: Cierre VirtualBox antes

VirtualBox lee la configuración de las máquinas virtuales al inicio y almacena la configuración cuando la cierra. Por lo tanto, al aplicar cambios a la configuración, debe cerrar todas las máquinas virtuales en ejecución, así como VirtualBox.

De lo contrario, los cambios no se activarán o incluso se sobrescribirán con el siguiente cierre del programa.

Importante: Desactivar la Sincronización Horaria Automática

Muchos sistemas operativos tienen una función incorporada que sincroniza automáticamente la fecha y la hora del sistema con Internet. Si esta opción está activa, esto puede provocar que nuestro sistema invitado comience con nuestra hora deseada que difiere de la hora estándar, pero de repente e inesperadamente cambia a la hora correcta.

Lo pérfido de esto es que algunas de estas funciones de sincronización no comprueban la hora periódicamente (por ejemplo, siempre al iniciar el sistema), sino sólo de vez en cuando. Por lo tanto, dicha verificación de tiempo puede ocurrir, por ejemplo, solo después del segundo o tercer inicio de la máquina virtual (especialmente si las máquinas virtuales no se utilizan durante largos períodos de tiempo). Esto puede significar que esta "corrección" no se note inmediatamente y, por lo tanto, nos lleve a dificultades inesperadas. En otras palabras, no sólo existe el riesgo de una sincronización con el sistema anfitrión, sino también el riesgo de una sincronización con Internet. Por eso siempre debemos tener ambos en nuestro radar.

Por este motivo - en caso de que su máquina virtual tenga permiso para acceder a Internet y desee utilizar una hora personalizada - siempre debe desactivar la sincronización automática de la hora o comprobar si está activa.

El lugar donde se puede configurar la sincronización automática de la hora depende, por supuesto, tanto del sistema operativo utilizado como de la versión del sistema. A continuación nos gustaría echar un vistazo al procedimiento para Windows, Linux y Mac:

  • En la mayoría de los sistemas Windows, simplemente puede hacer clic en el reloj que se encuentra en la barra de tareas. Si realiza este clic con el botón derecho del ratón, podrá hacer clic en "Ajustar fecha/hora", mientras que si hace clic con el botón izquierdo del ratón la configuración se llama "Cambiar configuración de fecha y hora" (la segunda variante no está disponible en todas las versiones de Windows). Alternativamente, también puede abrir el Panel de Control, luego seleccionar "Reloj y región" o "Hora, idioma y región" y luego "Establecer la hora y la fecha". En el cuadro de diálogo que se abre, vaya a la pestaña "Hora de Internet". Si la opción está activa, aquí dirá "Este equipo está configurada para sincronizarse automáticamente con time.windows.com", por ejemplo. Para desactivar la sincronización podemos pulsar en el botón "Cambiar la configuración" para desactivar la opción "Sincronizar con un servidor horario de Internet". En este punto también puede seleccionar el servidor y actualizar la hora usando el botón "Actualizar ahora".
  • En Mac con uno de los sistemas operativos macOS o Mac OS, se comienza, como suele ocurrir, a través del menú con el símbolo de la manzana en el izquierdo de la barra de funciones en el borde superior de la pantalla. En este menú, seleccione la entrada "Preferencias del Sistema". Se abre una ventana con todas las categorías de configuración disponibles, desde la cual selecciona la entrada "Fecha y hora". Luego se abre la configuración de hora con las tres pestañas "Fecha y hora", "Zona horaria" y "Reloj". Nos interesa sólo la pestaña "Fecha y Hora", donde podemos encontrar justo en la parte superior de la pestaña la opción "Establecer fecha y hora automáticamente" así como la posibilidad de configurar un servidor como time.apple.com, time.euro.apple.com o time.asia.apple.com para sincronización (como en Windows). Para desactivar esta sincronización simplemente tenemos que desmarcar "Establecer fecha y hora automáticamente". La casilla de verificación para esta opción puede estar atenuada. Esto se controla mediante el pequeño candado en la parte inferior de la ventana, titulado "Haz clic en el candado para realizar cambios". Si hacemos esto, primero debemos introducir nuestra contraseña. Luego se abre el candado y con él la opción de cambiar la opción para activar o desactivar la sincronización (la casilla de verificación recupera su color y, por lo tanto, se puede operar de la misma manera que el cuadro desplegable al lado). Además, el candado cambia de título a "Haz clic en el candado para impedir que se realicen cambios". Si hacemos esto una vez más, podremos proteger nuestra configuración de cambios no deseados realizados por otros usuarios.
  • Si su sistema invitado es un sistema Linux, debido a la variedad de diferentes distribuciones de Linux y las diferentes interfaces de usuario, puede haber varios lugares donde las configuraciones de sincronización de hora podrían ocultarse - en caso de que se puedan configurar. En Ubuntu, la distribución de Linux más popular y más utilizada actualmente, podemos proceder de la siguiente manera: Primero, hacemos clic en el símbolo del engranaje en el lado derecho del borde superior de la pantalla. Se abre un menú en el que pulsamos en la entrada "Configuración del Sistema". En la ventana que se abre hacemos clic en "Hora y Fecha". Después de eso, debajo del mapa mundial, veremos la opción "Configurar la hora" con las dos opciones "Manualmente" o "Automáticamente desde Internet". La opción "Manual" es la configuración de nuestra elección para desactivar la sincronización automática de la hora. Por supuesto, las opciones pueden tener un nombre diferente en otras distribuciones o incluso versiones de Ubuntu, pero el procedimiento debería ser similar.

Si no permitimos que nuestra máquina virtual acceda a Internet en absoluto, por supuesto, podemos omitir este paso, ya que en este caso VirtualBox se asegurará de que el sistema invitado no pueda llegar al servidor de sincronización horaria de todos modos.

ResponderPositivoNegativoFechaVotos
00 Votos

Le agradezco estas instrucciones, que son comprensibles incluso para mí, pero no resuelven mi problema con la actualización de la hora.

¿Se debe a Linux (Ubuntu, más precisamente Mint 17.1) o a Oracle Vbox 4.3.18_Ubuntu r956516 que el archivo vbox se libera constantemente de la línea que ingresé o se restablecen los derechos del mismo, por lo que no puedo? ¿Vbox impide volver a cambiar este archivo?
06/01/2022 a las 19:28

ResponderPositivo Negativo
11 Voto

¿Ha cerrado todo el programa VirtualBox y no solo las máquinas virtuales que se están ejecutando actualmente?

Si realiza cambios en el archivo mientras VirtualBox aún se está ejecutando, se produce exactamente esta sobrescritura.

Entonces, primero asegúrese de que todo el programa esté cerrado, luego realice los cambios en los archivos y luego reinicie VirtualBox nuevamente.
06/01/2022 a las 22:42

Positivo Negativo
00 Votos

Gracias y sí, eso es lo que pensé (al menos hasta ahora), porque simplemente funcionó como lo describiste.

Nombré mi versión de vbox, mi sistema operativo es Linux 3.13.0-37 Ubuntu SMP x86_64. No funcionó varias veces ese día, pero no intenté reiniciar porque no era apropiado en ese momento.

Por lo tanto, sospecho que, al igual que el demonio MySQL, que ya no se pudo eliminar esa misma noche, se produjo una terminación incompleta. Nunca tuve ningún problema con vbox, por lo que no verifiqué que todos los procesos hubieran finalizado correctamente, simplemente finalicé los programas.
07/01/2022 a las 14:00

Positivo Negativo
Responder
00 Votos

Muchas gracias por esta útil guía.

Decidí editar los archivos de configuración manualmente. Funcionó :)
01/08/2022 a las 22:33

ResponderPositivo Negativo
00 Votos

La ruta al archivo XML ha cambiado (creo), ahora es:

C:/Users/<nombre de usuario>/VirtualBox VMs/<nombredevm>
10/01/2023 a las 08:00

ResponderPositivo Negativo
22 Votos

Como dije, el directorio se puede elegir libremente. Mis máquinas virtuales ni siquiera están en la unidad C: como ejemplo, otras ni siquiera usan Windows.

Por lo tanto, debe hacer clic derecho en la VM y seleccionar "Mostrar en el Explorador". Sin embargo, he enumerado algunas rutas típicas en el tutorial.
10/01/2023 a las 20:01

Positivo Negativo
Responder
00 Votos

Funciona de maravilla y además está muy bien explicado y descrito.

Gracias por este muy buen tutorial!!! :)
11/11/2023 a las 10:07

ResponderPositivo Negativo
00 Votos

Esto funciona a veces.

Creo que debe haber un bug.

A veces mi máquina virtual mantiene su propia fecha y hora, a veces vuelve a la fecha y hora del sistema. He verificado dos veces las configuraciones y son correctas. Utilicé el comando y luego revisé los archivos de configuración para ver si la configuración estaba bien.
09/12/2023 a las 20:11

ResponderPositivo Negativo
22 Votos

Algunos sistemas operativos comprueban y actualizan su hora desde Internet de forma predeterminada. Cuando deja que el sistema se inicie con una hora individual, es posible que esa hora se sobrescriba con la hora actual al iniciar la máquina virtual nuevamente después de la sincronización de la hora. Quizás esta sea la razón de ese comportamiento.

Por lo general, los sistemas operativos ofrecen una opción que se puede desactivar para evitar esa sincronización automática de la hora.

Agregué una sección al tutorial que describe este problema y explica cómo desactivar esta sincronización.
09/12/2023 a las 22:43

Positivo Negativo
Responder
00 Votos

¡Funciona perfecto! ¡Gracias!

Lo cambié a través de VBoxManage.
04/04/2024 a las 21:26

ResponderPositivo Negativo
Responder

Sobre el Autor

AvatarPuede encontrar software de Stefan Trost en la pagina es.sttmedia.com. ¿Necesita un software individual según sus propios requisitos? Escribenos: es.sttmedia.com/contacto
Ver Perfil

 

Temas Relacionados

Cambiar la Fecha de Archivo

Tutorial | 0 Comentarios

PHP: Determinar el Número de Semana

Tutorial | 0 Comentarios

PHP: Fecha antes de X días

Pregunta | 1 Respuesta

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.