Cómo corregir el fallo de la hora al usar Windows y Linux en dualboot, la manera más correcta

septiembre 06, 2024 0 Comments

Hora rota entre Linux y Windows

Si usáis Linux y Windows en el mismo equipo, aunque la instalación de Windows esté en una unidad To Go, probablemente estéis sufriendo el problema de la hora. ¿A qué problema me refiero? Al que hace que al entrar en Windows después de usar Linux veamos que la hora no es la misma. Por lo menos en mi caso se retrasa dos horas. ¿Qué es lo que está pasando? ¿Cómo lo soluciono?

Hay varias maneras de hacerlo, pero sólo una explicación. Hace un tiempo publicamos cómo arreglarlo desde Linux, pero después de pensarlo creo que no es la mejor manera y aquí voy a explicar por qué. Para entenderlo hay que conocer qué son UTC y RTC, dos bases para conocer la hora diferentes, una usada por Linux y la otra por Windows. Y ese es el problema, que cada uno cree que debe poner la hora mirando en una dirección.

UTC y RTC

En el artículo enlazado explicamos cómo cambiar la hora de Linux para corregir el problema de la hora. En él, lo que se hace es decirle al equipo que mire el reloj real, y eso es lo que significa RTC (Real Time Clock). Todos los equipos informáticos tienen un reloj interno, y Windows se fija en él para poner la hora. El problema es que esto se configura desde la BIOS, y Windows suele liarse si la hora no es la correcta, la de nuestra zona horaria.

Por otra parte, Linux se fija en el UTC, que son las siglas de Tiempo Universal Coordinado. Lo que hace Linux es mirar el reloj interno, tomarlo como la hora universal, mira la zona horaria que tenemos configurada en nuestro equipo y poner la hora correcta. Sin duda, o no las tengo ahora, esto es lo mejor. Podemos ir a otro país, cambiar la zona horaria y, como el reloj de nuestro equipo usa el UTC, la hora estará bien.

Por lo tanto, lo que vamos a explicar aquí es cómo hacer que Windows use también el UTC para solucionar el problema de la hora. Si lo que se busca es hacer que Linux use RTC, eso está explicado en el artículo relacionado.

Hacer que Windows use UTC para arreglar la hora

Los pasos a seguir serían estos:

  1. Antes que nada, hay que ir a la BIOS del equipo y configurar la hora para que coincida con UTC. El Tiempo Universal Coordinado está en este enlace. Cómo entrar a la BIOS, acceder al apartado de la hora y modificarla depende de cada equipo. Entrar a la BIOS suele ser presionando F2, Supr o alguna tecla similar al iniciar el sistema operativo.
  2. Con la hora correcta, iniciamos Windows.
  3. Abrimos el terminal o símbolo del sistema como administrador, para lo que basta con buscar la aplicación en el menú de inicio, hacer clic derecho y elegir esa opción.
  4. Cuando se abra, copiamos y pegamos lo siguiente:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
  1. Veremos un mensaje informando de que la operación se ha completado con éxito. Ahora sólo quedaría ir a Configuración, al apartado de fecha y hora, desactivar que ponga la hora automáticamente y volver a activarlo para restablecer la sincronización.

Hay una manera manual de hacer lo anterior, para lo que hay que abrir el editor del registro con META + R, escribir regedit y desplazarse a la ruta que hay entre comillas en el comando anterior. Dentro se hace clic derecho, crear un nuevo valor DWORD (32bits), ponerle el nombre de RealTimeIsUniversal, hacerle doble clic y poner el valor 1. Los dos métodos hacen lo mismo, pero este último es mejor si queremos ver qué estamos haciendo.

Adiós a tus problemas horarios

La prueba de fuego viene al reiniciar el sistema operativo. Mejor dicho, al ir a Linux y ver que está bien y luego entrar en Windows y ver que también lo está. Pensándolo bien, Linux lo hace mejor, y no estaría mal que Microsoft diera su brazo a torcer con esto. En cualquier caso, con lo explicado aquí ya está todo arreglado.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.