Como você já mencionou, existem dois relógios diferentes:
- O relógio do software é definido e usado pelo kernel do linux e fornece o tempo para todos os programas
- O relógio de hardware (relógio de tempo real (RTC)) tem energia de backup de bateria (por exemplo, está sempre em execução) e é usado para ajustar o relógio do sistema durante a inicialização
A UEFI não tem acesso ao relógio do sistema e, portanto, usa o RTC. date
usa o relógio do sistema. A razão pela qual ele está funcionando corretamente quando há uma conexão com a Internet pode ser um serviço ntp
em execução que ajusta o tempo na inicialização?
Você pode querer usar sudo dpkg-reconfigure tzdata
para uma opção baseada em texto para definir a hora do sistema corretamente. Se o Ubuntu ainda exibir sua última data de login (realmente?) Após a reinicialização, parece haver um problema com a inicialização do relógio do sistema baseado em RTC na inicialização.
Origem: man rtc