Recientemente enfrenté el mismo problema y así es como lo solucioné. Debe hacer un pequeño cambio en ambos sistemas operativos.
Empecé con Linux primero. Ejecute los siguientes comandos como root.
ntpdate pool.ntp.org
Esto actualizará su tiempo si no está configurado correctamente.
Ahora configure el reloj del hardware en UTC con este comando.
hwclock --systohc --utc
Fuente
Ahora inicie Windows y agregue el siguiente registro. Simplemente cree un archivo .reg usando el código a continuación en el Bloc de notas. Guárdalo y ejecútalo.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Fuente
A partir del próximo arranque, ambos sistemas operativos le mostrarán la hora correcta.
Ninguno está mal, pero usar UTC es más correcto. El RTC no tiene una zona horaria; es sólo un reloj de pared tonto. Si su zona horaria local respeta el horario de verano (del cual hay muchos tipos y las reglas cambian arbitrariamente), entonces dos veces al año, debe ir y cambiarlo. El sistema operativo lo hará por usted, pero si el RTC es UTC, el sistema operativo hace la traducción UTC->local de todos modos, ¿por qué jugar con el reloj? Además, durante la transición de "retroceso" del horario de verano, el RTC no puede decirle qué hora es. ¿Es la 1:30 a. m. CDT o CST?
Aparentemente, Windows 8 admite UTC para RTC. Windows 7 también lo hizo, pero hubo problemas.
Había un mejor argumento en contra de esto cuando la gente configuraba los relojes de su BIOS manualmente, pero el tiempo basado en servidor es mucho más frecuente ahora.
El caso normal es que los sistemas Linux tengan el RTC (reloj en tiempo real) configurado en UTC, y la conversión a la hora local se realiza en el espacio de usuario en función de los datos de la zona horaria y el TZ
Variable ambiental. Esto es "menos malo" porque mantiene el RTC del sistema aumentando monótonamente y aplica cualquier magia de zona horaria más tarde, asegurando, por ejemplo, que ningún archivo tendrá una marca de tiempo en el futuro (lo que puede suceder fácilmente al menos una vez al año, si el RTC del sistema está ajustado a la hora local). Como señaló Ken, el RTC en sí no tiene concepto de zona horaria, solo de tiempo.
Como ha descubierto, esto causa problemas cuando se realiza un arranque dual con un sistema que normalmente no funciona de esa manera, como la familia de sistemas operativos de Microsoft, que generalmente esperan que el RTC se establezca en local. tiempo. Sí, Windows NT (creo que retrocediendo hasta NT 4, en realidad) puede trabajar con el RTC establecido en UTC, pero al menos la última vez que miré, no era realmente una configuración compatible y había una serie de advertencias.
La solución fácil en su caso es probablemente configurar el RTC a la hora local, decirle a su sistema Linux que el RTC está configurado a la hora local (la mecánica exacta para hacer esto varía según la distribución y la versión de lanzamiento, pero aparentemente en Ubuntu configura UTC=no
en /etc/default/rcS), y luego configure los sistemas operativos de modo que solo uno de ellos (preferiblemente el que más usa, ya que la hora que se muestra en todos los demás será incorrecta dos veces al año hasta que se haya iniciado y haya tenido la oportunidad de corregirlo) maneja los cambios de horario de verano. Y viva con las desventajas, que deberían ser manejables en un sistema de un solo usuario.
Tú también podrías configure el lado de Windows para usar UTC como zona horaria y desactive los cambios automáticos de horario de verano en Windows, y mantenga Linux configurado para tener el RTC en UTC y mostrar la hora convertida de acuerdo con sus prácticas. Sin embargo, esto hará que Windows muestre la fecha y la hora en UTC, lo que podría no ser lo que realmente desea. No es un gran problema para nosotros, los europeos, que estamos como máximo a tres horas de UTC, pero podría ser un problema mayor en los EE. UU. Es probable que esta sea una opción más realista si solo usa Windows ocasionalmente y su sistema operativo principal es Linux o algún otro sistema operativo compatible con RTC-UTC.