Si realiza un arranque dual de Windows y Ubuntu o cualquier otra distribución de Linux, es posible que haya notado una diferencia de tiempo entre los dos sistemas operativos.
Cuando usa Linux, muestra la hora correcta. Pero cuando arrancas en Windows, muestra la hora equivocada. A veces, es lo contrario y Linux muestra la hora incorrecta y Windows tiene la hora correcta.
Eso es extraño, especialmente porque estás conectado a Internet y tu fecha y hora están configuradas para usarse automáticamente.
¡No te preocupes! No eres el único que se enfrenta a este problema. Puede solucionarlo usando el siguiente comando en la terminal de Linux:
timedatectl set-local-rtc 1
De nuevo, no te preocupes. Explicaré en detalle cómo el comando anterior soluciona el problema de la hora incorrecta en Windows después del arranque dual. Pero antes de eso, déjame decirte por qué encuentras una diferencia horaria en una configuración de arranque dual.
¿Por qué Windows y Linux muestran una hora diferente en el arranque dual?
Una computadora tiene dos relojes principales:un reloj del sistema y un reloj de hardware.
Un reloj de hardware que también se denomina RTC (reloj en tiempo real) o reloj CMOS/BIOS. Este reloj está fuera del sistema operativo, en la placa base de su computadora. Sigue funcionando incluso después de apagar el sistema.
El reloj del sistema es lo que ves dentro de tu sistema operativo.
Cuando su computadora está encendida, el reloj del hardware se lee y se usa para configurar el reloj del sistema. Posteriormente, el reloj del sistema se utiliza para el seguimiento del tiempo. Si su sistema operativo realiza algún cambio en el reloj del sistema, como cambiar la zona horaria, etc., intenta sincronizar esta información con el reloj del hardware.
De manera predeterminada, Linux asume que la hora almacenada en el reloj del hardware está en UTC, no en la hora local. Por otro lado, Windows piensa que la hora almacenada en el reloj del hardware es la hora local. Ahí es donde comienza el problema.
Déjame explicarte con ejemplos.
Verá que estoy en la zona horaria de Calcuta, que es UTC+5:30. Después de la instalación, cuando configuro la zona horaria en Ubuntu en la zona horaria de Calcuta, Ubuntu sincroniza esta información horaria con el reloj del hardware, pero con una diferencia de 5:30 porque el reloj del hardware (RTC) tiene que estar en UTC para Linux.
Digamos que la hora actual en la zona horaria de Kolkata es 15:00, lo que significa que la hora UTC es 09:30.
Ahora, cuando apago el sistema y enciendo Windows, el reloj del hardware tiene la hora UTC (09:30 en este ejemplo). Pero Windows cree que el reloj del hardware ha almacenado la hora local. Y así cambia el reloj del sistema (que debería haber mostrado las 15:00) para usar la hora UTC (09:30) como la hora local. Y por lo tanto, Windows muestra 09:30 como la hora, que está 5:30 horas por detrás de la hora real (15:00 en este ejemplo).
Nuevamente, si configuro la hora correcta en Windows alternando la zona horaria automática y los botones de hora, ¿sabe lo que sucederá? Ahora mostrará la hora correcta en el sistema (15:00) y sincronizará esta información (observe la opción "Sincronizar su reloj" en la imagen) con el reloj del hardware.
Si inicia Linux, lee la hora del reloj del hardware que está en hora local (15:00), pero dado que Linux cree que es la hora UTC, agrega una compensación de 5:30 al reloj del sistema. Ahora Linux muestra una hora de las 20:30, que es 5:30 horas antes de la hora real.
Ahora que comprende la causa raíz de los problemas de diferencia horaria en el arranque dual, es hora de ver cómo solucionar el problema.
Reparación de Windows que muestra una hora incorrecta en una configuración de arranque dual con Linux
Hay tres formas de manejar este problema:
- Haga que tanto Ubuntu como Windows verifiquen la fecha, la hora y la zona horaria automáticamente a través de Internet
- Haga que Linux use la hora local para el reloj del hardware
- Hacer que Windows use la hora UTC para el reloj del hardware
Discutiré dos de ellos que son más fáciles.
Método 1:haga que su sistema operativo establezca la fecha y la hora automáticamente
Lo que sucede en este caso es que aunque su sistema operativo (ya sea Windows o Linux) mostrará la hora incorrecta durante un minuto, y luego establece automáticamente la hora correcta si está conectado a Internet.
Para hacer que su sistema Ubuntu Linux verifique la fecha y la hora automáticamente, vaya a Configuración del sistema -> Fecha y hora y habilite ambas opciones.
También debe hacer un cambio de configuración similar para Windows.
Método 2:hacer que Ubuntu use la hora local para el reloj del hardware
Es más fácil hacer los cambios en Linux y, por lo tanto, recomendaré el segundo método.
Ubuntu y la mayoría de las otras distribuciones de Linux usan systemd en estos días y, por lo tanto, puede usar el comando timedatectl para cambiar la configuración.
Lo que está haciendo es decirle a su sistema Linux que use la hora local para el reloj de hardware (RTC). Lo haces con el set-local-rtc
(establecer hora local para RTC) opción:
timedatectl set-local-rtc 1
Como puede observar en la imagen a continuación, el RTC ahora usa la hora local.
Ahora, si arranca en Windows, el reloj del hardware debe estar en la hora local, que en realidad es correcta esta vez. Cuando inicia Linux, su sistema Linux sabe que el reloj del hardware está usando la hora local, no UTC. Y por lo tanto, no intenta agregar la compensación esta vez.
Esto soluciona el problema de la diferencia horaria entre Linux y Windows en arranque dual.
Verá una advertencia sobre no usar la hora local para RTC. Para configuraciones de escritorio, no debería causar ningún problema. Al menos, no puedo pensar en uno.
Espero haberte dejado las cosas claras. Si aún tiene preguntas, deje un comentario a continuación.