BIOS date/time reset

biosdate time

After 5 years of heavy use, I noticed that my laptops fan is constantly on, so I decided to change the thermal paste of the cpu. Everything went fine except for some strange reason my laptop keeps on resetting its date/time and sometimes falling behind.

The first thing that came to my mind was to replace the cmos battery, so I did, but it still keeps on resetting when I reboot my computer.
I update the time via ntp after I log in to windows and when I reboot and go into bios the date is "00:00:00 01/01/2009". I fix it in bios and start up windows again but this time windows time is off by 10-20 minutes. It is very strange. I tried a fresh install of windows but it didnt help.

When I set the time in BIOS, shut down the computer and turn it on again after 8-9 hours the time in BIOS is fine but now windows time is messed up.

I know it doesnt make sense but it looks like windows is resetting bios time on every reboot.

Any ideas regarding this will be appreciated

Best Answer

  • Time is kept in CMOS during power down and BIOS operation. Once an operating system boots, it is supposed to read the time from the CMOS and start its own timekeeping using other time sources, like the PIT, HPET, PM, APIC or any other timer it finds suitable.

    It may, also, at boot apply an adjustment to the CMOS clock based on past measurements of its divergence to time obtained from NTP. During runtime, the OS may keep updating the CMOS clock to a current value every 10 or more minutes, or do that on shutdown only.

    The OS also has to handle timezones. Linux by default expects the CMOS clock to be in UTC, whereas Windows expects it to be in the local timezone, including daylight savings.

    All of that may contribute to messing up the CMOS clock.

    However in your case, given that the start of the problems coincides with you disassembling the machine, the most likely reason seems to be somewhere around the CMOS battery. Make sure the polarity is right all the way to the board if there is a cable involved, check the voltage, it should be 3.2-3.3V.

    Check whether the clock is properly advancing while the machine is OFF. Make sure you never boot into Windows and only check in BIOS. Then make sure that the clock is properly advancing when the machine is ON, Windows booted and NTP OFF. Then again with NTP. That should give you enough clues to get to the core of the problem.

  • Related Question