En este artículo, consideraremos por qué el reloj del sistema muestra una fecha y hora incorrectas después de apagar, reiniciar o reanudar la hibernación de una computadora portátil / servidor. El tiempo se reinicia cada vez y debe configurarlo manualmente. Nos detendremos en el caso más típico: una batería de BIOS agotada y otras más interesantes que involucran el arranque dual de Windows / Linux en una computadora, y un error de firmware en los servidores HPE ProLiant G9 / G8 con sistema operativo Windows Server.
El sistema no ahorra datos / tiempo debido a una batería débil del BIOS / CMOS
La respuesta típica a la pregunta «¿Por qué se restablecen la fecha y la hora en mi computadora después de reiniciar?» es el agotamiento de la batería del BIOS (CMOS). Esta batería es responsable de mantener la configuración de BIOS / UEFI cuando su computadora o computadora portátil está desconectada, y proporciona operaciones autónomas del reloj de hardware incorporado.
Si la batería se ha agotado, cuando la placa base no está encendida, el BIOS no puede mantener su configuración y todos se restablecen, incluida la fecha y hora actuales. Si su computadora es bastante vieja, es muy probable que su batería esté agotada. Recomendamos encarecidamente reemplazarlo. No es difícil y el proceso no requiere ninguna habilidad especial de ingeniería. En la mayoría de los dispositivos domésticos e incluso empresariales, se utiliza una batería estándar CR2032 de 3 V en el BIOS.
Si el reemplazo de la batería no ha ayudado, verifique el estado del puente utilizado para restablecer la configuración del BIOS (el puente está ubicado cerca del compartimiento de la batería y está marcado como CMOS / CLEAR / RESET). Es posible que alguien lo haya dejado en la posición RESET. Por lo tanto, cada vez que se enciende la placa base, la configuración del BIOS se restablece. Mueva el puente a su posición normal.
La siguiente opción es actualizar el firmware del BIOS de su placa base. Vea cómo hacerlo en el sitio web de su proveedor de hardware. El firmware más nuevo a menudo tiene diferentes errores corregidos.
Windows: configure la sincronización del reloj con time.windows.com
Si su configuración de fecha / hora en Windows cambia constantemente, en primer lugar debe verificar la configuración actual de la zona horaria y los parámetros de sincronización de la hora con el servidor de hora externo. En Windows 10, puede ver la configuración de hora actual en el Panel de control -> Reloj y región -> Fecha y hora. En este ejemplo, puede ver que se especifica la zona horaria UTC + 01 y que el horario de verano está habilitado.
Si su computadora no está unida al dominio AD, verifique su configuración de sincronización de hora con la fuente de hora externa (servidor de hora NTP). Para hacerlo, haga clic en Hora de Internet pestaña y asegúrese de que la sincronización automática con time.windows.com el servidor está configurado.

Solución de problemas de sincronización de tiempo para equipos unidos a un dominio de AD
Si su computadora es parte de un dominio de Active Directory, debe comprender la arquitectura de la sincronización de tiempo en el dominio de AD.
El siguiente esquema de sincronización de tiempo se utiliza en el dominio de Active Directory:
- El controlador de dominio raíz en el bosque de AD, al que pertenece la función FSMO del emulador de PDC, es una fuente de tiempo para todos los demás controladores de dominio de este dominio;
- Otros DC sincronizan la hora con PDC;
- Los miembros de dominio ordinarios (servidores y estaciones de trabajo) sincronizan la hora con el controlador de dominio disponible más cercano de acuerdo con la topología de AD.
Root PDC puede sincronizar su tiempo tanto con una fuente externa como consigo mismo (por defecto).
Puede encontrar un controlador de dominio con el rol de PDC con el comando:
netdom /query fsmo
Para configurar la sincronización de la hora con un servidor NTP externo en el PDC, se utilizan los siguientes comandos.
Configurar fuentes de tiempo externas:
w32tm /config /manualpeerlist:"0.nl.pool.ntp.org,0x1 1.nl.pool.ntp.org,0x1 2.nl.pool.ntp.org,0x1 3.nl.pool.ntp.org,0x1"
Haga de este DC una fuente de tiempo confiable para los clientes:
w32tm /config /reliable:yes
Reinicie el servidor de hora w32 para sincronizar la hora de CC con los servidores de hora de nl.pool.ntp.org:
net stop w32time && net start w32time
Puede ver la fuente de sincronización y el estado:
w32tm /query /peers
Inicie la sincronización en modo manual:
w32tm /resync /rediscover
Windows y Linux muestran diferentes momentos durante el arranque dual
Debemos considerar por separado los casos en los que dos sistemas operativos (Windows y Linux) están instalados en una computadora con configuración de arranque dual. Puede encontrarse con el problema de que después de arrancar en otro sistema (arrancar en Linux después de Windows), la hora se adelanta o se retrasa varias horas con respecto a la hora real.
Windows y Linux funcionan con la hora del BIOS de manera diferente. Están usando dos formatos de hora diferentes: UTC y hora local.
Los sistemas operativos GNU / Linux (incluido Mac OS X) asumen que la hora en BIOS está en formato UTC (GMT). En consecuencia, al arrancar, Linux convierte la hora UTC agregando (o distrayendo) el desplazamiento de la zona horaria actual seleccionada por el usuario. Significa que para obtener la hora local para la zona horaria UTC + 2 de Atenas, Linux agregará 2 horas.
Windows cree que la hora en BIOS se mantiene en el formato de hora local, y si ha especificado una nueva zona horaria o la hora sincronizada con la fuente externa, el sistema realizará los cambios correspondientes a la hora local en BIOS. Linux (Ubuntu, en mi caso) piensa que la hora en BIOS se especifica en formato UTC y agrega un desplazamiento de zona horaria adicional. Esta es la razón por la que el tiempo se torna mal al cambiar de Linux a Windows y viceversa.
Para solucionarlo, debe hacer que Windows use el formato de hora UTC en RealTimeIsUniversal parámetro de registro.
reg add "HKLMACHINESystemCurrentControlSetControlTimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1 /f

reg add HKLMSYSTEMCurrentControlSetControlTimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
Además, desactive la sincronización horaria con Internet en Windows, ya que en cada actualización de tiempo, Windows restablecerá la hora UTC a local.
sc config w32time start= disabled
Reinicia tu Windows.
O puede hacer que Linux use la hora local. En Ubuntu 15.04 o superior, puede usar la herramienta timedatectl:
timedatectl set-local-rtc 1

Servidores HPE con Windows Server: compensación en el tiempo del sistema después del reinicio
Uno de mis clientes remotos se encontró con un problema interesante después de un cambio de zona horaria en los servidores HPE DL / ML Gen9 que ejecutan Windows Server 2008 R2 / 2012 R2. Al final resultó que, al cambiar una hora del sistema o una zona horaria en los servidores HP ProLiant Gen9 (y en uno de los servidores HP ProLiant DL580 Gen8), la hora del sistema no se guardaba y se restablecía a la anterior después del reinicio. El problema ocurrió en los servidores, en los que Windows Server arrancó en el modo heredado (con el arranque UEFI nativo, no hubo problemas de cambio de hora).
El siguiente evento apareció en el registro del sistema:The system time has changed to 2019-01-29T12:12:28.500000000Z from 2019-01-29T13:12:27.923115700Z.
Change Reason: System time synchronized with the hardware clock.
Como solución a este problema, HP sugiere actualizar la versión de ROM a al menos 1.5. Esta es la versión de la utilidad de configuración basada en ROM (RBSU) que no tiene ningún error de reinicio de tiempo.
O como solución alternativa, puede configurar que el BIOS proporcione a Windows la hora UTC del sistema (en lugar de la hora local). Para hacerlo, como ya te hemos contado anteriormente, debes crear un parámetro con el nombre RealTimeIsUniversal y el valor 1 en la clave de registro HKLM SYSTEM CurrentControlSet Control TimeZoneInformation.





