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