Se seu pedido Bota dupla No Windows e no Linux, você pode notar que é impossível sincronizar os relógios do sistema. Não importa como o tempo muda em um sistema operacional, o problema com o outro sistema operacional não é resolvido. Isso se deve a uma divergência sobre a metodologia de controle de tempo entre os sistemas operacionais Windows e Linux. Felizmente, existe uma solução relativamente fácil para isso.
Links Rápidos
Por que isso acontece?
O computador armazena a hora atual no relógio da placa-mãe. Isso permite que o computador controle o tempo, mesmo quando está desligado. Para calcular fusos horários, diferentes sistemas operacionais usam métodos diferentes. O Windows assume que a hora local está armazenada na placa-mãe, portanto, não aplica nenhum tipo de deslocamento no fuso horário. O Linux, por outro lado, interpretará a hora na placa-mãe como UTC (ou seja, hora de Greenwich) e aplicará a compensação de fuso horário para exibir a hora local.
Cada um desses sistemas funciona bem de forma totalmente independente. O problema ocorre durante a inicialização dupla dos sistemas operacionais Windows e Linux na mesma placa-mãe. Quando os sistemas operacionais precisam compartilhar o armazenamento de tempo, os relógios não serão sincronizados.
Existem duas maneiras diferentes de resolver esse problema: Podemos mudar a forma como o Linux interpreta o tempo armazenado ou fazer o mesmo no Windows.
Opção 1: fazer com que o Linux use a hora local
A maneira mais confiável de fazer o Linux e o Windows coincidirem com o tempo é mudar a metodologia de cronometragem do Linux. Embora isso não seja explicitamente suportado, é um pouco mais confiável do que fazer o mesmo no Windows. Ele funciona em qualquer distribuição Linux usando o systemd, que inclui Ubuntu, Fedora, Red Hat, Debian e Mint. Alterar a hora do Windows geralmente funciona muito bem, mas às vezes pode causar instabilidade em programas de terceiros que esperam que a hora armazenada seja a hora local.
1. Abra um terminal e execute o seguinte comando:
timedatectl set-local-rtc 1 --adjust-system-clock
timedatectl set-local-rtc 0 --adjust-system-clock
Opção 2: faça com que o Windows use UTC
Você também pode alterar a forma como o Windows exibe a hora do sistema. Esta explicação fará com que o Windows interprete a hora armazenada na placa-mãe como UTC, o que faz com que o Linux interprete o fuso horário correto. Embora isso geralmente funcione bem, alguns aplicativos dependem da hora da placa-mãe como a hora local. Como resultado, isso pode causar problemas com esses aplicativos. Isso torna essa opção um pouco menos desejável do que a primeira.
1. Desative "Definir hora automaticamente" em "Hora e idioma" no aplicativo Configurações. Isso impedirá o Windows de reverter para as alterações que compartilharemos.
2. Abra o editor de registro digitando regedit no menu iniciar.
3. Encontre a seguinte chave de registro no painel esquerdo do Editor do Registro. Para chegar lá rapidamente, cole o site na barra de endereço do Editor do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation
4. Clique com o botão direito do mouse na chave “TimeZoneInformation” no painel direito e escolha “New -> DWORD (32-bit) Value” no menu de contexto.
5. Nomeie seu novo valor “RealTimeIsUniversal”.
6. Clique duas vezes no valor que você acabou de criar, defina seu valor como "1" e clique em "OK".
Conclusão
A maneira mais segura de sincronizar os relógios do sistema em um sistema de inicialização dupla é ajustar a forma como o Linux interpreta a hora. Se isso não funcionar para você (ou se você usar o macOS em vez do Linux), você também pode editar o registro do Windows para alterar a maneira como o Windows interpreta a hora da placa-mãe.