17

Today, I found my Windows 10 date and time too far ahead by about 26.5 hours. The time zone is fine, and I corrected the problem by clicking on a "Sync" button to sync with a Microsoft server.

Googling indicates that the problem might be caused by a dying CMOS battery. This page describes a number of ways to check the BIOS battery from "System Information". I don't see any of the things described, including:

  • A "Batteries" entry under "Components"
  • A BIOS section under "System Information"
  • A "Battery" section under "System Information"

Below, I capture a screen shot of what I actually see instead.

My next step is to reboot and go into the BIOS, but I really don't like doing that because it is a very foreign environment in which I can mess things up.

Can the CMOS battery actually be checked when Windows 10 is operating, or is this old functionality that has been removed from modern versions of Windows 10?

enter image description here

user2153235
  • 1,543

8 Answers8

36

The battery cannot be checked from anywhere. I have yet to encounter a PC that would offer a voltage reading on the CMOS battery.

It is highly likely the article you link is low-quality blog-spam, possibly even generated by ChatGPT.

user219095
  • 65,551
20

You can check a reading of the battery voltage with HWiNFO: https://www.hwinfo.com/

Here's an example of it, from my motherboard:

Screenshot of VBAT

My MSI B450 Tomahawk Max uses the chip Nuvoton NCT6797D, which can provide this information.
In the linked manual, you can search for it on page 129.


I can't vouch by the accuracy of it, but, it should be in the ballpark.
You should check that it is at about 3.3 volts.

Those batteries last about 5-10 years, from my personal experience.
If your PC is around that age, you might want to think about replacing it, even if the reading is "good".

Keep in mind that some laptops use the charge of your battery as the CMOS battery, to keep things running.
If you discharge the battery entirely, you might see that the time was lost or is wrong.
Before considering to attempt to open the laptop to check/change the battery, you might want to check if it even has a battery, in the laptop manual.

4

As you did not tell at which date in the past your clock showed the correct time I recommend you checking the drift of your clock before touching your mainboard CMOS battery.

Here in the middle of Europe you could visually compare your computer time with

https://uhr.ptb.de/

If you notice excessive drift you could replace the CMOS battery to exclude it as a possible source of drift.

Before doing so check if your BIOS supports backing up all its settings. If not, take a note of every setting manually.

Use quality batteries for replacement such as Varta, Renata, Panasonic, Sony or other well-known brands.

A new CR2032 (often used in mainboards) comes with a voltage of roughly 3,3V. Replace the battery, boot the computer, load default settings and save them. Shut down the computer and restart. Any previous "CMOS checksum error" should be gone now.

If your clocks runs at the right speed after battery replacement have a look at the voltage of your old battery. That gives you a rough idea about the voltage at which your machine fails.

Although there is a low voltage value used to stop testing when measuring the capacity of a new battery, capacity figures are not necessary helpful as your computer and every other battery-powered device* can stop working or fail above, at and below such a testing voltage.

*When shutting down your computer, its CMOS storage becomes a "battery powered device"!

Added 12.11.2023 19:34 MEZ:

dealing with contact issues

There is another issue to be excluded: Contact issues, creating an additional unwanted electrical resistance.

You could overcome this by using sprays like "Teslanol® T6-OSZILLIN Kontakt- und Tunerspray" but there is a mechanical solution as well. Using a "rust eraser" which is a pencil with glas fiber inserts. Rubbing the pen tip over surfaces can remove oxid layers.

r2d3
  • 4,050
2

BIOS Applications to read BIOS variables are not all that common.

Best, I think, is simply to restart in BIOS and check there. I do not think CMOS battery capacity availability is there. Battery capacity is not in BIOS on my Lenovo laptops. So, most likely, that information is not generally available across common computer types in BIOS settings.

BIOS Battery information is not available in MSInfo (System Information) so far as I can see.

Do not make any changes to your BIOS - you modifying the BIOS will not change anything to aid you, but modifying BIOS might hurt you if you modify the wrong thing.

You will need to remove the CMOS battery and check if there is any voltage with a digital meter. A DMM (Digital MultiMeter) cannot do a capacity (current) check - just voltage. You can try a traditional meter that may apply a small load to help determine if the cell has any power at all. I use this method to determine if a cell / battery has any useful power.

2

Your question as written asks about checking the CMOS battery, but as intended is really about your system jumping ahead 26.5 hours. It's a bit of a leap, but look into Windows Secure Time Seeding as a potential cause of your time jump. STS is a mechanism Windows uses to derive system time from SSL/TLS traffic, but it's questionably accurate and getting less accurate as time goes on.

From page 2 of a detailed ArsTechnica article about the issue:

To determine the current time, STS pulls a set of metadata contained in the SSL handshake. Specifically, the data is:

  • ServerUnixTime, a date and time representation showing the number of seconds that have elapsed since 00:00:00 UTC on January 1, 1970
  • Cryptographically signed data obtained from the remote server’s SSL certificate showing whether it has been revoked under a mechanism knowns as the Online Certificate Status Protocol.

The problem is that there's no guarantee ServerUnixTime is accurate, and indeed some SSL implementations return a random value instead of a timestamp. Under the right conditions, Windows interprets garbage ServerUnixTime values as the system time, with interesting results.

If the time jump becomes a recurring issue, Microsoft's blog post introducing STS has instructions for disabling it:

If you would rather trust your system clock than time data generated from your SSL traffic and want to forgo any benefit this feature gives you, we got your back. Set the following registry value to 0 and reboot your machine and the Secure Time Seeding feature will be disabled. (Standard warning about exercising care while modifying registry applies here).

Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Value Name: UtilizeSslTimeData

Value Type: REG_DWORD

For completeness, the blog post also has instructions to re-enable STS:

Just set the above registry value to 1 and reboot your machine. Please remember that W32time service must also be enabled (“Set Time Automatically” setting in the Date-Time UI). (Standard warning about exercising care while modifying registry applies here as well).

If this is the issue, this thread is a semi-duplicate of https://serverfault.com/questions/1129979/windows-server-2022-time-service-jumping-into-the-future , and the accepted answer on that thread has excellent technical information about the issue. What makes this thread unique is that most of the STS writeups I've seen focus on Windows Server since server issues tend to be more visible, but the Microsoft blog post I linked earlier indicates Windows Client uses STS as well.

This feature was first introduced in Windows 10 Client November release (November 2015 release). It is available in both Windows Server 2016 and Windows 10 Client Anniversary releases. The feature is turned on by default in all these versions of the OS.

cf-
  • 121
0

What is your computer model? Batteries wouldn't appear for a desktop, and even for a laptop they don't include data about the CMOS battery.

CMOS battery testing requires hardware support on the motherboard and software support in the BIOS and is pretty rare. It's found more in enthusiast-quality motherboards in custom-built computers.

Even using a multimeter to check the CMOS battery for the flat coin-shaped lithium cells is unreliable and requires special battery-testing devices.

I suggest taking the computer to be serviced by a professional. Replacing the CMOS battery shouldn't cost very much.

harrymc
  • 498,455
0

There’s probably no way to get this information without completely removing the battery from your system and checking it using specialized battery testing hardware.

It’s theoretically possible for the baseboard to be designed so that a sensor is set up to check this. I’ve actually seen systems that do this, but they were almost all servers or embedded systems. It’s pretty rare on consumer hardware, especially laptops, for a couple of reasons:

  • While the system has external power, the battery is usually not actually used. This significantly lengthens the practical life expectancy of it beyond the roughly three years it would take most good batteries to fully discharge.
  • On many modern systems, the battery is, in fact, rechargeable, and the system will recharge it while it’s powered on. This means that that three year mark essentially gets reset every time you use the system, and thus the actual life expectancy is a function of when the battery wears out and can’t be effectively recharged anymore.
  • Because of the two above factors, most of these batteries actually far outlast most of the rest of the system they’re in. In fact, despite working in IT for over a decade and dealing with a surprising amount of old hardware, I’ve only ever run into dead backup batteries three times, and two of those three times involved non-PC systems with questionable engineering around the batteries (both were Sun SPARCStation systems older than me).

But things are more complicated than that.

First off, because of that second point, most systems that do provide this information just give a simple good/dying/dead indication for the battery, not some actual measure of life expectancy (because there’s no good way to calculate this), and definitely not an actual charge level (because that wouldn’t make sense in 99% of cases for such a design).

Secondly, there’s no standard for how sensor chips get wired up and there’s not really any way for the OS to query that information either. So even if your system does have things wired this way, the only way you can know is if the firmware presents such information, or you do a lot of research to figure out exactly how the baseboard is wired.

-2

Building on John's answer:

You will need to remove the CMOS battery and check if there is any voltage with a digital meter. A DMM (Digital MultiMeter) cannot do a capacity check - just voltage. Be aware that batteries can be dead around their name's voltage (e.g., a 12V battery can be dead at 11.9 Volts). Here, by "dead" I mean "insufficient charge", not "insufficient capacity".

After reading several articles online, it appears that there is no cheap and significantly accurate way to test battery capacity. Capacity voltage is not the same as charge voltage. Battery Capacity disappears after using (i.e., not throwing away) the battery and cannot be easily restored (refilling the electrolyte may help, but that's impossible in your case). Battery Capacity is the maximum charge (i.e., maximum energy) (not voltage) the battery can hold. Battery Charge can be restored by, surprise, charging the battery (like your car's battery or rechargeable batteries for portable flashlights or your laptop's battery).

So, for making sure the CMOS isn't the issue, it would be best to

  1. Make sure your date is being faulty,
  2. If the date's incorrect, safely (be wary about contacting other exposed-metal components like heat sinks or capacitors) take out the CMOS battery,
  3. Then measure the CMOS battery's voltage (using the DMM) and write it down somewhere you can access it in the future,
  4. Find the rated voltage and brand of that specific CMOS battery and write them alongside the failure voltage you just measured. This will allow you to compare failure voltages, should the date or CMOS battery fail again. Of course, it's just correlation, but it's better than no info at all.
  5. Replace the probably-failed CMOS battery with a new CMOS battery of the same output voltage as what the manufacturer supplied. Document the new CMOS battery's installation date and the failure date of the old one. It will be interesting to see whether they fail after roughly the same time period of use, or whether something else may have been wrong (not the CMOS battery).

If you feel like your hands are too unsteady or large to safely extract the old CMOS battery and replace it, just take your computer to a reputable computer repair shop and tell them your situation, and that you think the CMOS battery should be replaced as a first step. They may offer you advice on what they think should be done. Ask them if you can watch them do it so you know what the process will entail and how long it should take, should you need to replace the CMOS battery again in the future.

Toto
  • 19,304
Stev
  • 5
  • 3