Conflictos de tiempo de múltiples sistemas de arranque
Los sistemas operativos almacenan y recuperan la hora en el reloj de hardware ubicado en su placa base para que pueda realizar un seguimiento de la hora incluso cuando el sistema no tiene energía. La mayoría de los sistemas operativos (Linux / Unix / Mac) almacenan la hora en el reloj de hardware como UTC por defecto, aunque algunos sistemas (especialmente Microsoft Windows) almacenan la hora en el reloj de hardware como la hora 'local'. Esto causa problemas en un sistema de arranque dual si ambos sistemas ven el reloj del hardware de manera diferente.
La ventaja de tener el reloj de hardware como UTC es que no necesita cambiar el reloj de hardware cuando se mueve entre zonas horarias o cuando comienza o finaliza el horario de verano (DST), ya que UTC no tiene compensación de horario de verano ni horario de verano.
Cambiar Linux para usar la hora local es más fácil y más confiable que cambiar Windows para usar UTC, por lo que los sistemas Linux / Windows de arranque dual tienden a usar la hora local.
Desde Intrepid (8.10), UTC = yes es el valor predeterminado.
Hacer que Windows use UTC
Nota: Este método no fue inicialmente compatible con Windows Vista y Server 2008, pero regresó con Vista SP2, Windows 7, Server 2008 R2 y Windows 8 / 8.1.
Para hacer que MS Windows calcule el tiempo del reloj de hardware como UTC.
Cree un archivo llamado WindowsTimeFixUTC.reg con los siguientes contenidos y luego haga doble clic en él para fusionar los contenidos con el registro:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Nota: El servicio de hora de Windows todavía escribirá la hora local en el RTC independientemente de la configuración de registro anterior al apagar, por lo que es útil deshabilitar el servicio de hora de Windows con este comando (si la sincronización de tiempo aún es necesaria mientras que en Windows use cualquier hora de terceros solución de sincronización):
sc config w32time start= disabled
Invertir el cambio
Puede crear un archivo con los siguientes contenidos y luego hacer doble clic para fusionar los cambios originales, como se indica arriba:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=-
Si el servicio de hora de Windows estaba deshabilitado, habilítelo nuevamente con el comando:
sc config w32time start= demand
Hacer que Linux use la hora 'local'
Para decirle a su sistema Ubuntu que el reloj de hardware está configurado a la hora 'local':
Sistemas anteriores a Ubuntu 15.04 (por ejemplo, Ubuntu 14.04 LTS):
- editar
/etc/default/rcS
agregar o cambiar la siguiente sección
# Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no
Sistemas Ubuntu 15.04 y superiores (por ejemplo, Ubuntu 16.04 LTS):
abre una terminal y ejecuta el siguiente comando
timedatectl set-local-rtc 1
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001
Para configurar el reloj del BIOS a la hora local en lugar de UTC en una versión basada en systemd (15.04 y superior), deberá usar el
timedatectl
comando. De acuerdo con Arch Wiki :fuente
Su zona horaria es oriental , que actualmente es EDT (hora de verano del este). EDT es UTC menos cuatro horas, lo mismo que el desplazamiento que está experimentando.
Cuando esto sucede en un sistema de arranque dual, generalmente se debe a que un sistema operativo piensa que el reloj de hardware rastrea la hora local, mientras que el otro sistema operativo piensa que el reloj de hardware rastrea UTC.
En su caso, su reloj de hardware probablemente esté configurado a la hora local y:
Si solo restableciera la hora en el sistema Ubuntu, ya sea manual o automáticamente , entonces sería incorrecto en Windows, por lo que no es una buena solución.
En cambio, la mejor solución es probablemente reconfigurar Ubuntu para tratar la hora del reloj del hardware como la hora local (luego puede dejar la configuración de Windows y la hora del reloj del hardware, solo).
Para hacer esto, edite
/etc/default/rcS
como root y asegúrese de que tengaUTC=no
:Presione Alt+ F2.
Escribe
gksu gedit /etc/default/rcS
y presiona Enter.Probablemente verás esto:
UTC=yes
aUTC=no
. (O puede que también desee agregar un comentario, cambiándolo a algo asíUTC=no # changed to accommodate Windows system
. Todo en una línea después de un#
personaje es un comentario, y está ahí solo para que su configuración sea más legible para los humanos).UTC=
línea. Si no está comentado (es decir, no tiene un#
al principio), cámbielo en consecuencia. Si está comentado, descomente quitando el encabezado#
y asegúrese de que digaUTC=no
.Guarde el archivo y salga del editor de texto.
Reinicie para aplicar sus cambios y verifique que el tiempo esté funcionando correctamente ahora en ambos sistemas operativos.
Fuente: https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time
(Pero eso es muy general; he escrito esta respuesta para aplicarla específicamente a su situación, que es un problema algo común).
fuente
La corrección / etc / rcS no funcionó en mi instalación de Win7 / Ubuntu 14.04x64, ni ninguna corrección a través de la GUI del reloj. Debido a que la raíz del problema es la hora del BIOS frente a la hora UTC, y Windows es un fastidio cuando se trata de usar UTC, acabo de elegir un punto en el mapa que usa UTC + 0 (sin cambios entre la hora BIOS y UTC) .
Intente cambiar su ubicación a Reykjavik (la capital de Islandia). Voila! Su hora de Ubuntu cambiará para coincidir con la hora de su BIOS.
fuente