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