Minha máquina possui dois sistemas operacionais, uma distribuição Linux (primária) e um Windows 7 (usado raramente).
Ambos os sistemas operacionais estão definidos no meu fuso horário (UTC + 1).
Dependendo de como eu defino a hora no BIOS, o Windows mostra a hora como 1 hora antes da hora atual ou o Linux 1 hora depois.
Por que isso acontece?
A máquina Windows geralmente inicia desconectada da Internet; o Linux, em vez disso, está conectado, portanto, corrige a data após um curto período de tempo, mas após a reinicialização, ele é configurado incorretamente novamente.
Edição: encontrado para ser uma duplicata de https://serverfault.com/questions/16107/why-does-ubuntu-9-04-reset-my-windows-clock
/etc/default/rcS
não está presente em todos os sistemas - acho que é específico do Ubuntu. O Debian (do qual o Ubuntu é derivado) não o possui.Sua distribuição Linux está assumindo que o relógio do BIOS está usando UTC e a instalação do Windows está assumindo que o horário do BIOS está no horário local.
Aqui está como eu o configurei no meu laptop com uma inicialização dupla: eu faço as alterações no lado do linux para usar a hora local em vez da UTC para o relógio do sistema. primeiro, execute um comando para que a hora seja definida corretamente no lado do linux, como
root
:hwclock --hctosys --localtime
copie as configurações de data / hora do BIOS para o seu computador e defina-as para a hora local.hwclock --systohc --localtime
deve definir a hora do BIOS no horário local em vez do UTC. Eu recomendaria definir o horário com odate
comando acima e executar: hwclock --systohc --localtime E TAMBÉM executar: hwclock --hctosys --localtime para garantir que / etc / adjtime tenha a última linha do arquivo dizendo 'LOCAL' em vez de 'UTC' ou algo assim. as--hctosys --localtime
bandeiras juntas podem fazer isso programaticamente. É possível quedate
faça isso sozinho, mas eu não verifiquei.para verificar se a hora do sistema é realmente precisa no horário local. Não se preocupe com a formatação da string de configuração da data, ela é extremamente flexível. Como um exemplo de outras maneiras válidas de dizê-lo:
(Estou no horário padrão do leste, GMT -5)
Se você ainda tiver problemas, pode ser necessário selecionar novamente um fuso horário. No Debian ou derivados como o Ubuntu, você usa
sudo dpkg-reconfigure tzdata
para alterar os fusos horários em uma interface ncurses.Se você não tiver isso, tente encontrar seu arquivo de informações relevantes sobre o fuso horário. Na minha instalação é isso
/usr/share/zoneinfo/America/Indiana/Indianapolis
.Depois de encontrá-lo, copie-o para
/etc/localtime
:Eu garantiria que o tempo ainda esteja definido
date
corretamente depois de fazer isso. Caso contrário, execute os dois primeiros comandos (date
ehwclock
) novamente.no linux deve fazer com que, a qualquer momento que você definir no linux, seja compartilhado corretamente com o Windows. Como alternativa, isso pode ser feito, mas é mais difícil configurar as janelas para usar o UTC. Como isso é feito, as alterações nas versões e janelas são conhecidas por reverter para o horário local após as atualizações.
Lembro-me de um computador particularmente teimoso em que todas as
hwclock
coisas estavam sendo superadas, porque o computador estava buscando a hora atual na Internet com o NTP. A configuração do fuso horário era a única maneira de corrigir isso sem desabilitar completamente o NTP.Enfim, isso é apenas um grande depósito de todas as minhas experiências passadas com o assunto. Um deles quase certamente funcionará. Eu tentaria o material do fuso horário primeiro e, em seguida, definitivamente o
hwclock --systohc --localtime
material depois que você terminar, para garantir que o relógio do BIOS esteja no horário local.fonte