Forzar a Windows 8 a usar UTC cuando se trata con el reloj del BIOS

18

Tengo Arch Linux + Windows 8 en mi computadora portátil. En versiones anteriores de Windows, hay un DWORD en el registro ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal) que cambia entre localtime y UTC, pero parece que ya no funciona en Windows 8.

Ahora estoy obteniendo la hora UTC en Windows ya que piensa que el BIOS le da la hora local que en realidad es la hora UTC, y después de reiniciar en Arch Linux, el reloj se convierte en localtime-0400, porque Arch piensa que la BIOS tiene la hora UTC correcta.

No quiero dejar que Arch Linux use localtime. Bajo este requisito previo, ¿hay alguna solución posible?

jiehanzheng
fuente
1
La clave RealTimeIsUniversal funcionó bien para mí, también con arranque dual Arch Linux.
números1311407

Respuestas:

3

RealTimeIsUniversal es realmente defectuoso y no es una solución recomendada oficialmente (¿tal vez por eso lo deshabilitaron en Win8?) Vea IBM PC Real Time Clock debería ejecutarse en UT y una respuesta de Raymond Chen aquí: ¿Por qué Windows mantiene su reloj BIOS en hora local? . A la fecha no creo que haya una solución adecuada para esto.

Karan
fuente
55
¿calesa? nunca tuve problemas con eso, y obligar a Windows a usar un reloj de sistema UTC realmente es la única solución sensata. y la clave no está deshabilitada en win8. La solución real es configurar la clave de registro, desactivar la sincronización de tiempo de Windows y dejar que Linux maneje la sincronización si inicia allí con la frecuencia suficiente.
ovejas voladoras
1
@flyingsheep A lo largo de los años se han lanzado algunas revisiones, consulte Estado actual de soporte en Windows en cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html
Stijn
@Stijn Gran enlace, creo que deberías convertirlo en una respuesta para mayor visibilidad.
Marc.2377
15

El servicio predeterminado de hora de Windows siempre escribirá la hora local en el reloj de hardware al apagar, independientemente de lo que diga el registro sobre el tiempo real en UTC. Fuera de esta advertencia, Windows tratará el reloj de tiempo de hardware correctamente, si el registro está configurado correctamente. Prueba esto:

  1. Si la hora está en mal estado tratando de hacer que Windows use UTC, arranque en Windows y configure la hora como lo haría normalmente (zona horaria correcta, sin regedit, servicio de hora de Windows habilitado, recientemente sincronizado, etc.)
  2. Haz el regedit que ya mencionaste
  3. Sincroniza la hora w32tm /config /update
  4. Deshabilitar el servicio de hora de Windows sc config w32time start= disabled
  5. Instalar un cliente NTP de terceros
  6. Verifique que funciona con un reinicio
JumperPunk
fuente
1
Solo configuré esto después de que Windows configuró el reloj en cada apagado. Encontré el siguiente software NTP para Windows que es muy fácil de configurar y configurar. meinbergglobal.com/english/sw/ntp.htm
Dracs
Ese software parece ser un reempaquetado de la distribución oficial de NTP, con algunos extras. De todos modos, lo usé y también encontré que funcionaba.
David Z
10

RealTimeIsUniversalclave de registro todavía funciona en Windows 8 y 10! Solo lo probé yo mismo. Las instrucciones para usar este método se explican muchas veces en todas partes, por ejemplo, en esta respuesta .

Voy a replicar la respuesta aquí:

  1. Win+ S, regedit, Enter.

  2. Vaya a la clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.

  3. Cree un nuevo valor DWORD (32 bits), asígnele un nombre RealTimeIsUniversal.

  4. Establezca su valor en 1.

Una vez hecho esto, simplemente reinicie su máquina. Después de que esté funcionando nuevamente, deje que Windows configure la hora automáticamente (haga clic en la hora actual en la bandeja, Date and Time Settings> Set Time Automatically), esta vez no se meterá con ella.

Nube translúcida
fuente
0

@jiehanzheng sí, si usa NTP en Windows, desordenará el reloj. Parece que la mejor solución es ejecutar NTP en cualquier versión de * NIX que esté iniciando dualmente, deshabilitar NTP en Windows y compensar usando la zona horaria que necesite. Luego solo tiene que ajustar el horario de verano manualmente con un cambio de zona horaria en Windows, pero eh ..

wajeemba
fuente
0

RealTimeIsUniversalfunciona para mi. Para que funcione, después de aplicar la entrada del registro, cierre Windows (no suspenda ni hiberne). Inicie la máquina e ingrese el BIOS antes de iniciar en Windows, cambie la hora en el BIOS, guarde y luego continúe iniciando en Windows. Alternativamente, después de cerrar Windows, inicie Linux y deje que la sincronización de tiempo haga su trabajo. Si la hora se actualiza desde Windows, Windows actualizará de alguna manera una hora incorrecta al sistema después de un reinicio.

usuario416162
fuente
1
¿Podría vincular a fuentes que explican RealTimeIsUniversal? No sabía qué era hasta que lo mencionaste, y de varios resultados, parece que viene con su propio conjunto de efectos secundarios potencialmente negativos.
Killermist
-1

RealTimeIsUniversal funcionó para mí en Windows 10. Y a mediados de diciembre de 2016, también funciona para mi Windows 7 Pro, sin reiniciar en Linux.

Kevin O'Gorman
fuente
-3

Podrías configurar tu zona horaria con cuatro horas de descanso.

ingrese la descripción de la imagen aquí

Caleb Jares
fuente
Solución inteligente ... pero el hardware y el reloj del sistema volverán a estropearse cuando use NTP (Hora de Internet), ¿verdad?
jiehanzheng