Whenever I boot Linux Mint without an internet connection, the system clock is off by a few hours and corrects itself as soon as Wi‑Fi connects. I dual-boot with Windows, although I have not used Windows for several months. I previously fixed the usual Windows/Linux hardware-clock mismatch, so I am unsure whether that is still relevant.
The laptop is a second-hand Dell Latitude 5320 with an 11th-generation Intel processor, roughly four or five years old. I checked the BIOS clock and adjusted it to within about five seconds, but Linux was still around ten minutes fast at the next boot. The BIOS clock then showed the correct time again. The laptop's main battery has poor health and has died twice, but I have not seen other typical signs of a failing CMOS/RTC battery, such as the clock resetting to a fixed date or boot settings being lost. Running `cat /proc/driver/rtc | grep batt` reports that the battery status is okay. What is the most likely cause, and should I replace the CMOS/RTC battery?
4 Answers
You can inspect the RTC information with `cat /proc/driver/rtc`. Some hardware exposes the backup battery status there, although a reported status of `okay` does not prove the battery is perfectly healthy. A weak RTC battery is inexpensive to replace, but the BIOS clock should also be checked immediately after a cold boot to see whether the hardware clock itself is wrong before Linux starts.
The common cause on a Windows/Linux dual boot is that Windows treats the hardware clock as local time while Linux normally treats it as UTC. Each system can then shift the displayed time by the timezone offset. The fix is to configure both systems to use the same hardware-clock convention, rather than relying on internet synchronization. Since Windows has not been booted recently, this may not fully explain the latest behavior, but it is still worth checking the Linux and Windows time settings.
I already changed the Windows setting because of a previous time difference, and the current problem appears even though Windows has not been used for months.
A dead or weak RTC/CMOS battery usually makes the clock reset to the same old date and time whenever the machine loses power. Since your clock is not returning to a fixed value, that makes a completely dead battery less likely. On a laptop, replacement may also be more involved than swapping a coin cell in a desktop.
That matches what I am seeing: the date and time are not resetting to one specific value.
Because the time is corrected as soon as networking becomes available, Linux is probably correcting a bad or drifting clock through its time-sync service. Check the hardware clock and timezone settings, and compare the BIOS time with Linux immediately after a full shutdown. The laptop’s failing main battery could also affect how it behaves during power loss, but it is separate from the RTC battery and does not by itself prove that the CMOS cell needs replacement.

The RTC check reports `batt_status: okay`, and the BIOS clock is generally within a few seconds, so I am not convinced the backup battery is the main problem.