A hora do relógio está desligada na inicialização dupla

253

Sistema de inicialização dupla Windows XP Pro e Ubuntu 12.04.

Eu tenho o BIOS definido para o horário correto e o Ubuntu definido para o horário da costa leste dos EUA. O Ubuntu inicializará e o tempo será desligado em -4 horas. Se eu corrigir o horário no Ubuntu, quando eu inicializá-lo no Windows XP, o tempo será reduzido em + 4 horas.

Esta é uma nova instalação do 12.04. Eu não tive esse problema antes de reinstalar o Ubuntu.

    
por Bill Walden 28.07.2012 / 19:48

4 respostas

212

link

  

Conflitos de tempo com vários sistemas de inicialização

     

Os sistemas operacionais armazenam e recuperam o tempo no relógio do hardware   localizado em sua placa-mãe para que ele possa acompanhar o tempo mesmo   quando o sistema não tem energia. A maioria dos sistemas operacionais   (Linux / Unix / Mac) armazene a hora no relógio do hardware como UTC da   padrão, embora alguns sistemas (principalmente o Microsoft Windows) armazenem   hora no relógio do hardware como a hora 'local'. Isso causa problemas   em um sistema de inicialização dupla, se ambos os sistemas visualizarem o relógio de hardware   diferentemente.

     

A vantagem de ter o relógio do hardware como UTC é que você não   precisa mudar o relógio do hardware quando se deslocam entre fusos horários ou   quando o Horário de Verão (DST) começa ou termina como o UTC não tem   Deslocamentos de horário de verão ou fuso horário.

     

Alterar o Linux para usar o horário local é mais fácil e confiável do que   alterando o Windows para usar o UTC, então os sistemas Linux / Windows de inicialização dupla   para usar a hora local.

     

Como o Intrepid (8.10), UTC = yes é o padrão.

     

Fazer o uso do Windows UTC

     

Observação: Esse método não foi inicialmente suportado no Windows Vista e no Server 2008, mas voltou com o Vista SP2, o Windows 7 e o Server 2008 R2   e o Windows 8 / 8.1.

     

Para fazer o MS Windows calcular o tempo do relógio do hardware como UTC.

     

Crie um arquivo chamado WindowsTimeFixUTC.reg com o Segue   conteúdo e, em seguida, 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
     

Observação: o serviço de tempo do Windows ainda gravará a hora local no RTC, independentemente da configuração do registro acima no desligamento, por isso é útil   para desabilitar o Windows Time service com este comando (se a sincronização de horário for   ainda é necessário, enquanto no Windows usar qualquer sincronização de tempo de terceiros   solução):

sc config w32time start= disabled
     

Invertendo a mudança
Você pode criar um arquivo com o seguinte   conteúdo e, em seguida, clique 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 de 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 informar ao seu sistema Ubuntu que o clock do hardware está definido como 'local'   tempo:

     

Sistemas pré-Ubuntu 15.04 (por exemplo, Ubuntu 14.04 LTS):

     
  1. editar /etc/default/rcS
  2.   
  3. adicione ou altere a seção a seguir

    # Set UTC=yes if your hardware clock is set to UTC (GMT)
    UTC=no
    
  4.   

Sistemas Ubuntu 15.04 e superiores (por exemplo, Ubuntu 16.04 LTS):

     
  1. abra um terminal e execute o seguinte comando

    timedatectl set-local-rtc 1
    
  2.   
    
por Eric Carvalho 28.07.2012 / 20:07
55

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 superior), você terá que usar o comando timedatectl . De acordo com o Arch Wiki :

  

Você pode definir o padrão de tempo do relógio do hardware através da linha de comando.   Você pode verificar o que você definiu para usar:

$ timedatectl | grep local
     

O relógio do hardware pode ser consultado e definido com o timedatectl   comando. Para alterar o tempo padrão do relógio do hardware para o horário local, use:

# timedatectl set-local-rtc 1
     

Se você quiser reverter para o relógio de hardware que está no UTC, faça:

# timedatectl set-local-rtc 0
    
por muru 13.01.2016 / 04:40
29

Seu fuso horário é Oriental , que atualmente é EDT (horário de verão oriental). O EDT é UTC menos quatro horas, o mesmo que o deslocamento que você está experimentando.

Quando isso acontece em um sistema de inicialização dupla, geralmente é porque um sistema operacional acha que o relógio do hardware rastreia o horário local, enquanto o outro sistema operacional acha que o relógio do hardware rastreia o UTC.

No seu caso, o relógio do seu hardware provavelmente está configurado para a hora local e:

  • O Windows está configurado para usar a hora local, que (de acordo com suas configurações de hora) é correta .
  • O Ubuntu está configurado para usar o UTC, que (considerando suas configurações de horário) está incorreto .

Se você tivesse que redefinir a hora no sistema Ubuntu, manualmente ou automaticamente , seria errado no Windows, então 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 o tempo do relógio do seu hardware)

Para isso, edite /etc/default/rcS como root e verifique se tem UTC=no :

  1. Pressione Alt + F2 .

  2. Digite gksu gedit /etc/default/rcS e pressione Enter .

  3. Você provavelmente verá isso:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Se você fizer isso, altere UTC=yes para UTC=no . (Ou você pode querer adicionar um comentário também, alterando-o para algo como UTC=no # changed to accommodate Windows system . Tudo em uma linha após um caractere # é um comentário, e existe apenas para tornar suas configurações mais legíveis para humanos.)
    • Se você não fizer isso, procure por qualquer linha UTC= . Se estiver descomentado (isto é, não tiver # no início), altere-o de acordo. Se for comentado, remova o comentário removendo o primeiro # e verifique se ele diz UTC=no .
  4. Salve o arquivo e saia do editor de texto.

  5. Reinicialize para aplicar suas alterações e verifique se o horário está funcionando corretamente agora em ambos os sistemas operacionais.

Fonte: link

(Mas isso é muito geral; escrevi esta resposta para aplicar especificamente à sua situação, que é um problema comum.)

    
por Eliah Kagan 28.07.2012 / 20:16
11

A correção / etc / rcS não funcionou na minha instalação do Win7 / Ubuntu 14.04x64, nem corrigiu a GUI do relógio. Como a raiz do problema é a hora do VS do UTC do BIOS, e o Windows é um problema quando se trata de usar o UTC, acabei de escolher um ponto no mapa que usa UTC + 0 (sem alteração entre o BIOS e o horário UTC) .

Tente mudar sua localização para Reykjavik (a capital da Islândia). Voila! Seu horário do Ubuntu será alterado para corresponder ao seu tempo de BIOS.

    
por OpensourceFool 03.07.2014 / 19:49