Força o Windows 8 a usar o UTC ao lidar com o clock do BIOS

18

Eu tenho o Arch Linux + Windows 8 no meu laptop. Nas versões anteriores do Windows, há um DWORD no registro ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal ) que alterna entre o localtime e o UTC, mas isso parece não funcionar mais no Windows 8.

Agora estou recebendo o horário UTC no Windows, pois ele acredita que o BIOS fornece o horário local, que é, na verdade, o horário UTC e, depois de reinicializar no Arch Linux, o relógio se torna localtime-0400. / p>

Eu não quero deixar o Arch Linux usar o localtime. Sob este pré-requisito, existe alguma solução possível?

    
por jiehanzheng 28.10.2012 / 06:28

7 respostas

3

RealTimeIsUniversal é realmente um buggy e não é uma solução oficialmente recomendada (talvez seja por isso que eles o desativaram no Win8?) Veja IBM PC Clock em tempo real deve ser executado em UT e uma resposta de Raymond Chen aqui: Por que o Windows mantém seu relógio da BIOS na hora local? . No momento, não acho que haja uma solução adequada para isso.

    
por 28.10.2012 / 18:50
15

O serviço padrão do Tempo do Windows sempre gravará a hora local no relógio de hardware durante o desligamento, independentemente do que o registro diga sobre o tempo real no UTC. Fora desta advertência, o Windows tratará o relógio de tempo do hardware corretamente, se o registro estiver configurado corretamente. Tente isto:

  1. Se o tempo estiver errado ao tentar fazer com que o Windows use o UTC, inicialize no Windows e defina a hora normalmente (fuso horário correto, sem regedit, serviço de tempo do Windows ativado, sincronização recente etc.)
  2. Faça o regedit que você mencionou já
  3. Sincronizar a hora w32tm /config /update
  4. Desativar o serviço de tempo do Windows sc config w32time start= disabled
  5. Instalar um cliente NTP de terceiros
  6. Verifique se funciona com uma reinicialização
por 14.02.2013 / 22:19
10
A

RealTimeIsUniversal chave de registro ainda funciona no Windows 8 e 10! Apenas testei isso sozinho. As instruções para usar este método são explicadas muitas vezes em todos os lugares, por exemplo, em esta resposta .

Vou replicar a resposta aqui:

  1. Ganhar + S , regedit , Inserir .

  2. Navegue até a chave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation .

  3. Crie um novo valor DWORD (32 bits), denomine RealTimeIsUniversal .

  4. Defina seu valor como 1 .

Depois disso, basta reiniciar sua máquina. Depois que ele estiver ativo e em execução novamente, deixe o Windows definir a hora automaticamente (clique na hora atual na bandeja, Date and Time Settings > Set Time Automatically ), desta vez ela não irá mexer nela.

    
por 30.06.2013 / 18:26
0

@jiehanzheng sim, se você usar o NTP no Windows, isso estragará o relógio. Parece que a melhor solução é executar o NTP em qualquer que seja o sabor do * NIX que você está inicializando de maneira dupla, desabilitar o NTP no Windows e compensar usando qualquer fuso horário necessário. Então você só tem que ajustar o horário de verão manualmente com uma mudança de fuso horário no Windows, mas eh ..

    
por 21.11.2012 / 07:01
0

RealTimeIsUniversal funciona para mim. Para fazê-lo funcionar, depois de aplicar a entrada do registro, encerre o Windows (não durma nem hiberne). Boot machine & entre no BIOS antes de inicializar no Windows, altere o horário no BIOS, salve e continue reiniciando no Windows. Alternativamente, depois de desligar o Windows, inicialize no Linux & deixe sincronizar o tempo fazer o seu trabalho. Se o tempo for atualizado a partir do Windows, o Windows atualizará de alguma forma uma hora incorreta para o sistema após a reinicialização.

    
por 06.02.2015 / 06:16
-1

O RealTimeIsUniversal funcionou para mim no Windows 10. E, em meados de dezembro de 2016, também está funcionando para o meu Windows 7 Pro, sem reiniciar o sistema no Linux.

    
por 16.12.2016 / 03:54
-3

Você pode definir seu fuso horário com quatro horas de folga.

    
por 28.10.2012 / 06:54