Conflitos de tempo de vários sistemas de inicialização
Os sistemas operacionais armazenam e recuperam a hora no relógio de hardware localizado na placa-mãe para que ela possa acompanhar a hora, mesmo quando o sistema não tem energia. A maioria dos sistemas operacionais (Linux / Unix / Mac) armazena a hora no relógio do hardware como UTC por padrão, embora alguns sistemas (principalmente o Microsoft Windows) armazenem a hora no relógio do hardware como a hora 'local'. Isso causa problemas em um sistema de inicialização dupla se os dois sistemas visualizarem o relógio do hardware de maneira diferente.
A vantagem de ter o relógio do hardware como UTC é que você não precisa alterar o relógio do hardware ao se mover entre fusos horários ou quando o Horário de Verão (DST) começa ou termina, pois o UTC não possui desvios de horário de verão ou DST.
Alterar o Linux para usar a hora local é mais fácil e mais confiável do que alterar o Windows para usar o UTC; portanto, os sistemas Linux / Windows de inicialização dupla tendem a usar a hora local.
Como Intrepid (8.10), UTC = yes é o padrão.
Faça o Windows usar o UTC
Nota: Este método não era suportado inicialmente no Windows Vista e Server 2008, mas voltou com o Vista SP2, Windows 7, Server 2008 R2 e Windows 8 / 8.1.
Para fazer o MS Windows calcular a hora no relógio do hardware como UTC.
Crie um arquivo chamado WindowsTimeFixUTC.reg com o seguinte conteúdo e clique duas vezes nele para mesclar o conteúdo com o registro:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
Nota: O serviço de Horário do Windows ainda gravará o horário local no RTC, independentemente da configuração do registro acima no desligamento, por isso é útil desativar o serviço de Horário do Windows com este comando (se a sincronização de horário ainda for necessária enquanto o Windows usar qualquer horário de terceiros solução de sincronização):
sc config w32time start= disabled
Revertendo a alteração
Você pode criar um arquivo com o seguinte conteúdo e clicar duas vezes nele para mesclar as alterações originais, como acima:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=-
Se o serviço Horário do Windows estiver desativado, ative-o novamente com o comando:
sc config w32time start= demand
Faça o Linux usar o horário 'local'
Para dizer ao seu sistema Ubuntu que o relógio do hardware está definido para o horário 'local':
Sistemas anteriores ao Ubuntu 15.04 (por exemplo, Ubuntu 14.04 LTS):
- editar
/etc/default/rcS
adicione ou altere a seção a seguir
# Set UTC=yes if your hardware clock is set to UTC (GMT)
UTC=no
Sistemas Ubuntu 15.04 e superiores (por exemplo, Ubuntu 16.04 LTS):
abra um terminal e execute o seguinte comando
timedatectl set-local-rtc 1
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001
Para definir o relógio do BIOS para a hora local, em vez do UTC, em uma versão baseada em systemd (15.04 e posterior), você precisará usar o
timedatectl
comando De acordo com o Arch Wiki :fonte
Seu fuso horário é Eastern , que atualmente é EDT (Horário de verão do leste). O EDT é UTC menos quatro horas, o mesmo que o deslocamento que você está enfrentando.
Quando isso acontece em um sistema de inicialização dupla, geralmente é porque um sistema operacional pensa que o relógio do hardware rastreia a hora local, enquanto o outro sistema operacional pensa que o relógio do hardware rastreia o UTC.
No seu caso, seu relógio de hardware provavelmente está definido para a hora local e:
Se você redefinisse a hora no sistema Ubuntu, manual ou automaticamente , ela estaria errada no Windows, então essa não é uma boa solução.
Em vez disso, a melhor solução é provavelmente reconfigurar o Ubuntu para tratar a hora do relógio do hardware como hora local (então você pode deixar a configuração do Windows e a hora do relógio do hardware sozinhas).
Para fazer isso, edite
/etc/default/rcS
como root e verifique se ele possuiUTC=no
:Pressione Alt+ F2.
Digite
gksu gedit /etc/default/rcS
e pressione Enter.Você provavelmente verá isso:
UTC=yes
paraUTC=no
. (Ou você pode adicionar um comentário também, alterando-o para algo comoUTC=no # changed to accommodate Windows system
. Tudo em uma linha após um#
personagem é um comentário e existe apenas para tornar suas configurações mais legíveis para humanos.)UTC=
linha. Se não estiver comentado (ou seja, não possui um#
no início), altere-o de acordo. Se for comentado, remova o comentário removendo a guia#
e certifique-se de que dizUTC=no
.Salve o arquivo e feche o editor de texto.
Reinicie para aplicar suas alterações e verifique se o tempo está funcionando corretamente agora nos dois sistemas operacionais.
Fonte: https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time
(Mas isso é muito geral; escrevi esta resposta para aplicar especificamente à sua situação, que é um problema um tanto comum.)
fonte
A correção / etc / rcS não funcionou na minha instalação do Win7 / Ubuntu 14.04x64, nem correções na GUI do relógio. Como a raiz do problema é a hora do BIOS e a hora UTC, e o Windows é uma dor de cabeça quando se trata de usar o UTC, escolhi um ponto no mapa que usa UTC + 0 (nenhuma alteração entre a hora da BIOS e a UTC) .
Tente alterar sua localização para Reykjavik (capital da Islândia). Voila! Seu tempo no Ubuntu mudará para coincidir com o tempo do BIOS.
fonte