First: there is no Daylight saving time in Winter in Europe, so your question is probably not about DST, but the difference between local time and UTC.
Many Linux distributions will store the time in the system's builtin Real Time Clock (RTC) at the halt/reboot phase and read it at boot.
Below, 1. is probably not used anymore, so if not sure try 2. first.
Usually this was done with the hwclock
command. This command on first usage, will create the file /etc/adjtime
and among other values, store an information: if the RTC is to be considered as UTC or local time. UTC is probably the default, since it has always been the time Unix cares about, keeping UTC internally, computing localtime from UTC when needed. Now since at least historically Windows was using local time, it stores local time on the RTC. So if the wrong default for your use case (dual boot) was chosen, you could have altered it with (after correcting time):
hwclock --systohc --localtime
The way /etc/adjtime
is used anyway (clock drift correction...), it's best to delete this file before having changed the time and using this command (which will recreate it).
Today, with systemd
attempting to cover all bases, systemd
also provides tools for setting time. So the modern equivalent which also uses /etc/adjtime
should be instead:
timedatectl --adjust-system-clock set-local-rtc 1
This will re-read the RTC but consider it to be local time and also save the setting.
All this doesn't prevent you to use ntpdate
(one shot sync) and chronyd
(or ntpd
or openntpd
...) to synchronise time with precise sources.
ntpdate[2883]: no servers can be used, exiting
. Moreover the Bios was set to the result ofdate --utc
. I changed it to correct UTC. Now I've got correct time, but at startup Linux said something about hardware clock being incorrect.chrony
fixes your time?chrony
works. I'll try to read some docs. I'll let you know. Thanks for now.