7

I have a dual boot system with Win 7 / Ubuntu 13.04. For some reason, Ubuntu resets the system time to -3 hours regardless of timezone settings. I thought that this was UTC problem, but the problem persists regardless of what is set in /etc/default/rcS.

# assume that the BIOS clock is set to UTC time (recommended)
UTC=no

If I check the timezone with date +%Z it states

UTC

However, when using the graphical user interface to check the timezone it shows that I'm in the right timezone.

Date gives me

pe 9.8.2013 13.51.52 +0000

While hwclock is the correct time

pe  9. elokuuta 2013 16.52.03  -0.516733 sekuntia

Ubuntu seems to set the BIOS time to wrong time. This happens on every boot, even after I've manually changed the time. Windows 7 does not have this problem. I could not find duplicates or solutions beyond the UTC settings.

The system is set to manual time and is not updating it from the internet. I've already tried that but it seems that it never updates so I'm stuck in the wrong time.

Braiam
  • 69,112
krax
  • 124

4 Answers4

2

It sounds like you are in a timezone 3 hours separate from UTC, and Windows and Linux are disagreeing about what time should be stored in the BIOS.

Linux stores time as UTC in the BIOS clock.

Windows stores time as local time.

So whenever you boot Windows, it resets the BIOS clock to local time, Linux loads it and assumes it's UTC.

I was under the impression that the Ubuntu installer would detect Windows and set Linux to compromise by using local time in the BIOS... but this may not be true, or may not have happened correctly.

There are two solutions :

  • Set Windows to use UTC in the BIOS clock

This apparently has some caveats for "professional" usage but might be satisfactory from a user POV.

https://superuser.com/questions/185773/does-windows-7-support-utc-as-bios-time

  • Set Linux to use local time in the BIOS clock

Set the UTC setting in /etc/default/rcS to "no" (on Ubuntu)

Adrian
  • 5,256
1

To avoid this, change time to manually instead of Automatically from the internet

enter image description here

enter image description here

Try this:

Remove/Purge ntp
Remove/Purge ntpdate
Install ntpdate
set UTC=yes in /etc/default/rcS
reboot
sudo ln -f -s /usr/share/zoneinfo/Europe/Helsinki /etc/localtime
Mitch
  • 109,787
0

This question is really old, but the answer that worked for me isn't listed so here it goes:

In the terminal:

timedatectl set-local-rtc 1 --adjust-system-clock

and then to check that it was successful:

timedatectl

It should give you a warning, because it is not preferred. You should see a line that reads RTC in local TZ:yes

Kevin Bowen
  • 20,055
  • 57
  • 82
  • 84
Edgar
  • 1
0

i am not a programmer . i failed in all the above steps. i have a dual boot with ubuntu 16.04 and genuine windows 10 (which is used rarely once in a month)

Here is what i did in windows i disabled setting time and time zone automatically and asked to update from internet.windows date issue got solved but ubuntu showed wrong time when i tried to update automatically from net. then i installed

sudo apt-get install ntp

and time got corrected but was not showing in boot

sudo timedatectl set-ntp on

finally solved that too.

now linux gurus can explain in detail what i did. For those who just want to get things running i feel this will help. I found all these from other questions and solved answers ok. so thanks to all of them again.

i discovered that i have to keep repeating these steps to keep clock healthy. Any help on finding a permanant solution?

Sreehari S
  • 21
  • 6